Ben Nuttall 发布的文章

常用开源工具的省时快捷方式。

我经常使用 SSH。我发现自己每天都要登录多个服务器和树莓派(与我位于同一房间,并接入互联网)。我有许多设备需要访问,并且获得访问权限的要求也不同,因此,除了使用各种 ssh / scp 命令选项之外,我还必须维护一个包含所有连接详细信息的配置文件。

随着时间的推移,我发现了一些省时的技巧和工具,你可能也会发现它们有用。

SSH 密钥

SSH 密钥是一种在不使用密码的情况下认证 SSH 连接的方法,可以用来加快访问速度或作为一种安全措施(如果你关闭了密码访问权限并确保仅允许授权的密钥)。要创建 SSH 密钥,请运行以下命令:

$ ssh-keygen

这将在 ~/.ssh/ 中创建一个密钥对(公钥和私钥)。将私钥(id_rsa)保留在 PC 上,切勿共享。你可以与其他人共享公钥(id_rsa.pub)或将其放置在其他服务器上。

ssh-copy-id

如果我在家中或公司工作时使用树莓派,则倾向于将 SSH 设置保留为默认设置,因为我不担心内部信任网络上的安全性,并且通常将 SSH 密钥(公钥)复制到树莓派上,以避免每次都使用密码进行身份验证。为此,我使用 ssh-copy-id 命令将其复制到树莓派。这会自动将你的密钥(公钥)添加到树莓派:

$ ssh-copy-id [email protected]

在生产服务器上,我倾向于关闭密码身份验证,仅允许授权的 SSH 密钥登录。

ssh-import-id

另一个类似的工具是 ssh-import-id。你可以使用此方法通过从 GitHub 导入密钥来授予你自己(或其他人)对计算机或服务器的访问权限。例如,我已经在我的 GitHub 帐户中注册了各个 SSH 密钥,因此无需密码即可推送到 GitHub。这些公钥是有效的,因此 ssh-import-id 可以使用它们在我的任何计算机上授权我:

$ ssh-import-id gh:bennuttall

我还可以使用它来授予其他人访问服务器的权限,而无需询问他们的密钥:

$ ssh-import-id gh:waveform80

storm

我还使用了名为 Storm 的工具,该工具可帮助你将 SSH 连接添加到 SSH 配置中,因此你不必记住这些连接细节信息。你可以使用 pip 安装它:

$ sudo pip3 install stormssh

然后,你可以使用以下命令将 SSH 连接信息添加到配置中:

$ storm add pi3 [email protected]

然后,你可以只使用 ssh pi3 来获得访问权限。类似的还有 scp file.txt pi3:sshfs pi pi3:

你还可以使用更多的 SSH 选项,例如端口号:

$ storm add pi3 [email protected]:2000

你可以参考 Storm 的文档轻松列出、搜索和编辑已保存的连接。Storm 实际所做的只是管理 SSH 配置文件 ~/.ssh/config 中的项目。一旦了解了它们是如何存储的,你就可以选择手动编辑它们。配置中的示例连接如下所示:

Host pi3
   user pi
   hostname 192.168.1.20
   port 22

结论

从树莓派到大型的云基础设施,SSH 是系统管理的重要工具。熟悉密钥管理会很方便。你还有其他 SSH 技巧要添加吗?我希望你在评论中分享他们。


via: https://opensource.com/article/20/2/ssh-tools

作者:Ben Nuttall 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Byobu 能让你在保持会话活跃的情况下维护多个终端窗口,通过 SSH 连接、断开、重连以及共享访问。

Byobu 是基于文本的窗口管理器和终端多路复用器。它类似于 GNU Screen,但更现代、更直观。它还适用于大多数 Linux、BSD 和 Mac 发行版。

Byobu 能让你在保持会话活跃的情况下维护多个终端窗口、通过 SSH(secure shell)连接、断开、重连,甚至让其他人访问。

比如,你 SSH 进入树莓派或服务器,并运行(比如) sudo apt update && sudo apt upgrade,然后你在它运行的时候失去了互联网连接,你的命令会丢失无效。然而,如果你首先启动 byobu 会话,那么它会继续运行,在你重连后,你会发现它仍在继续运行。

 title=

