用树莓派做一些有趣的家庭物联网项目

米尔·h·s·Quadri著

386

对于初露头角的程序员来说,物联网项目可能是有趣的,也是很好的学习经验。由于疫情,我们大多数人仍然困在家里。这是一个很好的机会,可以深入一些DIY项目,以提高我们的编程和技术技能。在本文中,我们将介绍一些有用的物联网项目,它们很有趣,可以在舒适的家中使用树莓派以及几乎每个人都拥有的工具和小工具来完成。

物联网(IoT)是指通过互联网连接的设备,能够相互通信或发送数据。物联网是一个非常广泛的领域,其能力是无限的。

采用和实施物联网技术需要一系列技能,而这些技能中的大多数都很难获得,因为该技术仍在不断成熟,存在很多漏洞。话虽如此,对于任何技术爱好者,特别是程序员来说,学习如何使用物联网完成简单的DIY项目是一个很好的起点。

覆盆子π

树莓派是一种小型、低成本的计算机,除了其他功能外,它还可以用于DIY (DIY)物联网项目。这是一款即插即用的电脑,它有一个叫做Raspbian的开源操作系统,是一款Linux. 它最初是为了帮助学校的孩子们以低成本学习编程的基础知识。

然而,从那时起,树莓派就成为了世界各地许多开源和物联网爱好者的最爱,他们将这款设备的功能和可用性推向了极致。补充说,覆盆子π也有一个巨大和活跃的在线社区,帮助回答你的问题和提供支持。

因此,无需更多的麻烦,让我们开始讨论三个不同的充满乐趣和有用的DIY项目,你今天可以在家里舒适地做,只需使用树莓Pi和其他大多数人通常拥有的简单工具和小工具。

Domoticz

Domoticz是一个家庭自动化系统,可以让您监控和配置各种设备,如灯、开关和其他传感器和仪表。通过使用它,您可以轻松地管理您的家庭设备与您的移动电话。Domoticz可以安装在树莓派上使用。让我们看看这是如何做到的。

你需要的东西

  • 电源和电源
  • MicroSD卡
  • 覆盆子π
  • 以太网电缆
  • 麦克风

笔记

在静态IP地址上设置树莓。

(i)执行以下命令升级树莓派上的所有包:

sudo apt更新
sudo-apt升级

(ii)通过从其网站运行安装脚本,在Raspberry Pi中安装Domoticz。运行以下命令:

curl -L https://install.domoticz.com | bash

脚本运行完成后,按Enter键。

然后,您将选择希望Domoticz操作的服务。对于本教程,我们将保留HTTP和HTTPS。但是有些人宁愿禁用HTTP,这样他们就可以使用更安全的HTTPS。按Enter继续。

选择要在其上运行HTTP的端口,尽管这通常默认为8080;所以只要按回车键。并对HTTPS端口执行相同的操作,默认情况下为443。

(iii)选择Domoticz安装文件夹,默认情况下,该文件夹通常是主文件夹。按回车键。

(iv)安装过程至此完成,将显示两个IP地址,请注意。按“Enter”,完成安装过程。

Domoticz Web界面的配置。获取我们分配给树莓派的静态IP地址。通过Web浏览器,运行:

http://[IPADDRESS]:8080

在IP地址处,使用静态Raspberry IP地址。

现在您可以访问Domoticz Web界面,并可以监视各种已连接的家用电器。

树莓皮蓝牙扬声器

如果你没有合适的软件工具,这个项目会有点困难;正是出于这个原因,我们将使用Balena图像(balenaSound),这将简化我们的工作。这可以启用蓝牙和Spotify的音频,以及其他同步音频。

你需要的东西

  • 电源和电源
  • MicroSD卡
  • 覆盆子π
  • 以太网电缆
  • 蓝牙适配器(如果没有的话)

设置步骤

下载balenaSound图像与蓝牙使用。你必须有一个Balena账户才能继续。

(i)使用Balena Web界面创建应用程序。

(ii)在出现的屏幕上,选择默认设备类型,并选择您将用作默认设备的树莓派。之后,单击Create和deploy。

(iii)在使用已部署的设备进入的页面上,单击添加设备以添加蓝牙扬声器软件,因为它不在列表中。

(iv)会出现一个弹出窗口,允许您为您在(iii)中添加的设备创建balenaOS图像。选择设备类型;然后选择要使用的balenaOS映像版本。为此目的,我们选择Production选项。另一个选项是Development选项,但它用于故障排除。

使用Wi-Fi,点击“网络连接”下的切换;但您还必须指定其SSID和密码短语。

(v) 现在下载balenaOS。

添加balenaOS到你的树莓派

要将balenaOS添加到您的Raspberry Pi,我们将使用蚀刻工具将balenaSound图像写入Raspberry Pi的SD卡。

(i)在蚀刻软件中,单击“选择图像”选项。从出现的文件对话框中,选择要写入树莓SD卡的balenaSound图像。

