main函数
#include "usart.h"
#include "esp8266.h"
#include "onenet.h"
#include "led.h"
#include "delay.h"
/*
USART0: PA2 TX PA3 RX WIFI模块
*/
int main(void)
{
delay_init();
unsigned short timeCount = 0; //发送间隔变量
USART1_Configuration(); //血压模块
USART0_Configuration(); //esp8266
ESP8266_Init(); //初始化ESP8266
while(OneNet_DevLink()) //接入OneNET
delay_ms(500);
while(1)
{
if(++timeCount >= 100) //发送间隔10s
{
OneNet_SendData(); //发送数据
timeCount = 0;
ESP8266_Clear();
}
}
}
修改此函数中的参数,以sprintf(text, "\"DBP\":{\"value\":%d},", DBP);为例,DBP需要与onenet中定义的标识符名称一致,且类型也需要一致。
unsigned char OneNet_FillBuf(char *buf)
{
char text[100];
memset(text, 0, sizeof(text));
strcpy(buf, "{\"id\":\"123\",\"params\":{");
memset(text, 0, sizeof(text));
sprintf(text, "\"DBP\":{\"value\":%d},", DBP);
strcat(buf, text);
memset(text, 0, sizeof(text));
sprintf(text, "\"SBP\":{\"value\":%d},", SBP);
strcat(buf, text);
memset(text, 0, sizeof(text));
sprintf(text, "\"oxygen\":{\"value\":%d},", oxygen);
strcat(buf, text);
memset(text, 0, sizeof(text));
sprintf(text, "\"temp\":{\"value\":%d}",temp);
strcat(buf, text);
strcat(buf, "}}");
return strlen(buf);
}
再在ESP8266_WIFI_INFO中修改WIFI的名称和密码
修改ONENET.c中的产品ID,设备密钥,和产品名称,与自己ONENET中的一致即可。