{PLC,IOT}>ESP32 项目实践——MQTT测控回环

       内置物联网常用协议MQTT是 IOT-PLC的重要特征,借助WIFI 网络和MQTT协议支持,使用者可以快速完成物联网应用项目,例如设备的远程监测和控制。本文实验将完成对IOT-PLC的输入检测,然后将输入的状态发送到MQTT服务器,通过订阅MQTT消息,将MQTT消息解析并通过输出端口输出。通过本文实验,使用者可以掌握:

1、MQTT 服务器的部署和使用

2、使用IOT-PLC连接MQTT服务器

3、使用IOT-PLC实现基本测控

一、MQTT服务器的部署和使用

1.1 MQTT服务器的部署

         MQTT的服务器软件很多,可以使用热门的emqx,从Windows | EMQX 5.2 文档下载最新版本并安装。启动emqx服务器是通过命令行启动的,可以做批处理文件放在emqx的安装根目录,

在批处理文件输入启动指令:

.\bin\emqx start

和停止命令:

.\bin\emqx stop

然后就可以使用鼠标双击 start.bat 启动emqx服务器了。

首次启动 emqx服务器,windows的防火墙会提示访问网络的许可,要择选允许emqx访问网络。

emqx的管理配置通过web完成,在浏览器的地址栏输入:http://localhost:18083/

在登录页面输入用户名(默认是admin)和密码(默认是public)。

1.2 MQTT 服务器配置

         登录到 emqx的管理页面以后,点击做侧边栏的图标,选择【客户端认证】,进入客户端认证的配置页面。

         点击右上角的图标,添加一个客户端认证数据库,选择【内置数据库 Password-Based】,账号类型选用  username,密码加密方式采用  sha256 ,加盐方式采用 suffix,然后点击创建。

         在客户端认证页面点击【用户管理】,然后点击【+】添加,输入用户名  ctrl  ,输入密码 密码 key,确认添加。

         这样就在 emqx 服务器中设置了一个允许接入的客户端了。

二、使用IOT-PLC 连接MQTT服务器

        IOT-PLC的WIFI_MQTT功能块是WIFI网络名和密码,MQTT服务器地址、用户名和密码的设置模块。归类在“附加功能类型”

详请可参考设计文件。

三、使用IOT-PLC实现基本测控

        物联网项目的一类常见应用是检测设备的状态(报警、运行指示、停止指示等),并将设备的状态信息发送到数据中心进行存储、处理。使用IOT-PLC的消息发送(MSG_TX)功能块,可以快速实现这类应用的基本要求。

        MSG_TX功能块的输入包括:消息主题TOPIC(STRING),消息模板MSG(STRING),发送触发T(BOOL)。

        消息主题是MQTT的概念,既可以作为发送消息的目标识别信息,也可以用于区分消息种类,具体作用由项目应用决定。

        消息模板是将PLC内部的变量状态按照预定格式生成消息的字符串,由变量引用和分隔符组成,变量引用的格式为      [@变量名]  , 例如实验设计中的   [@K0],两个变量引用之间一定要有分隔符,分隔符是由设计者决定的方便阅读或者处理消息的字符串,例如实验设计中的      LED:   ,尤其需要注意的是不要使用包含   [@   的字符串作为分隔符。   

        发送触发是发送MQTT消息的触发信号,上升沿(当触发信号从 FALSE 变成 TRUE 的时候)触发。

        物联网项目的另一类常见应用是控制设备(运行、停止等),使用IOT-PLC的MSG_RX接收MQTT消息,用消息模板解析消息并控制输出,可以达成设备的远程控制。

        MSG_RX的输入包括:消息主题TOPIC(STRING),消息模板MSG(STRING);输出包括消息接收指示R(BOOL)。

       消息模板也是由变量引用和分隔符组成,要使用和发送端相同的分隔符,变量引用根据应用情况可以不同(类型需要和发送端一致)。

 四、实验

       参考《{PLC,IOT}>ESP32 项目实践——简单入门》的接线方式接好IOT-PLC的硬件,按照本实验的方法构建MQTT服务器,启动并配置好MQTT服务器,编译下载PLC设计文件,手动接通(或断开)X0和GND,可以观察到Y0 的输出变化。在MQTT服务器的管理界面,可以看到对应的连接情况和消息传递情况。 

       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值