码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-12-06 09:20:39      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:上网   监控   文件   配置   电脑   data   透传   客户端   控制   

 

 

说明

  这节实现的功能:

  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透传通信

标签:上网   监控   文件   配置   电脑   data   透传   客户端   控制   

原文地址:https://www.cnblogs.com/yangfengwu/p/11992996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!