STM32F103通過ESP8266WIFI使用TCP透傳協議連接至移動ONENET實現遠程控制LED燈
- 硬件設備:STM32F103RCT6開發板, ATK-ESP8266wifi模塊
- 軟件開發環境:Keil5
一:ONENET平臺配置
1.註冊產品及添加設備
2.上傳lua腳本
可從onenet平臺上下載demo,腳本中最重要的兩個函數,根據需要修改,本例子中,只是把上傳的數據解析爲Distance數據存在onenet平臺上,沒收到一包數據,就返回給終端一個received字符串。
3.創建應用
二:STM32代碼開發
- WIFI 連接至onenet代碼
char esp8266_init()
{
char * ok = "OK";
char * at = "AT\r\n";
char * at_cwmode = "AT+CWMODE=1\r\n";
char * at_rst = "AT+RST\r\n";
char * at_cifsr = "AT+CIFSR\r\n";
char * at_cipmux = "AT+CIPMUX=0\r\n";
char * at_cipmode = "AT+CIPMODE=1\r\n";
char * at_cipstart = "AT+CIPSTART=\"TCP\",\"183.230.40.40\",1811\r\n";
char * at_cipsend = "AT+CIPSEND\r\n";
char at_cwjap[64];
memset(at_cwjap, 0, sizeof(at_cwjap));
strcat(at_cwjap,"AT+CWJAP=\"");
strcat(at_cwjap,WIFI_SSID);
strcat(at_cwjap,"\",\"");
strcat(at_cwjap,WIFI_KEY);
strcat(at_cwjap,"\"\r\n");
while(esp8266_send_at(at, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cwmode, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_rst, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cwjap, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cifsr, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cipmux, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cipmode, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cipstart, ok)){
delay_ms(1000);
}
while(esp8266_send_at(at_cipsend, ok)){
delay_ms(1000);
}
onenet_tcp_regist();
printf("Connect to onenet success\r\n");
return 0;
}
2.解析onenet下發命令代碼
void keep_connect_onenet()
{
char temp[12];
char info = 0;
memset(temp, 0, sizeof(temp));
sprintf(temp, "%d", rand()%100);
USART1_Send_Data(temp, strlen((const char *)temp));
//處理onenet下發的信息
delay_ms(500);
if(URecv_Index){
if(strstr(URecv, "received")!=NULL){
printf("upload data to onenet ok\r\n");
info++;
}
if(strstr(URecv, "LED_ON")!=NULL){
printf("get onenet cmd LED_ON\r\n");
led_turn_on();
info++;
}
if(strstr(URecv, "LED_OFF")!=NULL){
printf("get onenet cmd LED_OFF\r\n");
led_turn_off();
info++;
}
if(info){
URecv_Index = 0;
memset(URecv, 0, sizeof(URecv));
}
}
}
三 源碼連接:https://download.csdn.net/download/oofish0519/12510989