原文:EasyStart into the World of IoT with MQTT
MQTT是物联网的消息传递协议。在这个例子中,我们展示了如何在没有一行代码的情况下快速启动和运行MQTT!
在这个项目中所需要用到的东西#IoT Octopus(是基于ESP8266的板) | ×1 | Raspberry PI 3B(运行node-RED) | ×1 |
Node-RED | IoT Werkstatt - Arduino Portable 1.8.5 包括Ardublock(需要它构建基于“超级块”所需的MQTT代码 - 使用像scratch(TM)这样的块) |
物联网无处不在 - 更重要的是了解背后的原理。在这个例子中,我们展示了每个人如何基于开放标准(如Arduino,MQTT,Node-RED ......)以简单易用的“可视化”编码轻松地为数字世界构建自己的想法。不需要输入任何代码 - 但是你可以根据需要稍后修改生成的草图。
准备好了?
让我们开始吧:你只需要在链接中下载“IoT Werkstatt”软件包,其中包括Arduino 1.8.5的可移植版本,所有需要的库以及更重要的Ardublock - 我们为物联网创建了“超级块” 。
#loT Octopus 带有BME280的ESP8266
接下来你应该使用带有Node-RED(预先安装好)的Raspberry Pi启动并运行 - 只需要添加我们需要安装https://mosquitto.orgMQTT代理(只需通过google获取教程)。
全部完成?
让我们使用MQTT作为数据传输层,将数据流从传感器构建到图形仪表板。
Arublock - 作为Arduino IDE插件在#IoT Octopus(ESP8266)上运行的传感器客户端
要获取生成的Arduino / ESP8266的代码,只需将附件的xml加载到Ardublock中...在Raspberry PI上设置WIFI SSID /密码和MQTT代理。我们在这里使用的传感器是Bosch Sensortec BME280,用于温度,气压和空气湿度。我们为每个人创建一个“主题”。按“Hochladen auf Octopus”... Arduino IDE现在应该编译生成的代码并将其上传到ESP8266。我们的传感器设备现在会将测到的数据发布到MQTT代理。完成!
在Node-RED中从代理接收MQTT消息的流程
复制并按流程附加到Node-RED ...双击“red”MQTT接收器,为MQTT代理设置安全性和网络。现在你应该看到调试面板上的消息(右)。完成!
Node-RED仪表盘
如果你想在这样的图形界面中查看数据,则需要在Node-RED中安装Node-RED仪表板。此处使用它的流程中包括该部分的配置。你需要自己安装仪表板插件。
- 完成 -
备份:Raspian安装和配置,测试版本2018-06-27 如果您不知道怎么完成Raspberry PI的设置,请跳转到这里 a. 从raspberry Pi网页下载raspian OS并按照说明将其写入SD卡(32GB) b. 在安装后启用WiFi和SSH,您需要将这两个文件复制到/ boot分区: - ssh (只是一个名为ssh / no appendix的空文件) - wpa_supplicant.conf,其中包含有关您的Wifi网络的以下内容: - country=US
- ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
- update_config=1
- network={
- ssid="YourNetworkSSID"
- psk="Your Network's Passphrase"
- key_<font face="Tahoma">mgmt=WPA-PSK
- }</font>
复制代码c. 将raspian OS更新到最新版本 - sudo apt-get update
- sudo apt-get upgrade
复制代码d. MQTT代理安装,在这种情况下我们使用open mosquitto - sudo apt-get install mosquitto mosquitto-clients
复制代码e. 截至2018年6月,Node-RED不再需要预先安装,你可以从菜单中运行(如果已连接显示器)或运行这个命令(也用于更新) - bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
复制代码f. 在启动时为Node-RED设置自动启动 - sudo systemctl enable nodered.service
复制代码f. 现在安装Node-RED仪表板(您也可以使用Node-RED中的调色板来完成此任务,您可以跳过它,只需使用node-red-start 启动) - sudo apt-get install npm
- sudo npm install -g npm
- hash -r
- cd ~/.node-red
- npm i node-red-dashboard
- // now start node-RED
- node-red-start
复制代码要测试Node-RED,请打开http://localhost:1880 要测试Node-RED仪表板,请打开http://localhost:1880/ui
- 完成 -
可选:你可以在Node-RED settings.js文件中使用httpNodeAuth属性来保护仪表板,因为创建仪表板的方法与创建其他HTTP节点相同。详细信息可以在http://nodered.org/docs/security的底部找到
用于管理Node-RED的有用工具 - node-red-start
- node-red-stop
- sudo systemctl
- // sudo systemctl disable nodered.service
- sudo journalctl -f -u nodered -o cat
复制代码接下来......敬请关注......
在Raspberry Pi上安装tensorflow(对于Python3.n,请检查pip3 -V) 使用tensorflow包安装Node-RED机器学习: - cd ~/.node-red
- npm i node-red-contrib-machine-learning
复制代码下载XML并将其加载到Ardublock中 通过剪贴板将其导入node-RED
|