无线组网技术-ESP8266数据的发送与接收.pptxVIP

  • 19
  • 0
  • 约1.8千字
  • 约 15页
  • 2022-10-18 发布于江西
  • 举报

无线组网技术-ESP8266数据的发送与接收.pptx

ESP8266数据发送与接收云平台设备接入协议发送传感器数据到服务器JSON简介解析服务器数据ChapterJSON简介1JSON简介JSON 指的是 JavaScript 对象表示法(JavaScript?Object?Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,NET)编程语言都支持JSON。JSON 具有自我描述性,更易理解。JSON简介JSON 语法规则JSON 语法是 JavaScript 对象表示语法的子集。JSON 数据的书写格式是:key : value大括号?{}?保存对象;中括号?[]?保存数组,数组可以包含多个对象;数据由逗号分隔。JSON简介JSON 语法规则JSON 值可以是:数字:123、-123.5字符串:“abc”、“\r\n”逻辑值: true 、false数组:[“”,123,true,null]对象:{ “name”:“邢台职业技术学院 , url: }nullJSON简介JSON 语法规则{ sites: [ { name:邢台职业技术学院 , url: }, { “name”:“搜索网 , url:www.b*** }, { name:微博 , url:www.w** } ]}Chapter云平台设备接入协议2云平台设备接入协议设备与服务器建立连接后,便可以进行传感数据的上报上传,上报报文格式如下:{t:3,datatype:1,datas:{ }或[ ],msgid: 123}云平台设备接入协议Chapter发送传感器数据到服务器3发送传感器数据到服务器—函数int8_t ESP8266_SendSensor(uint8_t sensor, char *TimeStr){ uint8_t TryGo = 0; int8_t error = 0; uint8_t TxetBuf[MAX_AT_TX_LEN]; memset(TxetBuf,0x00,MAX_AT_TX_LEN); sprintf((char *)TxetBuf,{\t\:3,\datatype\:2,\datas\:{\alarm\:{\%s\:%d}},\msgid\:001},TimeStr,sensor); if(ESP8266_IpSend((char *)TxetBuf, strlen((char *)TxetBuf)) 0) { error=-1; } else { for(TryGo = 0; TryGo50; TryGo++) { if(strstr((const char *)AT_RX_BUF, (const char *)\status\:0) == NULL) { error = -1; } else { error = 0; break; } delay_ms(10); } } return error;}Chapter解析服务器数据4解析服务器数据—函数uint8_t ESP8266_GetIpData(uint8_t *AtRxBuf, char *GetIpData){ char *Point = NULL; uint8_t len = 0; Point = strstr((const char *)AtRxBuf, (const char *)+IPD,); if(Point != NULL) { len=(Point[5]-0)*10+Point[6]-0; Point = strstr((const char *)AtRxBuf, (const char *):)+1; memcpy(GetIpData, Point, len); GetIpData[len]=\0; printf(“收到IP数据%s\r\n,GetIpData); printf(“收到IP数据长度=%d\r\n,len); } return (len);}

文档评论(0)

1亿VIP精品文档

相关文档