標題: stm32f103zet6無線溫濕度監(jiān)控不完整代碼分享 阿里云 [打印本頁]

作者: moran6666    時間: 2021-4-16 15:46
標題: stm32f103zet6無線溫濕度監(jiān)控不完整代碼分享 阿里云
#ifndef __MQTT_H
#define __MQTT_H


#define  BUFF_UNIT           512    //緩沖區(qū)長度


#define  R_NUM               8     //接收緩沖區(qū)個數(shù)
#define  T_NUM               8     //發(fā)送緩沖區(qū)個數(shù)  
#define  C_NUM               8     //命令緩沖區(qū)個數(shù)




#define  MQTT_TxData(x)       u2_TxData(x)                                  //串口2負責(zé)800C的數(shù)據(jù)發(fā)送


#define  PRODUCTKEY           "a1XrG0NTzDE"                                 //產(chǎn)品ID
#define  PRODUCTKEY_LEN       strlen(PRODUCTKEY)                            //產(chǎn)品ID長度
#define  DEVICENAME           "D001"                                  //設(shè)備名  
#define  DEVICENAME_LEN       strlen(DEVICENAME)                            //設(shè)備名長度
#define  DEVICESECRE          "368cfb4efb9036f422daed21fe519b30"            //設(shè)備秘鑰   
#define  DEVICESECRE_LEN      strlen(DEVICESECRE)                           //設(shè)備秘鑰長度
#define  S_TOPIC_NAME         "/sys/a1XrG0NTzDE/D001/thing/service/property/set"   //需要訂閱的主題  
#define  P_TOPIC_NAME         "/sys/a1XrG0NTzDE/D001/thing/event/property/post"        //需要發(fā)布的主題   


extern unsigned char  MQTT_RxDataBuf[R_NUM][BUFF_UNIT];        //外部變量聲明,數(shù)據(jù)的接收緩沖區(qū),所有服務(wù)器發(fā)來的數(shù)據(jù),存放在該緩沖區(qū),緩沖區(qū)第一個字節(jié)存放數(shù)據(jù)長度
extern unsigned char *MQTT_RxDataInPtr;                        //外部變量聲明,指向緩沖區(qū)存放數(shù)據(jù)的位置
extern unsigned char *MQTT_RxDataOutPtr;                       //外部變量聲明,指向緩沖區(qū)讀取數(shù)據(jù)的位置
extern unsigned char *MQTT_RxDataEndPtr;                       //外部變量聲明,指向緩沖區(qū)結(jié)束的位置
extern unsigned char  MQTT_TxDataBuf[T_NUM][BUFF_UNIT];        //外部變量聲明,數(shù)據(jù)的發(fā)送緩沖區(qū),所有發(fā)往服務(wù)器的數(shù)據(jù),存放在該緩沖區(qū),緩沖區(qū)第一個字節(jié)存放數(shù)據(jù)長度
extern unsigned char *MQTT_TxDataInPtr;                        //外部變量聲明,指向緩沖區(qū)存放數(shù)據(jù)的位置
extern unsigned char *MQTT_TxDataOutPtr;                       //外部變量聲明,指向緩沖區(qū)讀取數(shù)據(jù)的位置
extern unsigned char *MQTT_TxDataEndPtr;                       //外部變量聲明,指向緩沖區(qū)結(jié)束的位置
extern unsigned char  MQTT_CMDBuf[C_NUM][BUFF_UNIT];           //外部變量聲明,命令數(shù)據(jù)的接收緩沖區(qū)
extern unsigned char *MQTT_CMDInPtr;                           //外部變量聲明,指向緩沖區(qū)存放數(shù)據(jù)的位置
extern unsigned char *MQTT_CMDOutPtr;                          //外部變量聲明,指向緩沖區(qū)讀取數(shù)據(jù)的位置
extern unsigned char *MQTT_CMDEndPtr;                          //外部變量聲明,指向緩沖區(qū)結(jié)束的位置


extern char ClientID[128];     //外部變量聲明,存放客戶端ID的緩沖區(qū)
extern int  ClientID_len;      //外部變量聲明,存放客戶端ID的長度
extern char Username[128];     //外部變量聲明,存放用戶名的緩沖區(qū)
extern int  Username_len;           //外部變量聲明,存放用戶名的長度
extern char Passward[128];     //外部變量聲明,存放密碼的緩沖區(qū)
extern int  Passward_len;           //外部變量聲明,存放密碼的長度
extern char ServerIP[128];     //外部變量聲明,存放服務(wù)器IP或是域名
extern int  ServerPort;        //外部變量聲明,存放服務(wù)器的端口號


extern char Ping_flag;         //外部變量聲明,ping報文狀態(tài)      0:正常狀態(tài),等待計時時間到,發(fā)送Ping報文
                               //外部變量聲明,ping報文狀態(tài)      1:Ping報文已發(fā)送,當(dāng)收到 服務(wù)器回復(fù)報文的后 將1置為0
extern char Connect_flag;      //外部變量聲明,同服務(wù)器連接狀態(tài)  0:還沒有連接服務(wù)器  1:連接上服務(wù)器了
extern char ReConnect_flag;    //外部變量聲明,重連服務(wù)器狀態(tài)    0:連接還存在  1:連接斷開,重連
extern char ConnectPack_flag;  //外部變量聲明,CONNECT報文狀態(tài)   1:CONNECT報文成功
extern char SubcribePack_flag; //外部變量聲明,訂閱報文狀態(tài)      1:訂閱報文成功


void MQTT_Buff_Init(void);
void MQTT_Buff_ReInit(void);
void AliIoT_Parameter_Init(void);
void MQTT_ConectPack(void);
void MQTT_Subscribe(char *, int);
void MQTT_PingREQ(void);
void MQTT_PublishQs0(char *, char *, int);
void MQTT_DealPushdata_Qs0(unsigned char *);        
void TxDataBuf_Deal(unsigned char *, int);
void CMDBuf_Deal(unsigned char *, int);


#endif

Screenshot_20210404-160004.jpg (823.56 KB, 下載次數(shù): 142)

Screenshot_20210404-160004.jpg





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1