Node-red 物联网教程3: 基于MQTT的一个小实验

1.首先安装一个MQTT Broker(也是MQTT的消息中转服务器)

我比较常用的MQTT Broker服务器有Mosquitto和Emqx,还有比较小巧的Mosca.这些都是开源免费的,如果有更高要求,可以选择商业版.学习的话,免费版足够了.

以mosquitto为例:

登录我的树莓派,没有树莓派的可以安装一个Linux虚拟机,或者在Windows下玩耍.不过测试一些功能还是Liunx环境比较舒服,直接命令行敲代码会让自己的牛逼感油然而生.

推荐使用docker进行安装测试工具,多快好省,分分钟搞定.

docker search mosquitto //搜索镜像

搜出很多镜像文件(image),安装排名第一的就行.

docker pull eclipse-mosquitto //拉取镜像

docker run -it -p 1883:1883 -p 9001:9001 –name mq eclipse-mosquitto //启动broker

现在MQTT Broker已经运行起来了,简单吧.

2.万事俱备,开始玩耍MQTT吧

IE浏览器输入IP:1880,进入我们的Node-red管理界面,按照图示拉取功能块:

配置sensor1,mqtt(发送),mqtt(接收)3个功能块的功能

配置完成,点击部署,单击sensor1这个功能块.通过Mosquitto的控制台看到客户端已经连接成功了.

在node-red的调试串口已经能够接收到MQTT服务器回传的消息了.

3.难度升级

假设有两个开关,一个是Open,一个是Close.点击Open时,执行开灯的动作;点击Close时,执行关灯的动作.结合上面的知识,我们来实现一下.

按照图拉取功能块

处理逻辑这个function输入以下代码

let status = msg.payload;
if(status=='Open'){
    //此处添加处理逻辑的代码,比如被控对象是灯泡
    msg.payload = 'Open the lamp';
}else if (status == 'Close'){
    //处理逻辑的代码
    msg.payload = 'Close the lamp';
}else{
    msg.payload = 'You have crazy!';
}
return msg;

完成后点击部署,单击sensor1/ON或者sensor/OFF,这时调试窗口显示出我们想要的结果.

简单吧,你已经学会用MQTT做些小实验了.你我的一小步,人类的一大步.

持续关注威武网,威武哥伴你成长.

学习更多知识,加QQ群:1098090823
威武网 » Node-red 物联网教程3: 基于MQTT的一个小实验

提供最优质的资源集合

立即查看 了解详情