华杰智控mqtt网关hj8300支持mqtt协议,支持二次开发, 协议定制,支持c,c++,php,python语音开发。
1. mqtt说明
mqtt是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,构建于tcp/ip协议上,ibm在1999年发布。mqtt最大优点是可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
mqtt发布/订阅消息模式,如下示意图
mqtt协议在客户端和服务器端之间通讯完成,通讯过程中,mqtt协议中有三种身份:发布者(publish)、代理服务器(broker)和订阅者(subscribe)。
消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
mqtt传输的消息分为:主题(topic)和负载(payload)两个部分
1. topic: 消息的类型,订阅者订阅(subscribe)后,就会收到该主题的消息内容(payload)。
2. payload:消息的内容,是指订阅者具体要使用的内容。
hj8300mqtt工业级网关是一款带sdk二次开发工业级4g路由器,利用移动网络为终端设备提供无线数据传输功能,可以安装mqtt mosquitto 。 支持sdk二次开发,root权限,集成交叉编译器,集成了gcc、gdb、glibc库,支持c/c++,python,php,支持mqtt,ssh、ftp、mysql。用户可以直接通过ssh在hj8300里编译自己软件,直接运行。hj8300mqtt4g路由器支持4g全网通、wifi、以太网、交换机、路由器dtu、rs232、rs485。支持远程控制终端设备,如plc、触摸屏、仪表仪器远程上下载程序、远程调试。
hj8300的mqtt使用
安装软件mosquitto-1.4.15 和 json-c-0.12
mosquitto提供了windows、linux以及qnx系统的版本,hj8000系列安装的linux操作系统,所以选择了mosquitto的linux版本源码安装。
hj8000系列的mqtt的demo采用json编码,网关模式作为mqtt的客服端,可以发布和订阅mqtt消息,程序部分使用c语言编写。
demo程序的文件说明:
main.c 主程序文件
base.h 头文件
makefile 编译的make文件
poll_rftcm_s.txt 配置文件,包含mqtt的服务器的地址和端口等配置信息
mqtt的消息格式:
网关发布消息的topic:/ge/mqtt帐号/网关mac/采集设备地址
网关订阅消息的topic:/gc/mqtt帐号/网关mac/采集设备地址
比如服务器发布一个时间消息给网关的82号设备格式如下:
/ge/bluegw/c2-48-00-00-32-47/82
{ h:{/* message header */
t:85,
id:1
},
b:{/* message body */
cf:3,
cc:1,/* message command */
dl:{/* message parameter list */
week:1,
hour:12,
minites:35,
second:21,
}
}
}
网关订阅一个mqtt消息:/ge/bluegw/c2-48-00-00-32-47/82,这样服务器或者其他客户端只要发送这个消息主题的内容,网关都会收到,然后网关根据实际实际情况处理。
hj8200mqtt demo说明
hj8200系列有很多接口,比如rs232/rs485/eth/rf433m等,hj8200的软件管理了这些接口,如果用户需要使用这些接口,可以发送一个接管命令给hj8000的软件,hj8000就会把这些接口的数据直接发送到linux的命名pipe里面,这样就可以直接从这些命名pipe里面读取数据,或者写入数据到命名pipe,hj8000软件就会直接写到实际的端口。
mqtt的demo使用的rf433m接口,rf433m接口的命名pipe如下
读取的pipe名称: /var/vspp/wr_rf4;
写入的pipe名称: /var/vspp/rd_rf4;
mqttdemo的框架示意图(由pipe线程和mqtt线程组成)
注意:
1. mqtt订阅的消息处理回调函数解析命令,把命令挂在在pipe线程的rf_cmmd_list队列,由pipe线程负责发送
2. pipe线程的定时器负责检查超时的数据处理。
3. pipe线程接收函数负责处理从rf433m的管道来的数据,同时发送rf_cmmd_list队列的数据到rf433m的管道。
低压电器的端子为何要镀银或者镀锡?
数字孪生工厂的核心是什么?
科东PSSEM-2000S网络安全监测装置
智慧社区建设怎样兼修内外
特斯拉发布影响力报告,Model 3和Model Y大放光彩
华杰智控MQTT网关如何安装和使用Mosquitto进行二次开发
鸿利智汇子公司与丰田合成达成白光LED专利授权协议
意法推出STM32WL LoRa无线系统芯片系列产品 促进物联网连接创新
库克:谁说苹果的5G迟到 iPhone 12来的刚刚好
整流滤波稳压电路图大全(整流滤波器/直流稳压电路)
一款智能镜子显示屏的应用,将定义全新的智能生活
新唐科技W588L150主板介绍
单片机串口通讯原理解析
杰华特带来多款串联锂电池保护方案,助力储能电源应用
关于如何判断CPU是否正在执行中断函数?
动态 | 华为支持北京金融科技产业联盟,发布《金融业IPv6发展演进白皮书》
温湿度计的使用注意事项及测量范围
DoDAF/MODAF的统一配置文件
电动汽车的发展与未来铜的市场需求
2n6509可控硅参数怎样测试好坏