精华内容
下载资源
问答
  • MQTT 串口
    2020-10-19 19:05:21

    1.MQTT介绍:

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),作为除Modbus外最常用的协议之一,因其基于发布/订阅的模式,具有资源消耗少、效率高的优势,从而受到行业内的广泛使用。

    2.MQTT网关应用原理:

    34a4d5e6-b711-eb11-8da9-e4434bdf6706.png

    如以上MQTT应用原理图所示,带Modbus协议的上位机(如PLC),通过串口(RS485)接入到华辰智通工业无线网关,网关将采集上来的Modbus数据转换成指定数据格式,再通过MQTT上传到云平台。

    首先确认好PLC与网关的接线是否正确,然后在本地或云平台配置网关的采集参数。

    MQTT网关的配置:进入华辰智通的MQTT网关的WEB界面,根据网关表建立MQTT网关信息(主要是填入网关序列号),然后配置采集PLC数据变量模板表(同一种类型的PLC设备具备相同的变量表),添加设备信息(定义关联的MQTT网关,定义关联的采集PLC数据变量模板,定义通信参数和采集周期等),部署设备和变量信息到MQTT网关,然后MQTT网关就开始采集PLC数据并发送数据到物联网云平台(即上报模式);云平台处理收到的数据,并插入到数据库中。物联网云平台也可以下发指令到MQTT网关,通过MQTT网关把数据传给PLC,从而达到双向通信的功能。

    3.华辰智通Hinet工业无线网关介绍

    HINET工业智能网关是一个集成多种互联网通讯技术,面向工业领域的设备通讯终端产品。支持4G、WIFI、以太网等多种互联网接入方式。

    1、 实现工业现场设备远程控制;

    2、 实现设备固件远程升级,程序上下载,可灵活接入各种设备管理平台;

    3、 实现工业现场触摸屏远程控制和组态画面远程映射;

    4、 可同时与多台PLC或触摸屏远程通讯;

    5、实现西门子、三菱、欧姆龙、施耐德、台达、汇川、和利时、松下、永宏、海为和 MODBUS 系列等PLC等主流协议硬件解析;

    6、 实现PLC远程监控,PLC远程编程,PLC远程调试,PLC远程上下载,PLC远程控制,PLC数据采集,PLC远程通讯;

    35a4d5e6-b711-eb11-8da9-e4434bdf6706.png

    湖南华辰智通科技有限公司是一家工业互联网整体解决方案服务商,自主研发PLC远程监控,设备数据远程采集,工业智能网关,数据采集网关,设备远程运维管理系统和思普云工业大数据监控云平台,欢迎垂询!

    更多相关内容
  • 在单片机上使用MQTT协议通讯,串口收发
  • 文章首发于同名微信公众号:DigCore欢迎关注同名微信公众号:DigCore,及时获取最新技术博文。原文链接:https://mp.weixin.qq.com/s/FCBF6EACwkA1uv5UWNrlnA(说明:此处的文章从微信公众号...对比了串口连接和TCP...

    文章首发于同名微信公众号:DigCore

    欢迎关注同名微信公众号:DigCore,及时获取最新技术博文。

    原文链接:https://mp.weixin.qq.com/s/FCBF6EACwkA1uv5UWNrlnA

    (说明:此处的文章从微信公众号拷贝而来,图片或者排版上可能存在一定的瑕疵,欢迎点击原文链接阅读)


    • 基本介绍

    在上篇文章《快速开发MQTT(一)电子工程师眼中的MQTT》中,对比了串口连接和TCP连接,我们知道实现了连接和数据收发之后,接下来就是要考虑数据的封装、组包的事了。

    比如UART传输过程中,数据被从A设备发送到B设备时,一般的都做这样的协议简单封装数据:“包头0xAA+两字节包长度LEN+1字节的LRC+数据内容”,此时B设备收到数据包就进行解析。

    15adb439ad5f54fbbc657edc7df66719.png

    这一过程就是应用层面的协议。

    类似的,MQTT也有报文格式,应用程序将数据填入报文包中,后通过TCP进行发送。

    为了查看其报文格式,可以利用MQTT客户端工具MQTT.fx,尝试向TCP服务器发起一个连接请求。

    TCP服务器继续使用上篇文章《快速开发MQTT(一)电子工程师眼中的MQTT》中提到的SSCOM工具进行模拟。

    35da314bc00bf8ca390698f2e6d74f9d.png

    54d000e6a0bc91dbb04523f162edc26b.png

    交互过程如下:

    1. TCP服务器开启,并侦听;
    2. MQTT.fx作为客户端,向TCP服务器发起请求,发出的CONNECT报文(Hex):10 1A 00 044D 51 54 54 04 02 00 3C 00 0E 77 77 77 2E 64 69 67 63 6F 72 65 2E 63 6E;
    3. TCP服务器接收到该请求, TCP服务器此刻该回复(Hex):20 02 00 00;
    4. 完成连接请求。

    以下为交互过程截图:

    adc6a63e4ee661791a78a67064b82c1d.png

    配置TCPServer和MQTT.fx客户端,需要填写一致的IP地址和端口号

    e8c5b34772927118505e1044bb13ea50.png

    MQTT.fx发起连接时,TCPServer接收到的完整数据包内容

    90bf957d7a15f1dce8166a172f549e8b.png

    TCPServer通过发送栏,回复数据(Hex):2002 00 00

    至此,MQTT的连接流程完成,并且MQTT.fx客户端显示已连接的状态。通过这一模拟的过程,我们能够清晰认识到MQTT文档中的报文格式定义已经协议规范的定义。

    对以上的数据分析,我们很容易就和MQTT-3.1.1版本规范进行对应:

    客户端发的数据是10 1A 00 04 4D 51 54 54 04 02 00 3C 00 0E 77 77 77 2E 64 69 67 63 6F 72 65 2E 63 6E

    解析如下:

    固定报头:0x10 1A,即报文类型是1,长度是26个字节(0x1A)

    可变报头:

    0x00 04 4D 51 54 54,此处定义了协议名,长度是4,协议名是”MQTT”;

    0x04,协议级别;

    0x02,连接标志;

    0x00 3C,保持连接,以秒为单位的时间间隔;

    有效载荷:

    0x00 0E,有效载荷内容的长度

    0x77 77 77 2E 64 69 67 63 6F 72 65 2E 63 6E,客户端标识符http://www.digcore.cn

    TCPServer回复的数据是20 0200 00

    解析如下:

    固定报头:0x20 02,即报文类型是2,长度是2个字节(0x02)

    可变报头:0x00 00,即连接确认标志和连接返回码

    在实际开发过程中,可以利用SSCOM工具作为服务器式验证自己编写的MQTT客户端程序是否正确发出数据,另外也可以作为客户端验证与MQTT服务器的正确交互。

    既然TCP连接后就已经实现了数据收发的功能,为什么应用层还有这么多的通信协议:HTTP、FTP、MQTT等。

    这就有区别于串口,毕竟串口在通信时是有着导线直接相连,而基于TCP连接的通信,在复杂的计算机网络中,准确找对一个终端并与之交互数据,这中间需要做的是靠应用层的协议进行握手、确认等交互,有着“一回生二回熟三回四回热炕头”这么一个啰嗦的过程。

    • 协议框架

    e733c821d314a0ad2528207bbf76ccc7.png

    MQTT框架模型非常清晰看到,服务器实现了该协议的最主要功能,对数据和指令进行“转发”。

    原文链接:https://mp.weixin.qq.com/s/FCBF6EACwkA1uv5UWNrlnA


    ★★★★★推荐文章

    《【嵌入式编程】平台大小端存储差异解决办法》

    《嵌入式硬件通信接口-使用RingBuffer处理数据(二)详细设计过程》

    《嵌入式硬件通信接口-使用RingBuffer处理数据(一)》

    《快速开发MQTT(一)电子工程师眼中的MQTT》

    《快速开发MQTT(二)初识MQTT》

    《MQTT客户端搭建-最清晰的MQTT协议架构》

    《MQTT服务端搭建-最快方式验证自己开发的客户端》

    ★★★★★相似文章

    《嵌入式硬件通信接口协议-UART(五)数据包设计与解析》

    《嵌入式硬件通信接口协议-UART(四)设计起止式的应用层协议》

    《嵌入式硬件通信接口协议-UART(三)快速使用串口及应用》

    《嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准》

    《嵌入式硬件通信接口协议-UART(一)协议基础》

    《嵌入式硬件通信接口协议-SPI(二)分层架构设计模拟接口》

    《嵌入式硬件通信接口协议-SPI(一)协议基础》

    ★★★★★扩展阅读

    《【硬件电路】AltiumDesigner18规则检查含义》

    《【硬件电路】N沟道、P沟道MOS管基本原理与应用案例》

    展开全文
  • 以下内容是使用MARS-WIFI-MQTT串口透传工具对TLINK平台中的MQTT协议进行的测试,请用户使用自己的帐号创建设备进行测试。 模块手册在下面连接中找: 链接:https://pan.baidu.com/s/1V9hYdzxtpKGdeks7H8AW1g 提取码...
  • 原文链接:https://mp.weixin.qq.com/s/hY3y0EpWLeya3YkWwvU1lQ(说明:此处的文章从微信公众号拷贝而来,图片或者排版上可能存在一定的瑕疵,欢迎点击原文链接阅读)对于MQTT的介绍,官方文档是直接进入主题,讨论其...

    3394e7c89a93e57fb8d643433c838868.png

    文章首发于同名微信公众号:DigCore

    欢迎关注同名微信公众号:DigCore,及时获取最新技术博文。

    原文链接:https://mp.weixin.qq.com/s/hY3y0EpWLeya3YkWwvU1lQ

    (说明:此处的文章从微信公众号拷贝而来,图片或者排版上可能存在一定的瑕疵,欢迎点击原文链接阅读)


    对于MQTT的介绍,官方文档是直接进入主题,讨论其架构模型,对于未曾接触网络技术的电子工程师来说,这第一章都已经是略微难懂的章节,更别提继续往下看了。因此,此文是站在电子工程师的角度介绍MQTT协议,为方便理解和描述,肯定没有计算机网络方面专业术语那么准确。

    作为一名电子工程师,去理解网络工程、软件工程这些范畴的技术,有时候时非常困难的,尤其是做硬件,很多东西感觉很抽象,又很空洞。

    3f0efef19e55e69fff5c7711d4eadee0.png

    日常工作中,电子工程师面对更多的是UART、SPI、IIC、USB,对于触手可及的这些外设接口协议,我们一般更多关注的是他们的信号时序、电气特性、传输速率等参数。并且在开发时,这些外设接口能够看得见摸得着,知道是哪两个或者哪几个设备之间进行连接。

    MQTT基于TCP连接进行的网络通信。

    都说“基于TCP连接”的通信,那到底啥是“TCP连接”呢?(官网http://www.tcpipguide.com/)这个需要了解到TCP/IP参考模型中的4层的定义:

    59800a5707e0d43400f7d6daf8c9048d.png

    TCP/IP参考模型图

    MQTT是在TCP连接后的基础上进行通信的,那么在此可以简单认为,TCP就是个“外设接口”,就像UART、SPI这样,作为传输层,就负责把数据收发。

    而在实际在使用过程中,MQTT数据是带了各种“格式”的条条框框进行封装,这些条条框框的封装就是在应用层定义和实现的。

    应用层的协议利用TCP这种“接口”进行收发数据时,为了区别于不同应用程序,而定义了应用协议,类似于MQTT、HTTP、FTP等。

    利用工具模拟和对比,串口连接后收发和TCP连接后收发的情况。

    这里使用的是单片机开发的时候最常用到的一个串口助手SSCOM V5.10a(http://www.daxia.com/sscom/sscom5.13.1.rar),带有TCP连接功能。首先看看电子工程师非常熟悉的串口通信界面:

    e523683b4d2f57f38eb5dd63d07b372e.png

    串口通信时的数据交互截图

    同样的,切换到TCP连接的方式,根据如下截图配置TCP服务器和TCP客户端:

    3269dfb35bb269df224b838883ba7475.png

    TCP连接后通信时的数据交互截图

    可见TCP和串口类似,在连接后就可以对数据进行传输了。并且和串口一样,在传输时,数据是被完全透传出去的,而没有被封装成任何格式(只看TCP层),可见平时在底层开发时使用串口通信都没有上升到应用层协议,基本都是裸数据传输的,即使说有协议那基本都是私有协议,且是自定义的。

    可是怎样能够实现连接?

    MQTT协议是基于TCP连接进行通信的,TCP可谓是比嵌入式外设要复杂些,不是简单一个硬件实现就可以了的。

    串口连接,最少需要的3根数据线(TxD,RxD,GND),然后设置两端设备的波特率、数据位、校验位、停止位,即可完成连接。

    而TCP连接,需要往下的多个层协议来实现,然后就是配置IP地址、端口。实现方式有很多,有线方式可以用集成了网卡芯片的单片机或者以太网转串口、SPI模块等,无线的方式可以用集成了wifi的单片机或者wifi转串口、SPI模块等。

    TCP连接实现方式很简单,就是芯片搭模块,而实现过程却是很复杂,对于应用开发的电子工程师,需要做的是能够利用低价格高效益的解决方案来实现MQTT协议,实现物联网。

    更多原创技术干货,点击阅读原文。

    原文链接:https://mp.weixin.qq.com/s/hY3y0EpWLeya3YkWwvU1lQ


    ★★★★★推荐文章

    《【嵌入式编程】平台大小端存储差异解决办法》

    《嵌入式硬件通信接口-使用RingBuffer处理数据(二)详细设计过程》

    《嵌入式硬件通信接口-使用RingBuffer处理数据(一)》

    《快速开发MQTT(一)电子工程师眼中的MQTT》

    《快速开发MQTT(二)初识MQTT》

    《MQTT客户端搭建-最清晰的MQTT协议架构》

    《MQTT服务端搭建-最快方式验证自己开发的客户端》

    ★★★★★相似文章

    《嵌入式硬件通信接口协议-UART(五)数据包设计与解析》

    《嵌入式硬件通信接口协议-UART(四)设计起止式的应用层协议》

    《嵌入式硬件通信接口协议-UART(三)快速使用串口及应用》

    《嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准》

    《嵌入式硬件通信接口协议-UART(一)协议基础》

    《嵌入式硬件通信接口协议-SPI(二)分层架构设计模拟接口》

    《嵌入式硬件通信接口协议-SPI(一)协议基础》

    ★★★★★扩展阅读

    《【硬件电路】AltiumDesigner18规则检查含义》

    《【硬件电路】N沟道、P沟道MOS管基本原理与应用案例》

    展开全文
  • MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况...

    MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。MQTT网关就应运而生。

    98e5bc24-b612-eb11-8da9-e4434bdf6706.png

    如以下MQTT应用原理图所示,现场设备的PLC、传感器、采集器、仪器仪表等通过串口或网口与物通博联的MQTT网关连接,物通博联MQTT网关主动采集设备数据,并进行协议解析,解析后数据经过标准化后并以json串的格式,用MQTT协议作为上行链路接入协议,通过消息发布服务器上的相应主题上,用户自主开发的软件系统/云平台通过订阅消息该主题而获取数据。当软件系统/云平台要向设备发送指令或者写入数据,应用软件系统/云平台就发布一条消息到相应的网关上,然后网关在把数据传送给设备;从而实现软件系统/云平台和现场设备的数据上报和控制.

    (一)、用户采购物通博联MQTT网关,直接对接自主开发的云平台,用户自主搭建MQTT服务器并开发属于自己的云平台。通过配置下发到物通博联MQTT网关,就可以实现对各种现场设备的数据采集、解析并标准化后上传到云平台。其中配置方式有两种:平台上远程配置和本地网关配置(默认出厂是平台配置,平台配置也是最方便最快捷的配置方式)。使用物通博联提供的的配置接口文档自主开发配置管理平台。

    99e5bc24-b612-eb11-8da9-e4434bdf6706.png

    根据上面mqtt网关应用原理图可知,要搭建一个模拟环境测试验证mqtt的功能,需要准备以下相应的软件与硬件:

    PLC、电表(也可以用软件modbus slave,用来模拟下位机);

    物通博联MQTT网关一台(WG581/WG282/WG585/WG583);

    以Eclipse Paho作为辅助工具,分别搭建客户端和服务端,模拟数据的发布/订阅.下面以modbus slave 为例

    1、modbus slave设置

    1)打开modbus slave软件,新建一个modbus设备

    2)串口链接

    设置串口信息,设置modbus设备参数

    3)设置modbus设备编号、功能码、寄存器地址、寄存器数量

    2、物通博联MQTT网关设置

    3、发布与订阅

    以Eclipse Paho作为辅助工具,分别搭建客户端和服务端,然后开启两个客户端,作为客户端的发布与订阅

    1、Eclipse Paho工具的下载、安装这里不做详细说明,可以参网上资料

    2、mqtt客户端的配置

    运行软件mosquitto.exe,点击“+”新建两个客户端,一个作为发布,一个作为订阅

    1)客户端建立连接,并发布消息

    2)客户端建立连接,订阅消息 广泛应用于能源、电力环境监测、风电、空压机、包装机械、注塑机、印刷机、纺织机、石油钻井机械、油井顶驱设备、机加工设备、供水设备、热力锅炉、光伏电厂、医疗器械、化工设备、洗车机、智慧工厂及其他工业4.0领域。

    展开全文
  • 1硬件概述本文将描述Air系列模块(2G和4G模块)Lua版本上通用串口、调试串口、调试串口、USB口的特性和使用方法,先看一张对比图:若无特别说明,下文中描述的串口包括通用串口、调试串口、USB口三种,描述的串口通信...
  • MQTT+串口(usart)透传

    2020-03-31 11:14:33
    采用mqtt技术+wifi串口透传 wifi芯片为HF-LPD100,联网部分徐对照串口AT指令操作。 代码环境为正点原子战舰开发板,亲测可用。
  • MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在...
  • mqtt调试工具.zip

    2021-09-13 15:09:05
    mqtt调试工具.zip
  • 1. LiteOS MQTT组件概述MQTT AL用来解耦基于MQTT的业务和MQTT的具体实现,具体来说以后的MQTT业务层应该有且只能使用MQTT AL提供的相关功能(API 数据结构 ...MQTT AL的api接口声明在中,使用相关的接口需要包含该...
  • 工业智能MQTT网关特性HINET工业智能网关是一个集成多种互联网通讯技术,面向工业领域的设备通讯终端产品。其包含的5G、4G、WIFI、有线宽带等多种互联网接入方式,可以适应各种网络应用环境,提供随处可得的安全通讯...
  • Hey,学堂君为你准备了华为运动手环、华为移动...当然,这块PCB可以独立工作,能在脱机状态下进行使用,然后加入一些通信端口(如串口、网口等)通过COAP、MQTT或其他协议与网路互联,达到远程控制的效果。本篇先从...
  • 大学生的物联网网关实验:使用mqtt实现串口数据的发送和接受。报价250 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该...
  • 4 L620模组调测 订阅、发布测试 第1步:打开串口调试助手,查看模组的入网配置信息,指令如下: AT+CEREG? //检查网络状态+CEREG: 0,2OKCT-Self Register: Have already registered!AT+CESQ //检查信号质量+CESQ: ...
  • 这是关于MQTT的第三篇文章,也是最后一篇关于MQTT的介绍和如何在ESP8266使用的文章,不过本篇文章只是简单的一个串口收发MQTT消息的小Demo,后面如果我们在实际的小项目中用到关于MQTT相关的内容,将不再做介绍,...
  • MQTT通信调试工具

    2018-09-30 12:46:33
    MQTT通信CSDN教程中用到的调试工具 通信猫调试软件,希望对大家有所帮助
  • ◆ 4G LTE转WiFi或网口,支持移远EC20 4GLTE模块通电插上SIM卡即可上网 ◆ DTU>串口数据透传,即把MCU串口数据转成tcp协议发送到服务器,支持tcp/MQTT协议两种服务器类型;可实现ZigBee智能网关>蓝牙智能网关>LORA...
  • 使用STM32和串口转TCPIP模块,实现MQTT客户端的通信,topic的长度不超过64字节,message最大长度不超过1024字节
  • 单片机 MQTT 读取数据问题(串口通信) 问题描述 使用stm32F10x单片机串口接收数据时,接收中断只能按字节接收。将接收到的数据放入数据队列中。 这种接收中断按字节接收数据的方式,无法像Linux一样利用接收超时...
  • STM32+BC35 -阿里云MQTT协议串口透传
  • Pin(4, Pin.OUT) led.value(1) time.sleep(1) led.value(0) 有了摄像头拍的照片,那么一般来说就要传输了,照片这么大采用MQTT方式如下 : 记录:CAM版本的固件更新缓慢,使用人数少,所以固件缺少MQTT功能,尝试了弄...
  • 基于MQTT协议的库函数,详细说明如何使用。
  • 该Python模块从EnOcean接口接收消息(例如,通过USB),并将选定的消息发布到MQTT代理。 您也可以将其配置为使用传出的响应来回答传入的EnOcean消息。 响应内容也使用MQTT请求定义。 它建立在库的基础上。 安装 ...
  • MQTT客户端移植,适用于STM32+串口透传模块。 本例程运行环境为正点原子战舰开发板,选用模块为HF-LPD100.请看我博客,有详细应用文章。
  • MQTT 单片机移植 收发功能 STM32 串口 透传

    千次阅读 多人点赞 2020-03-26 14:48:31
    MQTT 单片机移植 收发功能 STM32 串口 透传 根据STM32+WIFI串口透传模块进行讲解如何使用MQTT
  • 串口屏4G应用--MQTT连接阿里云:本章节主要串口屏-阿里云-APP数据交互的配置流程,将分为以下3个阶段讲述教程DEMO是如何实现:
  • 玩转RT-Thread系列教程(12)–MQTT协议通信 一、了解一下MQTT 1.MQTT介绍 ​ 客户端 Client ​ 使用MQTT的程序或设备。客户端总是通过网络连接到服务端。它可以 发布应用消息给其它相关的客户端。 订阅以请求...
  • 这是一个类似于串口调试助手一样的简单方便的Mqtt协议调试软件.纯绿色无安装.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,492
精华内容 1,796
关键字:

MQTT 串口