SWA2G422&485JK2G基础篇: STM32+W5500实现MQTT通信控制,485/422透传通信

Posted yangfengwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SWA2G422&485JK2G基础篇: STM32+W5500实现MQTT通信控制,485/422透传通信相关的知识,希望对你有一定的参考价值。

 

 

说明

  这节实现的功能:

  STM32+W5500实现MQTT通信控制

  细节功能:

  1.DHCP动态获取IP

  2.DNS域名解析

  3.网口<--MQTT-->485/422透传通信

  

  

 

测试准备工作

  注:如果想连接自己的服务器测试,请修改为自己的MQTT连接信息

  技术图片

 

 

 

 

  一,按照下面方式短接通信端口

    电脑串口<-->STM32串口1

 

 

    422/485 <-->STM32串口3

    技术图片

 

 

  二,连接网线(网线另一端连接可以上网的路由器或者交换机)

 

    技术图片

 

 

 

 

  三,连接485/422通信模块(任选一种即可,下面说明两种接线方式)

 

    3.1: 485连接方式

 

      技术图片

 

 

    3.1: 422连接方式

 

      技术图片

  四,打开两个串口调试助手,分别监控STM32串口1和485/422的数据

    4.1: 单片机串口1监听配置

    技术图片

 

 

    4.2: 485/422通信口串口配置

    注:之所以这样配置是由于后面章节测试与PLC远程通信所需.

 

    技术图片

 

 

  五,打开MQTT调试助手

 

    技术图片

 

 

    技术图片

 

 

    技术图片

 

 

    技术图片

 

    如果上面程序中修改了MQTT信息,此处请按照自己的修改

    技术图片

    

 

 

  六,下载单片机程序

 

    技术图片

 

 

    注:hex文件路径

 

    技术图片

 

 

    技术图片

 

 

    技术图片

 

 

 

 

 

 

测试

  一,正常状态下STM32串口1打印如下

    如果使用域名连接,则会经过DHCP->DNS->TCP连接->MQTT连接通信

    如果使用IP连接,则会经过DHCP->TCP连接->MQTT连接通信

    技术图片

 

 

  二,根据设备订阅和发布的主题,设置MQTT调试助手订阅和发布的主题

 

    技术图片

 

 

 

 

 

 

测试   网口<--MQTT-->485/422 透传通信

  技术图片

 

 

 

 

 

 

 

测试   MQTT客户端控制开发板两路继电器

  一,查询两路继电器的状态

    {"data":"switch","bit":"-1","status":"-1"}

    设备返回

    {"data":"switch","bit":"-1","status":"00"}

    00:第一路和第二路状态

    技术图片

  二,控制第一路继电器吸合

    {"data":"switch","bit":"1","status":"1"}

    设备返回

    {"data":"switch","bit":"-1","status":"10"}

    10:第一路和第二路状态

    技术图片

 

 

    技术图片

 

 

 

 

  

  三,控制第二路继电器吸合

 

    {"data":"switch","bit":"2","status":"1"}

 

    设备返回

 

    {"data":"switch","bit":"-1","status":"11"}

 

    11:第一路和第二路状态

    技术图片

 

 

    技术图片

 

 

  四,同时控制两路继电器指令(用户自行测试)

 

    控制第一路断开,第二路断开

 

    {"data":"switch","bit":"-1","status":"00"}

 

 

    控制第一路断开,第二路吸合

 

    {"data":"switch","bit":"-1","status":"01"}

    

    控制第一路吸合,第二路断开

    {"data":"switch","bit":"-1","status":"10"}

 

    控制第一路吸合,第二路吸合

    {"data":"switch","bit":"-1","status":"11"}

 

 

  

 

以上是关于SWA2G422&485JK2G基础篇: STM32+W5500实现MQTT通信控制,485/422透传通信的主要内容,如果未能解决你的问题,请参考以下文章

SWA2G422&485JK2G基础篇: STM32+W5500(以太网)实现MQTT通信控制,485/422透传通信

SWA2G422&485JK2G基础篇: 手机APP通过APMACBind方式绑定W5500(以太网)设备,实现MQTT远程通信控制

04-STM32+W5500+AIR202基本控制篇-功能2-Android和微信小程序使用MulticastBind绑定W5500,并通过MQTT实现485,422通信和继电器控制(Android)

485和232的电平信号有啥区别?

RS-422与RS-485RS-422与RS-485串行接口标准

工业机器人-- UART和RS-232RS-422RS-485通信接口