前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SWA2G422&485JK2G基础篇: STM32+W5500实现MQTT通信控制,485/422透传通信

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

作者头像
杨奉武
发布2019-12-10 16:35:18
1.9K1
发布2019-12-10 16:35:18
举报
文章被收录于专栏:知识分享知识分享

说明

  这节实现的功能:

  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"}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 测试准备工作
  • 测试
  • 测试   网口<--MQTT-->485/422 透传通信
  • 测试   MQTT客户端控制开发板两路继电器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档