/** * @brief 使用EMW3081模块和EDP协议向ONENET平台发送一个二进制文件,其中二进制文件为一个图片文件。 **/ int main(void) { //SystemInit(); LED_Init(); //LED指示灯初始化函数 usart1_config(); //USART1串口初始化函数 usart2_config(); //USART2串口初始化函数 Delay(2000); while(1) { LED_Switch(LED_ON,LED_R|LED_G|LED_Y|LED_B); //点亮开发板四个指示灯,表示程序进入主流程 EMW3081_Reboot(); //重启EMW3081模块 printf("%s\r\n","[main]ENTER COITINIT."); SendCmd(CIOTINIT,"+OK",40); //初始化EMW3081在ONENET平台的设备参数 printf("%s\r\n","[main]ENTER COITSTART."); SendCmd(CIOTSTART,"+OK",40); //启动EMW3081向平台发送数据 LED_Switch(LED_OFF,LED_R|LED_G|LED_Y|LED_B); //熄灭开发板四个指示灯,表示程序完成设备连接,进入数据发送循环 while(1) { EMW3081_SendBinDat(); //使用EMW3081向平台发送数据 if((NULL != strstr(usart2_rcv_buf, "+ERR"))) //检测EMW3081发送一个二进制文件过程是否出错 { break; //如果文件发送出错,退出数据发送循环 } } } }
/** * @brief 使用esp8266模块和EDP协议向ONENET平台发送开发板四个LED指示灯的实时状态,并通过平台或者开发板按键控制LED。 **/ int main(void) { //SystemInit(); LED_Init(); //LED指示灯初始化函数 KEY_Init(); //按键初始化函数 USART1_Init(); //USART1串口初始化函数 USART2_Init(); //USART2串口初始化函数 while(1) { LED_Switch(LED_ON,LED_R|LED_G|LED_Y|LED_B); //点亮开发板四个指示灯,表示程序进入主流程 ESP8266_Init(); //ESP8266初始化 ESP8266_DevLink(DEVICEID,APIKEY,20); //和平台建立设备连接 LED_Switch(LED_OFF,LED_R|LED_G|LED_Y|LED_B); //熄灭开发板四个指示灯,表示程序完成设备连接,进入数据发送循环 while(1) { if(!(ESP8266_CheckStatus(30))) //检测ESP8266模块连接状态 { ESP8266_SendDat(); //向平台发送数据 } else { break; } } } }