Byobu 名称来自于日语的装饰性多面板屏风,它可作为折叠式隔断,我认为这很合适。

要在 Debian/Raspbian/Ubuntu 上安装 byobu:

sudo apt install byobu

接着启用它:

byobu-enable

现在,请退出 SSH 会话并重新登录,你将会在 byobu 会话中登录。运行类似 sudo apt update 命令并关闭窗口(或输入转义序列(Enter + ~ + .)并重新登录。你将看到更新命令在你离开后还在运行。

很多我不常使用的功能。我通常使用的是:

  • F2 – 新窗口
  • F3/F4 – 在窗口间导航
  • Ctrl+F2 – 垂直拆分窗格
  • Shift+F2 – 水平拆分窗格
  • Shift+左箭头/Shift+右箭头 – 在拆分窗格间导航
  • Shift+F11 – 放大(或缩小)拆分窗格

我们如何使用 byobu

Byobu 对于维护 piwheels(一个用于树莓派的方便的,预编译 Python 包)很好用。我水平拆分了窗格,在上半部分显示了 piwheels 监视器,在下半部分实时显示了 syslog 条目。接着,如果我们想要做其他事情,我们可以切换到另外一个窗口。当我们进行协作分析时,这特别方便,因为当我在 IRC 中聊天时,我可以看到我的同事 Dave 输入了什么(并纠正他的错字)。

我在家庭和办公服务器上启用了 byobu,因此,当我登录到任何一台计算机时,一切都与我离开时一样。它正在运行多个作业、在特定目录中保留一个窗口,以另一个用户身份运行进程等。

 title=

Byobu 对于在树莓派上进行开发也很方便。你可以在桌面上启动它,运行命令,然后 SSH 进入,并连接到该命令运行所在的会话。请注意,启用 byobu 不会更改终端启动器的功能。只需运行 byobu 即可启动它。

本文最初发表在 Ben Nuttall 的 Tooling blog 中,并获许重用。


via: https://opensource.com/article/20/2/byobu-ssh

作者:Ben Nuttall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

用这三个开源工具检查你的互联网和局域网速度。

能够验证网络连接速度使您可以控制计算机。 使您可以在命令行中检查互联网和网络速度的三个开源工具是 Speedtest、Fast 和 iPerf。

Speedtest

Speedtest 是一个旧宠。它用 Python 实现,并打包在 Apt 中,也可用 pip 安装。你可以将它作为命令行工具或在 Python 脚本中使用。

使用以下命令安装:

sudo apt install speedtest-cli

或者

sudo pip3 install speedtest-cli

然后使用命令 speedtest 运行它:

$ speedtest
Retrieving speedtest.net configuration...
Testing from CenturyLink (65.128.194.58)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by CenturyLink (Cambridge, UK) [20.49 km]: 31.566 ms
Testing download speed................................................................................
Download: 68.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 10.93 Mbit/s

它给你提供了互联网上传和下载的网速。它快速而且可脚本调用,因此你可以定期运行它,并将输出保存到文件或数据库中,以记录一段时间内的网络速度。

Fast

Fast 是 Netflix 提供的服务。它的网址是 Fast.com,同时它有一个可通过 npm 安装的命令行工具:

npm install --global fast-cli

网站和命令行程序都提供了相同的基本界面:它是一个尽可能简单的速度测试:

$ fast

     82 Mbps ↓

该命令返回你的网络下载速度。要获取上传速度,请使用 -u 标志:

$ fast -u

   ⠧ 80 Mbps ↓ / 8.2 Mbps ↑

iPerf

iPerf 测试的是局域网速度(而不是像前两个工具一样测试互联网速度)的好方法。Debian、Raspbian 和 Ubuntu 用户可以使用 apt 安装它:

sudo apt install iperf

它还可用于 Mac 和 Windows。

安装完成后,你需要在同一网络上的两台计算机上使用它(两台都必须安装 iPerf)。指定其中一台作为服务器。

获取服务端计算机的 IP 地址:

ip addr show | grep inet.*brd

你的本地 IP 地址(假设为 IPv4 本地网络)以 192.16810 开头。记下 IP 地址,以便可以在另一台计算机(指定为客户端的计算机)上使用它。

在服务端启动 iperf

iperf -s

它会等待来自客户端的传入连接。将另一台计算机作为为客户端并运行此命令,将示例中的 IP 替换为服务端计算机的 IP:

iperf -c 192.168.1.2

 title=

只需几秒钟即可完成测试,然后返回传输大小和计算出的带宽。我使用家用服务器作为服务端,在 PC 和笔记本电脑上进行了一些测试。我最近在房屋周围安装了六类线以太网,因此我的有线连接速度达到 1Gbps,但 WiFi 连接速度却低得多。

你可能注意到它记录到 16Gbps。那是我使用服务器进行自我测试,因此它只是在测试写入磁盘的速度。该服务器具有仅 16 Gbps 的硬盘驱动器,但是我的台式机有 46Gbps,另外我的(较新的)笔记本超过了 60Gbps,因为它们都有固态硬盘。

 title=

总结

通过这些工具来了解你的网络速度是一项非常简单的任务。如果你更喜欢脚本或者在命令行中运行,上面的任何一个都能满足你。如果你要了解点对点的指标,iPerf 能满足你。

你还使用其他哪些工具来衡量家庭网络?在评论中分享你的评论。

本文最初发表在 Ben Nuttall 的 Tooling blog 上,并获准在此使用。


via: https://opensource.com/article/20/1/internet-speed-tests

作者:Ben Nuttall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

通过为树莓派提供预编译的 Python 包,piwheels 项目为用户节省了大量的时间和精力。

 title=

piwheels 自动为 Python 包索引 PiPi 上的所有项目构建 Python wheels(预编译的 Python包),并使用了树莓派硬件以确保其兼容性。这意味着,当树莓派用户想要使用 pip 安装一个 Python 库时,他们会得到一个现成编译好的版本,并保证可以在树莓派上良好的工作。这使得树莓派用户更容易入门并开始他们的项目。

 title=

当我在 2018 年 10 月写 piwheels:为树莓派提供快速 Python 包安装时,那时 piwheels 项目已经有一年了,并且已经证明了其为树莓派用户节省大量时间和精力。但当这个项目进入第二年时,它为树莓派提供了预编译的 Python 包做了更多工作。

 title=

它是怎么工作的

树莓派的主要操作系统 Raspbian 预配置使用了 piwheels,所以用户不需要做任何特殊的事情就可以使用 piwheels。

配置文件(在 /etc/pip.conf)告诉 pip 使用 piwheels.org附加索引,因此 pip 会首先查找 PyPI,然后查找 piwheels。piwheels 的网站被托管在一个树莓派 3 上,该项目构建的所有 wheels 都托管在该树莓派上。它每月提供 100 多万个软件包——这对于一台 35 美元的电脑来说还真不赖!

除了提供网站服务的主树莓派以外,piwheels 项目还使用其他七个树莓派来构建软件包。其中一些运行 Raspbian Jessie,为 Python 3.4 构建 wheels;另外一些运行 Raspbian Stretch 为 Python 3.5 构建;还有一些运行 Raspbian Buster 为 Python 3.7 构建。该项目通常不支持其他 Python 版本。还有一个“合适的服务器”——一台运行 Postgres 数据库的虚拟机。由于树莓派 3 只有 1GB 的内存,所以(非常大的)数据库不能在其上很好地运行,所以我们把它移到了虚拟机上。带 4GB 内存的树莓派 4 可能是合用的,所以我们将来可能会用到它。

这些树莓派都在“派云”中的 IPv6 网络上——这是一项由总部位于剑桥的托管公司 Mythic Beasts 提供的卓越服务。

 title=

下载和统计趋势

每次下载 piwheels 文件时,它都会记录在数据库中。这提供了对什么包最受欢迎以及人们使用什么 Python 版本和操作系统的统计。我们没有太多来自用户代理的信息,但是因为树莓派 1/Zero 的架构显示为 “armv6”,树莓派 2/¾ 显示为 “armv7”,所以我们可以将它们区分开来。

截至 2019 年 12 月中旬,从 piwheels 下载的软件包超过 1400 万个,仅 2019 年就有近 900 万个。

自项目开始以来最受欢迎的 10 个软件包是:

  1. pycparser(821,060 个下载)
  2. PyYAML(366,979 个下载)
  3. numpy(354,531 个下载)
  4. cffi(336,982 个下载)
  5. MarkupSafe(318,878 个下载)
  6. future(282,349 个下载)
  7. aiohttp(277,046 个下载)
  8. cryptography(276,167 个下载)
  9. home-assistant-frontend(266,667 个下载)
  10. multidict(256,185 个下载)

请注意,许多纯 Python 包,如 urllib3,都是作为 PyPI 上的 wheels 提供的;因为这些是跨平台兼容的,所以通常不会从 piwheels 下载,因为 PyPI 优先。

随着时间的推移,我们也看到了使用哪些 Python 版本的趋势。这里显示了 Raspbian Buster 发布时从 3.5 版快速升级到了 Python 3.7:

 title=

你可以在我们的这篇 统计博文 看到更多的统计趋势。

节省的时间

每个包构建都被记录在数据库中,并且每个下载也被存储。交叉引用下载数和构建时间显示了节省了多少时间。一个例子是 numpy —— 最新版本大约需要 11 分钟来构建。

迄今为止,piwheels 项目已经为用户节省了总计超过 165 年的构建时间。按照目前的使用率,piwheels 项目每天可以节省 200 多天。

除了节省构建时间,拥有预编译的 wheels 也意味着人们不必安装各种开发工具来构建包。一些包需要其他 apt 包来访问共享库。弄清楚你需要哪一个可能会很痛苦,所以我们也让这一步变得容易了。首先,我们找到了这个过程,在博客上记录了这个过程。然后,我们将这个逻辑添加到构建过程中,这样当构建一个 wheels 时,它的依赖关系会被自动计算并添加到包的项目页面中:

 title=

piwheels 的下一步是什么?

今年,我们推出了项目页面(例如,numpy),这是一种非常有用的方式,可以让人们以人类可读的方式查找项目信息。它们还使人们更容易报告问题,例如 piwheels 中缺少一个项目,或者他们下载的包有问题。

2020 年初,我们计划对 piwheels 项目进行一些升级,以启用新的 JSON 应用编程接口,这样你就可以自动检查哪些版本可用,查找项目的依赖关系,等等。

下一次 Debian/Raspbian 升级要到 2021 年年中才会发生,所以在那之前我们不会开始为任何新的 Python 版本构建 wheels。

你可以在这个项目的博客上读到更多关于 piwheels 的信息,我将在 2020 年初在那里发表一篇 2019 年的综述。你也可以在推特上关注 @piwheels,在那里你可以看到每日和每月的统计数据以及任何达到的里程碑。

当然,piwheels 是一个开源项目,你可以在 GitHub 上看到整个项目源代码。


via: https://opensource.com/article/20/1/piwheels

作者:Ben Nuttall 选题:lujun9972 译者:heguangzhi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

售价 35 美元起的新一代树莓派单板计算机,装载了 1.5 GHz 的 Arm 芯片,并支持双 HDMI 4K 显示,全吞吐量千兆以太网,以及更多新特性。

 title=

树莓派的最新版本树莓派 4 代,已于近日(北京时间 6 月 24 日)发布,这早于此前预期。树莓派 4 装载了 1.5 GHz 的 Arm 芯片和 VideoCore GPU,支持双 4K 显示输出,并引入了 USB 3 接口和全吞吐量千兆以太网,以及最高可达 4G 的多个可选 RAM 配置。

 title=

树莓派 4 是非常强大的单板计算机,其起始售价依然是 35 美元。起始版的 RAM 配置为 1G,2G RAM 配置的树莓派售价为 45 美元,顶配 4G RAM 的树莓派售价为 55 美元,采用这种差异化定价对树莓派尚属首次。

树莓派 4 的详细配置如下:

  • 1.5 GHz 4 核心 64 位博通 BCM2711 A72 CPU
  • VideoCore VI GPU
  • 千兆以太网端口
  • 1GB/2GB/4GB LPDDR4 SDRAM 内存
  • 双 Micro-HDMI 接口
  • 两个 USB 3 接口
  • 两个 USB 2 接口
  • 双频(2.4 GHz 和 5 GHz)无线网络
  • 蓝牙 5.0
  • USB Type C 电源接口
  • CSI 摄像头接口
  • DSI 显示接口
  • MicroSD 卡槽
  • PoE(以太网供电)供电针
  • 完全兼容早期的树莓派产品

USB 接口和网络

树莓派 4 板载了更高速率的 USB 3 接口;它通过 Type C 接口供电,并提供两个 USB 3 接口和两个 USB 2 接口。USB 3 接口可以为连接的硬盘和其它外部设备提供更高的速率。

 title=

基于 BCM2835 的树莓派 1 到 3 代的芯片只有一个本地 USB 接口,并且没有以太网接口,因而需要使用板子的 USB 集线器给出更多的 USB 接口和以太网接口。树莓派 3B+ 增加了一个专用的局域网(LAN)芯片,装载了千兆以太网,但它受到 USB 2 速率的限制。树莓派 4 板载了专门的千兆以太网,并且由于它不再受到 USB 速率的限制,网络速度要快得多。

树莓派 4 采用了 3B+ 中已有的技术 —— 该技术使得树莓派 3B+ 成为了第一个带有双频无线网络的单板计算机,即可以同时连接 2.4 GHz 和 5 GHz 频率的网络。

显示

设计第一代树莓派时,其 CPU 和 GPU 性能的平衡大大偏向于 GPU。VideoCore IV 是一个非常强大的图形处理器,支持全高清 1080p 多媒体的处理,这就是为什么树莓派一直作为家庭媒体中心而广受欢迎的原因。树莓派 2 代在某种程度上进行了权衡修改,并将 CPU 的性能进行提升,将树莓派从单核发展成四核 ARM 芯片。而树莓派 4 代将 CPU 和 GPU 的性能都进行了大幅提升。新的 VideoCore VI GPU 支持 4K 视频,并允许通过板子上的两个 Micro HDMI 端口(板子特意保持了和旧有型号相同的尺寸)进行双显示输出,这里要用一个适配器或 Micro HDMI 转 full HDMI 的转换线连接到 HDMI 屏幕。

当你需要同时浏览多个窗口时,需要用到更多的物理显示屏,双显示的好处在此时就得到了绝佳体现。如果你正在编程,你可能会在其中一个屏幕上编写代码,构建网站或应用,而在另一个屏幕上查看数据库、Web 浏览器、电子邮件或其他内容。这是树莓派首次可以不必将开发局限在一台显示器上,从而可以让你在需要时,在不同的屏幕上构建具有不同内容的基于树莓派的项目。

该树莓派还有一个显示器串行接口(DSI),用于驱动另一个特殊的显示-这里并非指另一个监视器本身,而是通过一根挠性电缆连接的官方树莓派触摸屏显示器。

Raspbian Buster

树莓派 4 发布后,紧接着更新了基于 Debian 的系统 Raspbian Buster,而新的树莓派对 OpenGL ES 3 的支持,使我们在 Raspbian Buster 上为树莓派 4 开发任意软件成为可能。Buster 对界面进行了一些调整,并对很多软件进行了升级,其中包括 Python3.7。

 title=

开源图形驱动程序

在过去的五年中,Eric Anholt 一直致力于为树莓派编写开源图形驱动程序。现在,Raspbian 可以使用这个驱动程序加速树莓派上的 Web 浏览、桌面图形和 3D 应用,这取代了以前需要的大量闭源代码。非常感谢 Eric 和博通的贡献。

按之前预计,树莓派 4 将于明年完成,但由于芯片设计比预期更早投入生产,树莓派 4 因而可以提早到现在发布。


树莓派 4 已经开始发售,你会选择哪个型号呢?在评论中说出你的想法吧。


via: https://opensource.com/article/19/6/raspberry-pi-4

作者:Ben Nuttall 选题:lujun9972 译者:wahailin 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

 title=

树莓派 电脑可被用来进行多种设置用于不同的目的。显然它在教育市场帮助学生在教室和创客空间中学习编程与创客技巧方面占有一席之地,它在工作场所和工厂中有大量行业应用。我打算介绍五个你可能想要在你的家中构建的项目。

媒体中心

在家中人们常用树莓派作为媒体中心来服务多媒体文件。它很容易搭建,树莓派提供了大量的 GPU(图形处理单元)运算能力来在大屏电视上渲染你的高清电视节目和电影。将 Kodi(从前的 XBMC)运行在树莓派上是一个很棒的方式,它可以播放你的硬盘或网络存储上的任何媒体。你同样可以安装一个插件来播放 YouTube 视频。

还有几个略微不同的选择,最常见的是 OSMC(开源媒体中心)和 LibreELEC,都是基于 Kodi 的。它们在放映媒体内容方面表现的都非常好,但是 OSMC 有一个更酷炫的用户界面,而 LibreElec 更轻量级。你要做的只是选择一个发行版,下载镜像并安装到一个 SD 卡中(或者仅仅使用 NOOBS),启动,然后就准备好了。

 title=

LibreElec;树莓派基金会, CC BY-SA

 title=

OSMC.tv, 版权所有, 授权使用

在往下走之前,你需要决定使用哪种树莓派。这些发行版在任何树莓派(1、2、3 或 Zero)上都能运行,视频播放在这些树莓派中的任何一个上都能胜任。除了 Pi 3(和 Zero W)有内置 Wi-Fi,唯一可察觉的不同是用户界面的反应速度,在 Pi 3 上更快。Pi 2 也不会慢太多,所以如果你不需要 Wi-Fi 它也是可以的,但是当切换菜单时,你会注意到 Pi 3 比 Pi 1 和 Zero 表现的更好。

SSH 网关

如果你想从外部网络访问你的家庭局域网的电脑和设备,你必须打开这些设备的端口来允许外部访问。在互联网中开放这些端口有安全风险,意味着你总是你总是处于被攻击、滥用或者其他各种未授权访问的风险中。然而,如果你在你的网络中安装一个树莓派,并且设置端口映射来仅允许通过 SSH 访问树莓派,你可以这么用来作为一个安全的网关来跳到网络中的其他树莓派和 PC。

大多数路由允许你配置端口映射规则。你需要给你的树莓派一个固定的内网 IP 地址来设置你的路由器端口 22 映射到你的树莓派端口 22。如果你的网络服务提供商给你提供了一个静态 IP 地址,你能够通过 SSH 和主机的 IP 地址访问(例如,ssh [email protected])。如果你有一个域名,你可以配置一个子域名指向这个 IP 地址,所以你没必要记住它(例如,ssh [email protected])。

然而,如果你不想将树莓派暴露在互联网上,你应该非常小心,不要让你的网络处于危险之中。如果你遵循一些简单的步骤来使它更安全:

  1. 大多数人建议你更换你的登录密码(有道理,默认密码 “raspberry” 是众所周知的),但是这不能阻挡暴力攻击。你可以改变你的密码并添加一个双重验证(所以你需要你的密码一个手机生成的与时间相关的密码),这么做更安全。但是,我相信最好的方法阻止入侵者访问你的树莓派是在你的 SSH 配置中禁止密码认证,这样只能通过 SSH 密匙进入。这意味着任何试图猜测你的密码尝试登录的人都不会成功。只有你的私有密匙可以访问。简单来说,很多人建议将 SSH 端口从默认的 22 换成其他的,但是通过简单的 Nmap 扫描你的 IP 地址,你信任的 SSH 端口就会暴露。
  2. 最好,不要在这个树莓派上运行其他的软件,这样你不会意外暴露其他东西。如果你想要运行其他软件,你最好在网络中的其他树莓派上运行,它们没有暴露在互联网上。确保你经常升级来保证你的包是最新的,尤其是 openssh-server 包,这样你的安全缺陷就被打补丁了。
  3. 安装 sshblackfail2ban 来将任何表露出恶意的用户加入黑名单,例如试图暴力破解你的 SSH 密码。

使树莓派安全后,让它在线,你将可以在世界的任何地方登录你的网络。一旦你登录到你的树莓派,你可以用 SSH 访问本地网络上的局域网地址(例如,192.168.1.31)访问其他设备。如果你在这些设备上有密码,用密码就好了。如果它们同样只允许 SSH 密匙,你需要确保你的密匙通过 SSH 转发,使用 -A 参数:ssh -A [email protected]

CCTV / 宠物相机

另一个很棒的家庭项目是安装一个相机模块来拍照和录视频,录制并保存文件,在内网或者外网中进行流式传输。你想这么做有很多原因,但两个常见的情况是一个家庭安防相机或监控你的宠物。

树莓派相机模块 是一个优秀的配件。它提供全高清的相片和视频,包括很多高级配置,很容易编程红外线相机用于这种目的是非常理想的,通过一个红外线 LED(树莓派可以控制的),你就能够在黑暗中看见东西。

如果你想通过一定频率拍摄静态图片来留意某件事,你可以仅仅写一个简短的 Python 脚本或者使用命令行工具 raspistill, 在 Cron 中规划它多次运行。你可能想将它们保存到 Dropbox 或另一个网络服务,上传到一个网络服务器,你甚至可以创建一个web 应用来显示他们。

如果你想要在内网或外网中流式传输视频,那也相当简单。在 picamera 文档中(在 “web streaming” 章节)有一个简单的 MJPEG(Motion JPEG)例子。简单下载或者拷贝代码到文件中,运行并访问树莓派的 IP 地址的 8000 端口,你会看见你的相机的直播输出。

有一个更高级的流式传输项目 pistreaming 也可以,它通过在网络服务器中用 JSMpeg (一个 JavaScript 视频播放器)和一个用于相机流的单独运行的 websocket。这种方法性能更好,并且和之前的例子一样简单,但是如果要在互联网中流式传输,则需要包含更多代码,并且需要你开放两个端口。

一旦你的网络流建立起来,你可以将你的相机放在你想要的地方。我用一个来观察我的宠物龟:

 title=

Ben Nuttall, CC BY-SA

如果你想控制相机位置,你可以用一个舵机。一个优雅的方案是用 Pimoroni 的 Pan-Tilt HAT,它可以让你简单的在二维方向上移动相机。为了与 pistreaming 集成,可以看看该项目的 pantilthat 分支.

 title=

Pimoroni.com, Copyright, 授权使用

如果你想将你的树莓派放到户外,你将需要一个防水的外围附件,并且需要一种给树莓派供电的方式。POE(通过以太网提供电力)电缆是一个不错的实现方式。

家庭自动化或物联网

现在是 2017 年(LCTT 译注:此文发表时间),到处都有很多物联网设备,尤其是家中。我们的电灯有 Wi-Fi,我们的面包烤箱比过去更智能,我们的茶壶处于俄国攻击的风险中,除非你确保你的设备安全,不然别将没有必要的设备连接到互联网,之后你可以在家中充分的利用物联网设备来完成自动化任务。

市场上有大量你可以购买或订阅的服务,像 Nest Thermostat 或 Philips Hue 电灯泡,允许你通过你的手机控制你的温度或者你的亮度,无论你是否在家。你可以用一个树莓派来催动这些设备的电源,通过一系列规则包括时间甚至是传感器来完成自动交互。用 Philips Hue,你做不到的当你进房间时打开灯光,但是有一个树莓派和一个运动传感器,你可以用 Python API 来打开灯光。类似地,当你在家的时候你可以通过配置你的 Nest 打开加热系统,但是如果你想在房间里至少有两个人时才打开呢?写一些 Python 代码来检查网络中有哪些手机,如果至少有两个,告诉 Nest 来打开加热器。

不用选择集成已存在的物联网设备,你可以用简单的组件来做的更多。一个自制的窃贼警报器,一个自动化的鸡笼门开关,一个夜灯,一个音乐盒,一个定时的加热灯,一个自动化的备份服务器,一个打印服务器,或者任何你能想到的。

Tor 协议和屏蔽广告

Adafruit 的 Onion Pi 是一个 Tor 协议来使你的网络通讯匿名,允许你使用互联网而不用担心窥探者和各种形式的监视。跟随 Adafruit 的指南来设置 Onion Pi,你会找到一个舒服的匿名的浏览体验。

 title=

Onion-pi from Adafruit, Copyright, 授权使用

 title=

可以在你的网络中安装一个树莓派来拦截所有的网络交通并过滤所有广告。简单下载 Pi-hole 软件到 Pi 中,你的网络中的所有设备都将没有广告(甚至屏蔽你的移动设备应用内的广告)。

树莓派在家中有很多用法。你在家里用树莓派来干什么?你想用它干什么?

在下方评论让我们知道。


via: https://opensource.com/article/17/4/5-projects-raspberry-pi-home

作者:Ben Nuttall 选题:lujun9972 译者:warmfrog 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出