查看: 2502|回复: 3

[原创] 【翻译】用MQTT轻松启动物联网世界

[复制链接]

主题

好友

2136

积分

进士

  • TA的每日心情
    慵懒
    2020-6-26 20:01
  • 签到天数: 95 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2018-11-15 13:56:29 |显示全部楼层
    原文: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 - 我们为物联网创建了“超级块” 。


    assembled_YumxjSfH5u.jpeg

    #loT Octopus 带有BME280的ESP8266


    接下来你应该使用带有Node-RED(预先安装好)的Raspberry Pi启动并运行 - 只需要添加我们需要安装https://mosquitto.orgMQTT代理(只需通过google获取教程)。


    全部完成?


    让我们使用MQTT作为数据传输层,将数据流从传感器构建到图形仪表板。


    pastedgraphic-3_djSehJ4WNs.png

    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代理。完成!

    pastedgraphic-4_6zPG7Iayju.png

    在Node-RED中从代理接收MQTT消息的流程


    复制并按流程附加到Node-RED ...双击“red”MQTT接收器,为MQTT代理设置安全性和网络。现在你应该看到调试面板上的消息(右)。完成!

    pastedgraphic-5_2y9DS0eF3p.png

    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网络的以下内容:

    1. country=US
    2. ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    3. update_config=1
    4. network={
    5.       ssid="YourNetworkSSID"
    6.       psk="Your Network's Passphrase"
    7.       key_<font face="Tahoma">mgmt=WPA-PSK
    8. }</font>
    复制代码

    c. 将raspian OS更新到最新版本

    1. sudo apt-get update
    2. sudo apt-get upgrade
    复制代码

    d. MQTT代理安装,在这种情况下我们使用open mosquitto

    1. sudo apt-get install mosquitto mosquitto-clients
    复制代码

    e. 截至2018年6月,Node-RED不再需要预先安装,你可以从菜单中运行(如果已连接显示器)或运行这个命令(也用于更新)

    1. bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
    复制代码

    f. 在启动时为Node-RED设置自动启动

    1. sudo systemctl enable nodered.service
    复制代码

    f. 现在安装Node-RED仪表板(您也可以使用Node-RED中的调色板来完成此任务,您可以跳过它,只需使用node-red-start 启动)

    1. sudo apt-get install npm
    2. sudo npm install -g npm
    3. hash -r
    4. cd ~/.node-red
    5. npm i node-red-dashboard
    6. // now start node-RED
    7. 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的有用工具

    1. node-red-start
    2. node-red-stop
    3. sudo systemctl
    4. // sudo systemctl disable nodered.service
    5. sudo journalctl -f -u nodered -o cat
    复制代码

    接下来......敬请关注......


    在Raspberry Pi上安装tensorflow(对于Python3.n,请检查pip3 -V)

    1. pip3 install tensorflow
    复制代码

    使用tensorflow包安装Node-RED机器学习

    1. cd ~/.node-red
    2. npm i node-red-contrib-machine-learning
    复制代码

    下载XML并将其加载到Ardublock中

    游客,如果您要查看本帖隐藏内容请回复

    通过剪贴板将其导入node-RED

    游客,如果您要查看本帖隐藏内容请回复







    回复

    使用道具 举报

    主题

    好友

    99

    积分

    童生

  • TA的每日心情
    开心
    2020-5-25 17:13
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2018-12-3 09:05:26 |显示全部楼层
    .................
    回复

    使用道具 举报

    主题

    好友

    12

    积分

    白丁

    该用户从未签到

    发表于 2018-12-13 09:43:18 |显示全部楼层
    感谢分享

    回复

    使用道具 举报

    主题

    好友

    67

    积分

    童生

  • TA的每日心情
    开心
    2019-1-31 11:36
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2019-2-20 09:15:33 |显示全部楼层
    感谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条



    手机版|电路城

    GMT+8, 2020-7-10 00:49 , Processed in 0.091136 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部