极客在线 | DIY超低功耗家庭自动化系统
来源:客服发布时间:2021-05-22639浏览
询问 AI本文主要讲述如何构建低功耗的家庭自动化系统。使用树莓派作为系统的中央WiFi设备,使用IOT Cricket(边缘事物)来制作电池进行供电并将其直接连接在树莓派上,无需编写任何代码。
该系统基于MQTT通信协议,该协议已在大多数家庭自动化系统中广泛采用。为对其进行设置,选择了Mosquitto MQTT代理(服务器)并将其安装在树莓派(中央WiFi设备)上。IOT Cricket附带HTTP(S)和MQTT协议支持,将其MQTT直接与树莓派的MQTT代理进行通信。
MQTT:MQTT协议提供了一种使用发布/订阅模型执行消息传递的轻量级方法。这使其适用于物联网消息传递(例如低功率传感器)或移动设备(例如电话,嵌入式计算机或微控制器)。MQTT的最典型用途是拥有一台中央服务器,设备可以在该中央服务器上 订阅 和 发布 消息。它促进了连接到该服务器的设备之间的所有通信。

硬件组件:
树莓派(此项目中使用的是Ver.3)
IOT Cricket WiFi模块
2个AAA电池座
2节AAA电池

设计步骤:
步骤一:在树莓派上安装MQTT代理
对于该项目,使用开源Mosquitto MQTT协议。它轻巧,适合在从低功耗单板计算机到完整服务器的所有设备上使用。
- 在开始安装之前,需更新系统组件:$ sudo apt-get update;$ sudo apt-get upgrade
- 安装Mosquitto代理。打开一个终端并输入以下命令:$ sudo apt-get install mosquitto -y
- 配置Mosquitto代理。编辑配置文件:$ sudo vi /etc/mosquitto/mosquitto.conf
- 在顶部添加以下几行:port 1883allow_anonymous true
- 重新启动树莓派以应用更改:$ sudo reboot
- MQTT协议启动并运行!
注:为了简化此项目,不创建帐户。因此,本地网络中的任何人都可以在没有凭据的情况下连接到该MQTT代理。
只需要获取IP地址,就可以从网络中的其他设备向Mosquitto代理发送消息,
获取IP地址:$ hostname -I
your_RPi_IP_address(例如192.168.1.10)
步骤二:通过MQTT将IOT Cricket连接到树莓派
在该项目中,将IOT Cricket WiFi模块用于一个简单的传感器,每30秒向系统报告一次温度。它可以依靠电池运行,因此可将其粘贴在家里或花园的任何地方。
之后,可使用IOT Cricket来构建各种电池供电的传感器,警报,按钮,开关,并将它们也直接连接到树莓派MQTT 代理。
第一步,将电池连接至IOT Cricket。

IOT Cricket 带有内置温度传感器。只需将其的配置设为树莓派 IP地址,并将温度值发送给MQTT代理即可。打开Cricket的配置面板(参阅步骤) 并应用以下设置(如下图所示, 请将“ URL”框中的IP地址调整为RPi)

步骤三:检查MQTT消息
要查看/接收发送到MQTT的消息,通过命令行工具 mosquitto_sub。可使用以下命令将其安装在网络中的任何计算机或树莓派上:$ sudo apt-get install mosquitto-clients -y
执行以下命令来查看通过MQTT代理发送的所有主题和消息:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
...
/59A98F494C/device_name MyTemperatureDev
/59A98F494C/device_sn 59A98F494C
/59A98F494C/hwc_wake_up 3794
/59A98F494C/hwc_wifi_enabled 3763
/59A98F494C/hwc_message_sent 3664
/59A98F494C/temp 26.0
/59A98F494C/io1_wake_up 0
/59A98F494C/rtc_wake_up 1
...
这是IOT Cricket 发送的输出示例。在其他数据中,可以看到温度:/ 59A98F494C / temp 26.0
MQTT的优点在于:它可以仅订阅感兴趣的主题。如果只想接收温度,则可以使用以下命令来订阅/ 59A98F494C / temp主题:
$ mosquitto_sub -h your_RPi_IP_address -t'/ 59A98F494C / temp'
...
26.1
26.5
27.2
27.6
...

新闻来源:与非网eefocus,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。