(ii)选择要将图像写入的图像。

(iii)单击Flash将其写入SD卡。请注意,您选择的驱动器将被擦除。
完成后,您现在可以将驱动器插入树莓派运行。

在Balena上检查你的树莓蓝牙扬声器的状态

(i) 转到Balena仪表板页面,然后单击balenaSound应用程序。

(ii)将会出现一个显示在此应用程序上运行的设备的列表,从中您可以查看您的设备的状态。

(iii)在服务部分,您可以看到蓝牙音频服务、Spotify和Airplay。

从该界面,您可以通过启动、重新启动或停止等操作来控制服务。

连接你的树莓蓝牙扬声器

使用扬声器播放音乐有三种方法:蓝牙、Airplay和Spotify连接。

通过蓝牙。扫描可用的Raspberry Pi蓝牙扬声器。选择一个显示为balenaSound且具有唯一ID的。通过此选项,您可以通过Raspberry Pi播放手机中的音乐。

通过播送。BalenaSound内置支持Apple AirPlay。它用于通过网络将音乐从一个设备发送到另一个设备。从AirPlay设备列表中找到balenaSound AirPlay,给定它后面跟着一个唯一的ID。

通过Spotify连接。按照与上述蓝牙相同的步骤,查找具有唯一标识符的balenaSound并选择它。

在Twitter新应用页面上填写凭据
图1:在Twitter新应用页面填写凭据

树莓派推特机器人

第三个项目是一个使用Python作为编程语言构建的简单Twitter机器人。下面的示例将演示如何在实现Twython的同时编写脚本。

你需要的东西

  • MicroSD卡
  • 树莓皮2/3
  • 电力供应
  • 以太网电缆

设置步骤

1.注册一个Twitter应用程序。为了使用Twitter API,你首先必须注册一个Twitter应用程序帐户。这将允许您使用REST接口,然后允许您与Twitter交互。注册后,进入Twitter新应用页面,设置你想要的名称、描述和网站,然后进入创建你的Twitter应用。

2.在接下来要访问的页面上,单击Keys和Access Tokens选项卡。而在这里,复制消费者密钥(API密钥)和消费者秘密(API秘密);这些将用于连接到Twitter API。忽略其他字段,因为它们是不必要的;然后点击创建我的访问令牌按钮。

3.页面将刷新,之后您应该在页面底部同时获取Access令牌和Access token Secret值。

4.设置和编写树莓派的推特机器人。

(i)通过运行以下命令确保Raspberry是最新的:

sudo apt-get更新
sudo apt-get升级

(ii)安装所需的工具,使树莓派Twitter Bot能够运行。如前所述,我们将使用Twython包与Twitter API进行交互。执行如下命令:

安装python-setuptools
sudo easy_install皮普
Sudo PIP安装twython

(iii)在安装了上面的Twython包之后,创建一个目录来存储脚本。执行如下命令:

mkdir ~ / twitterbot
cd ~ / twitterbot
sudo nano TwitterBot.py

(iv)现在编写最后一段代码并运行它:

import sys from twython

定义我们的常量变量,这是我们在教程的第一部分中写下的所有数据。
消费者密钥=“*******************您的数据********************”
CONSUMER_SECRET = ‘*************** 你的数据 *****************’
ACCESS_KEY='****************您的数据***********************'
ACCESS_SECRET = ‘*************** 你的数据 *****************’

#创建一个Twython对象的副本,使用我们所有的密钥和秘密,以允许简单的命令。
api = Twython(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET)

#使用我们新创建的对象,利用update_status发送通过CMD传入的文本
api.update_status(状态= sys.argv [1])

将上面的CONSUMER_KEY、CONSUMER_SECRET、ACCESS_KEY和ACCESS_SECRET的值替换为前面得到的值。上面的代码允许在Twitter上进行交流和书写文本。通过按Ctrl+X和Y保存并归档代码,然后按Enter。

(v)使上述脚本可执行,以允许将文本作为参数传递给Python文件。运行:

sudo chmod+x TwitterBot.py

(vi)您现在可以通过运行以下命令并检查您的Twitter帐户来测试Twitter Bot,查看tweet是否已发送:

"这是一个测试
来自Pimylips推特机器人的推特”

添加访问令牌和访问令牌密钥
图2:添加接入令牌和接入令牌密钥

在这篇文章中,我们看了三个有用的DIY项目,它们也很有趣,可以在家里轻松完成。我分享这些项目的目的只是想让你接触到树莓派的无数应用。希望这些项目能成为大家在物联网领域走向更有趣、更有趣的项目的良好切入点。


本文首次发表于2020年9月号的《开源供你》

Mir H.S. Quadri是人工智能和机器学习领域的学者和研究人员。他曾参与多个使用各种框架的项目。他也是自由/开源软件的狂热爱好者,并积极地为几个开源项目做出贡献

2的评论

分享你的想法和评论

请输入您的评论!
请在这里输入你的名字