資源簡介
Esp8266和MQTT協(xié)議連接onenet,可以上傳數(shù)據(jù)到平臺設(shè)備,onenet平臺下發(fā)命令

代碼片段和文件信息
#include?“onenet.h“
extern?unsigned?char?esp8266_buf[256];
//==========================================================
// 函數(shù)名稱: OneNET_Devlink
// 函數(shù)功能: 與onenet創(chuàng)建連接
// 入口參數(shù): 無
// 返回參數(shù): 1-成功 0-失敗
// 說明: 與onenet平臺建立連接
//==========================================================
_Bool?OneNET_Devlink(void)
{
MQTT_PACKET_STRUCTURE?mqttPacket?=?{NULL?0?0?0}; //協(xié)議包
unsigned?char?*dataPtr;
_Bool?status?=?1;
printf(“OneNET_Devlink\r\n“);
printf(“PROID:?%s AUIF:?%s DEVID:%s\r\n“?PROID?AUTH_INFO?DEVID);
if(MQTT_PacketConnect(PROID?AUTH_INFO?DEVID?256?0?MQTT_QOS_LEVEL0?NULL?NULL?0?&mqttPacket)?==?0)
{
ESP8266_SendData(mqttPacket._data?mqttPacket._len); //上傳平臺
dataPtr?=?ESP8266_GetIPD(250); //等待平臺響應(yīng)
if(dataPtr?!=?NULL)
{
if(MQTT_UnPacketRecv(dataPtr)?==?MQTT_PKT_CONNACK)
{
switch(MQTT_UnPacketConnectAck(dataPtr))
{
case?0:printf(“Tips: 連接成功\r\n“);status?=?0;
break;
case?1:printf(“WARN: 連接失敗:協(xié)議錯(cuò)誤\r\n“);
break;
case?2:printf(“WARN: 連接失敗:非法的clientid\r\n“);
break;
case?3:printf(“WARN: 連接失敗:服務(wù)器失敗\r\n“);
break;
case?4:printf(“WARN: 連接失敗:用戶名或密碼錯(cuò)誤\r\n“);
break;
case?5:printf(“WARN: 連接失敗:非法鏈接(比如token非法)\r\n“);
break;
default:printf(“ERR: 連接失敗:未知錯(cuò)誤\r\n“);
break;
}
}
}
MQTT_DeleteBuffer(&mqttPacket); //刪包
}
else
printf(?“WARN: MQTT_PacketConnect?Failed\r\n“);
return?status;
}
unsigned?char?OneNET_FillBuf(char?*buf)
{
char?text[32];
memset(text?0?sizeof(text));
strcpy(buf?“;“);
memset(text?0?sizeof(text));
sprintf(text?“Tempreture%2.1f;“?23.4);
strcat(buf?text);
memset(text?0?sizeof(text));
sprintf(text?“Humidity%2.1f;“?66.8);
strcat(buf?text);
return?strlen(buf);
}
//json格式打包函數(shù),type=5的方式
int?MqttSample_PackDataByJson5(char?*buf)
{
char?text[32];
memset(text?0?sizeof(text));
strcpy(buf?“;“);
memset(text?0?sizeof(text));
sprintf(text?“Tempreture%2.1f;“?23.4);
strcat(buf?text);
memset(text?0?sizeof(text));
sprintf(text?“Humidity%2.1f;“?66.8);
strcat(buf?text);
return?strlen(buf);
}
//MQTT協(xié)議采用type=2方式封裝數(shù)據(jù)函數(shù)(二進(jìn)制發(fā)送數(shù)據(jù))
//payload:存儲打包的數(shù)據(jù)
//bin是發(fā)送的數(shù)組的首地址
//size是數(shù)組的長度
int?MqttSample_PackDataByBinary2(u8?*payloadu8?*bin?uint32_t?size)
{
int?payload_len;
????char?json[]=“{\“ds_id\“:\“binary\“}“;
????unsigned?short?json_len;
????
????payload_len?=?1?+?2?+?strlen(json)/sizeof(char);?
????json_len?=?strlen(json)/sizeof(char);
????
????//Byte1,數(shù)據(jù)點(diǎn)類型指示:type=2二進(jìn)制數(shù)據(jù)
????payload[0]?=?‘\x02‘;
????//Byte2、Byte3指示后面json字符串長度
????payload[1]?=?(json_len?&?0xFF00)?>>?8;
????payload[2]?=?json_len?&?0xFF;
//把json復(fù)制到t_payload數(shù)組中
memcpy(payload+3?json?json_len);
payload[payload_len]?=?(size?&?0xFF000000)>>24;
payload[payload_len+1]=(size?&?0x00FF0000)>>16;
payload[payloa
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????7108??2018-05-25?16:50??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\ESP8266\esp8266.c
?????文件???????1128??2018-05-25?17:01??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\ESP8266\esp8266.h
?????文件????????568??2017-05-26?09:03??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\MQTT\common.h
?????文件??????34242??2018-06-11?13:38??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\MQTT\mqttkit.c
?????文件???????6858??2018-05-25?10:25??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\MQTT\mqttkit.h
?????文件??????15278??2017-06-14?13:54??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\MQTT\sample.c
?????文件????????680??2017-06-14?13:46??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\MQTT\SDK使用說明.txt
?????文件???????7145??2018-06-13?10:15??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\onenet.c
?????文件????????589??2018-06-13?09:13??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\OneNET\onenet.h
?????文件???????6956??2015-12-10?17:06??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\DebugConfig\STM32F103RCT6_STM32F103RC_1.0.0.dbgconf
?????文件???????6956??2015-12-10?17:06??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\DebugConfig\Target_1_STM32F103RC_1.0.0.dbgconf
?????文件????????339??2018-06-13?09:53??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\EventRecorderStub.scvd
?????文件??????53541??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\Listings\startup_stm32f10x_hd.lst
?????文件?????150715??2018-06-13?10:15??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\Listings\基于MQTT協(xié)議上傳數(shù)據(jù).map
?????文件?????224886??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件????????340??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????240056??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????233789??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件????????593??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????260124??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????????19??2018-06-13?10:11??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????224346??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件????????314??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????236408??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????242418??2018-06-13?09:33??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件????????810??2018-06-13?09:33??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件?????251244??2018-06-13?09:33??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件??????20598??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件????????280??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
?????文件??????61736??2018-06-13?08:35??ESP8266和MQTT協(xié)議修改版\ESP8266和MQTT協(xié)議\PROJECT\ob
............此處省略58個(gè)文件信息
評論
共有 條評論