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

  

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

时间: 2024-08-02 17:21:30

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

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

说明 上一节演示了W5500实现MQTT通信控制 通过上一节咱知道 W5500订阅的主题为:user/W5500的MAC地址 W5500发布的主题为:device/W5500的MAC地址 这节演示下APP利用APMACBind方式获取W5500的MAC地址,进而做到和W5500实现MQTT通信 APMACBind方式介绍 (只沿着别人的脚步,只会故步自封!咱需要有创造性的解决问题!) APMACBind是我自己做的一种方式,这种方式目前有一个项目在使用. 不过那是前年做的项目,当时是为了解决微信

SWA2G422&amp;485JK2G基础篇: 硬件使用说明

开发板板载介绍(当前使用的测试板,以后期最终版为准) 一,实物图 硬件说明 一,开发板主控芯片说明: 1. 单片机: STM32RET6 2. GPRS模块: Air202 二,开发板外设说明: 1. 以太网模块: W5500 2. 外设通信接口:  422或者485通信 3. 继电器:两路继电器输出 通信控制说明 一,电脑串口和GPRS下载调试口通信 二,电脑串口和STM32串口1通信 三,422/485和电脑串口通信 四,422/485和STM32串口3通信 五,GPRS串口1和STM32串

9-STM32物联网开发WIFI+GPRS基础篇(STM32+SIM800实现MQTT远程通信控制)

https://www.cnblogs.com/yangfengwu/p/11484159.html 注意:TCP运行在云端服务器上,因为GPRS只能连接公网IP哈!  如果自己测试可以使用花生壳映射! 可以直接搜索我的博客      要写就写的更全面一点吧,把常用的芯片全部都写上 先说一下SIM800的问题 长时间不通信,通信就死掉了,服务器发送数据发送不过去了 但是可以看到串口那边没有报任何的错误..... 查询状态..查询不到 然后我多发了几次查询状态 所以...实际如果做成项目,必须有心

7-STM32物联网开发WIFI+GPRS基础篇(STM32+Wi-Fi(AT指令)实现MQTT远程通信控制)

https://www.cnblogs.com/yangfengwu/p/10840517.html 新板子终于到了,耽搁时间了,抱歉哈!为了表达歉意,我做了几套代码提供给大家 这节的代码也作为整版测试 看名字就知道了,简单的说 就是  单片机使用AT指令控制模块实现MQTT通信控制 先看这节 STM32+WIFI(AT指令)实现MQTT通信控制: 一,下载STM32程序 1,方式一,串口下载(其他下载方式在最后补充) ①调整拨动开关位置 → 短接BOOT0和3.3V → 复位STM32 ②打开

8-STM32物联网开发WIFI+GPRS基础篇(STM32+GPRS(AT指令)实现MQTT远程通信控制)

https://www.cnblogs.com/yangfengwu/p/11482905.html 上一节测试的是Wi-Fi 这节测试  GPRS 看名字就知道了,简单的说 就是  单片机使用AT指令控制模块实现MQTT通信控制 这节是 STM32+GPRS(AT指令)实现MQTT通信控制: 一,下载STM32程序 1,方式一,串口下载(其他下载方式在最后补充) ①调整拨动开关位置 → 短接BOOT0和3.3V → 复位STM32 ②打开下载软件,下载程序 选择对应的串口 去掉短接,复位下单片

ESA2GJK1DH1K基础篇: STM32+Wi-Fi(AT指令版)实现MQTT源码讲解

前言 该程序需要的基础知识:  https://www.cnblogs.com/yangfengwu/category/1566194.html   所有源码开源,请自行学习 打开第一节的源码 为了方便修改,我用数组存储了些参数 然后看链接MQTT部分 说个地方 然后看 判断连接状态 接着看订阅 判断订阅是否成功 发送一条上线消息 连接MQTT部分就结束了,然后就到了主循环了 一,配网 二,处理接收的数据 三,每隔一段时间采集发送温湿度数据 看下我的心跳包处理 说下我的处理思路 首先,如果到了发

转战物联网&#183;基础篇05-通俗理解MQTT协议的实现原理和异步方式

??网络上搜索MQTT协议,会出现太多的解释,这里就不做官方标准释义的复制了.这一节我们从实战理解角度,通俗的将MQTT协议的作用及实现原理说一下,旨在可以快速理解MQTT协议.所以可能会出现很多看似不标准的解释,但是更容易理解MQTT的内涵,对MQTT十分精通者请忽略此文. ??在物联网项目中,经常出现的要求是"有限环境".什么意思呢,通俗说就是网络可能不太稳定,带宽也可能很小,网速也比较低,硬件MCU性能也很低,要求在这种情况下也能可靠联网传输信息.看到这里大家就会想到我前面提到的

转战物联网&#183;基础篇06-深入理解MQTT协议之基本术语

??通过上一节我们对MQTT协议已经有了初步的印象,这一节我们开始深入的理解一下MQTT协议,介绍常用的MQTT 3.1.1版本,5.0版本后面指介绍新增部分即可.这一节我们先介绍MQTT里常用的术语(非官方文档直接复制). ??网络连接(Network Connection): ??MQTT 是一种连接协议,底层使用 TCP/IP (传输层协议)提供网络连接,提供有序.可靠的.双向字节流传输.这个连接需要互联网通信的基础设施支撑,客户端使用它连接到服务端(MQTT代理服务的服务器或服务器集群)

2-STM32+W5500+GPRS物联网开发基础篇-基础篇学习的内容

https://www.cnblogs.com/yangfengwu/p/10936553.html 这次的基础篇为公开篇,将公开所有基础篇的资料和源码 现在说一下基础篇准备公开的内容:(大部分哈,要是有的我研究不出来.....我也没有法子了) 一,W5500:(会详细介绍移植和使用过程),会配套上位机(C#)相关的代码 1,TCP 客户端 2,TCP服务器 3,UDP 4,DHCP 5,DNS 6,HTTP_Server 7,HTTP_Client 8,Web 9,网页 10,MQTT 二,G