PB 結構體 MQTT上行設計

2021-09-29 14:29:54 字數 939 閱讀 3613

mqtt平台主動下發指令 比如遠端開門 我需要給出回答

介面封裝如下:

1需要的引數

typedef struct _tsliotproto_tsliotcommonresult tsliotproto_tsliotcommonresult;

這個是需要給出去的有效資料 devid+code+自己寫字串

最好自己做乙個結構體給出去!

如下:typedef struct _commonresult_t

commonresult_t;

int mqtt_return_comm_result(commonresult_t *rst , uint16_t sertype , uint16_t cmd , uint16_t serid )

void show_commonresult_t(commonresult_t *rst )

執行的時候 可以共享記憶體!大家都在這裡回答呀

static commonresult_t comrst;

任務進來的時候init一下即可

memset(&comrst,0,sizeof(commonresult_t));

uint8_t *devid ;

config.read(cfg_mqtt_devid, (void **)&devid);

memcpy(comrst.dev_id,devid,32);

此時就只有後面2個引數每次必須改一改了

用一下比如開門成功

comrst.code=ack;

memcpy(comrst.message,"ok",2);

mqtt_return_comm_result (&comrst , pst->sertype ,cmd_type_control_cmd_ack ,pst->sqeid);

此時3個成員都ok

MQTT學習筆記四 MQTT報文結構

mqtt是乙個二進位制的協議,採用的是命令和命令確認的方式。其中,topic name,client id,user name和password是utf 8的字串。有效載荷 payload 是二進位制,格式和內容根據應用本身來指定。協議包含固定報頭,可變報頭和有效載荷三部分內容。其中,固定報頭是必須...

Linux上MQTT環境搭建

在linux上搭建mqtt伺服器並不難,主要就是用到了mosquitto這款訊息 服務軟體 yum install gcc c yum install cmake yum install openssl devel mkdir software cd software wget tar xzvf m...

C語言之結構體(簡述 上)

c 陣列允許定義可儲存相同型別資料項的變數,結構是 c 程式設計中另一種使用者自定義的可用的資料型別,它允許您儲存不同型別的資料項。相比於陣列可以一次的儲存更多的不同的資料型別 為了定義結構,您必須使用 struct 語句。struct 語句定義了乙個包含多個成員的新的資料型別,struct 語句的...