本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

超低功耗的家庭自动化系统
发布时间:2021-05-15
分享到:
超低功耗的家庭自动化系统
发布时间:2021-05-15
分享到:

本文主要讲述如何构建低功耗的家庭自动化系统。使用树莓派作为系统的中央WiFi设备,使用IOT Cricket(边缘事物)来制作电池进行供电并将其直接连接在树莓派上,无需编写任何代码。

该系统基于MQTT通信协议,该协议已在大多数家庭自动化系统中广泛采用。为对其进行设置,选择了Mosquitto MQTT代理(服务器)并将其安装在树莓派(中央WiFi设备)上。IOT Cricket附带HTTP(S)和MQTT协议支持,将其MQTT直接与树莓派的MQTT代理进行通信。

MQTT:MQTT协议提供了一种使用发布/订阅模型执行消息传递的轻量级方法。这使其适用于物联网消息传递(例如低功率传感器)或移动设备(例如电话,嵌入式计算机或微控制器)。MQTT的最典型用途是拥有一台中央服务器,设备可以在该中央服务器上 订阅 和 发布 消息。它促进了连接到该服务器的设备之间的所有通信。

硬件组件:

 

设计步骤:

步骤一:在树莓派上安装MQTT代理

对于该项目,使用开源Mosquitto MQTT协议。它轻巧,适合在从低功耗单板计算机到完整服务器的所有设备上使用。

  1. 在开始安装之前,需更新系统组件:$ sudo apt-get update;$ sudo apt-get upgrade
  2. 安装Mosquitto代理。打开一个终端并输入以下命令:$ sudo apt-get install mosquitto -y
  3. 配置Mosquitto代理。编辑配置文件:$ sudo vi /etc/mosquitto/mosquitto.conf
  4. 在顶部添加以下几行:port 1883allow_anonymous true
  5. 重新启动树莓派以应用更改:$ sudo reboot
  6. 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 
...

外文原文:点击进入
声明:本文由Hackaday授权电路城翻译,系电路城的原创内容,转载请注明出处!

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论