树莓派系列之MQTT低代码实现

人工智能

632人已加入

描述

百度百科的低代码的解释如下

低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法(参考可视编程语言),使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。

百度百科-低代码

利用低代码平台 Node-RED, 我们可以快速的在树莓派上搭建MQTT clients.

Node-RED的简介

  • 基于浏览器的流编辑

Node-RED提供了一个基于浏览器的流编辑器,可以使用调色板中广泛的节点轻松地将流连接到一起。然后,只需单击一次,就可以将流部署到运行时。可以使用文本编辑器在编辑器中创建JavaScript函数。内置库允许您保存有用的函数、模板或流以供重用.

Shell

  • 构建在Node.js之上

构建在Node.js上的轻量级“运行”,充分利用了它的事件驱动、非阻塞模型。这使得在低成本硬件(如Raspberry PI)以及云端上运行在网络边缘是非常理想的。Node的包存储库中有超过22.5万个模块,因此很容易扩展调色板节点的范围以添加新功能。

Shell

  • 社区开发

Node-red中创建的流使用JSON存储,可以方便地导入和导出,以便与他人共享。在线流库允许您与世界共享您最好的流。

Shell

bash < (curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

这里安装的时候一个小意外是这个网址我登陆不了。通过PC上VPN登陆后下载了脚本,然后再在树莓派上运行安装。

安装完毕后,shell运行

node-red-pi --max-old-space-size=256

见到如下视图

Shell

然后在PC机上的浏览器便可以登陆了, 我用来学习的树莓派的IP地址是192.168.2.104, 端口1880, 在浏览器输入192.168.2.104:1880, 将见到如下视图

Shell

找找MQTT client 的节点 “mqtt in", 拖到新建的“流程”, 双击节点图标,编辑属性。如下图

Shell

为了测试,我们可以使用云端的mqtt broker. 也可以另外安装一台broker. 这里我在另外一台树莓派上安装了mosquitto. 安装过程非常简单

apt-get install mosquitto

安装中...

Shell

安装完毕后,自动启动mosquitto server. 可以查看以下

Shell

测试

  1. 准备了如上两块树莓派,一块安装了Node-RED (树莓派client). 一块安装了mosquitto用来作为broker (树莓派broker)
  2. 在树莓派client上图形化编程,部署,并观察结果

Shell

可以看到上图中

  • mqttpub(拖拽并编辑的“mqtt out” 节点)会将时间戳发送给broker
  • broker又将时间戳发送给mqttsub (拖拽并编辑的“mqtt in” 节点)

图中的调试窗口显示出log

总结

如下图, 通过在树莓派上搭建Node-RED, 提供一个图形化编程平台。利用Node-RED提供的平台,非常容易的搭建mqtt client的功能完成消息的收发,订阅,发布

Shell

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分