首先引入modbus几个功能库,然后创建modbus,初始化modbus,注意端口
用modbus slave模拟从机
模拟读取modbus从机的数据
modbus_read_registers(modbus本身,地址,数据,读取缓存区)
mqtt协议上报!
阿里云参数小工具用于生成mqtt参数
首先创建mqtt客户端
MQTTClient_create(&client,ADDRESS,CLIENTID,MQTTCLIENT_PERSISTENCE_NONE,NULL)
client是MQTTclient这个结构体创建的对象
其他参数可以用阿里云参数小工具+阿里云实例
然后是设置心跳时间keepAliveInterval,用户名密码
再然后创建连接,发送内容
最后断开连接,释放客户端
参考https://www.cnblogs.com/homejim/p/8146405.html
cJSON库 键值对模式,值可以是整形,字符串,数组,还可以嵌套
参考https://blog.csdn.net/qq_46042542/article/details/107342428
用CJSON代码生成mqtt打包发送cjson格式
先创建对象
cJSON *root = cJSON_CreateObject()
在添加数据
cJSON_AddItemToObject(root,“name”,CJSON_CreateString(“Talyor”))名字是talyor 要是其他类型就用其他类型的函数添加。
mqtt下发!!
mqtt订阅主题 阿里云设备服务器,阿里云那边下发出来,通过回调函数打印出来,阿里云可以在线调试
收到消息后,可以解析CJSON包,获得想要的参数
cJSON_Parse获取根目录
cJSON_GetObjectItem()可以获取节点内容
最后在加上modbus 读写 ,最终实现是modbus上面可读可写,在
温湿度传感器都是把温度✖10保存,×0.1读取
MQTT上报下发,以及连接到modbus协议
最新推荐文章于 2024-07-23 16:55:35 发布