這段時間工作比較忙,兩周沒寫文章了,這次分享是使用W806開發板,通過ESP8266將溫濕度數據上傳到Onenet,ESP8266這個模塊比較大眾,本身也支持openmcu,這里主要是是使用AT固件,跟單片進行進行通訊,因為使用AT指令的應用比較多,所以實驗下W806開發板和ESP8266的通訊。 1:硬件環境準備W806開發板: DHT11溫濕度模塊: WIFI模塊ESP8266: 杜邦線若干: 2:軟件環境開發2.1:溫濕度信息獲取如何驅動dht11溫濕度模塊,請查看下面這篇具體的文章,公眾號上有講。 2.2:AT指令通訊ESP8266的通訊指令有很多,我說下具體需要用到的幾條命令。發送AT命令的時候,需要注意換行。 下面具體說下幾條要用到的AT指令: 2.3.1:AT應答指令2.3.2:關閉回顯2.3.3:查看軟件版本2.3.4:設置工作模式
2.3.5:加入熱點2.3.6:連接Onenet服務器2.3.7:設置透傳數據2.3.8:準備發送數據2.3.9:將溫濕度數據上傳在串口發送框下,發送自己的信息數據。 具體代碼實現: void esp8266_atcmd_queue(void)
{
uint8_t ret;
char send_buf[512]={0};
char data_len[32]={0};
char data_buf[]="{\"datastreams\":[{\"id\":\"temp\",\"datapoints\":[{\"value\":22}]},{\"id\":\"humi\",\"datapoints\":[{\"value\":65}]}]}";
//發送AT應答
if (sendCommand("AT\r\n", "OK\r\n", 3000, 5) == 0);
else print_Error_Code(1);
Delay_ms(100);
//關閉回顯
if (sendCommand("ATE0\r\n", "OK\r\n", 3000, 5) == 0);
else print_Error_Code(2);
Delay_ms(100);
if (sendCommand("AT+CWJAP=\"替換你自己的WIFI熱點名\",\"替換你自己的wifi密碼\"\r\n", "OK\r\n",3000, 5)==0);
else print_Error_Code(4);
Delay_ms(100);
if (sendCommand("AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n", "CONNECT", 10000, 5)==0);
else print_Error_Code(5);
Delay_ms(100);
if (sendCommand("AT+CIPMODE=1\r\n", "OK\r\n", 3000, 10)==0);
else print_Error_Code(6);
Delay_ms(10);
if (sendCommand("AT+CIPSEND\r\n", ">", 3000, 10)==0);
else print_Error_Code(7);
Delay_ms(10);
strcpy(send_buf, "POST /devices/替換你自己的onenet的設備號/datapoints HTTP/1.1");
strcat(send_buf, "\r\n");
strcat(send_buf, "api-key:替換你子的密鑰");
strcat(send_buf, "\r\n");
strcat(send_buf, "Host:api.");
strcat(send_buf, "\r\n");
sprintf(data_len,"Content-Length:%d",strlen(data_buf));
strcat(send_buf, data_len);
strcat(send_buf, "\r\n");
strcat(send_buf, data_buf);
if (sendCommand(send_buf, "succ", 3000, 10)== 0)
{
memset(send_buf, 0, sizeof(send_buf));//清緩存數據
printf("send_data_ok\r\n");
}
}3:Onenet環境配置3.1:登錄Onenet平臺https://open.iot.10086.cn/console/ 3.2:進入產品https://open.iot.10086.cn/develop/global/product/#/public?protocol=3&other=1 3.3:選擇http協議Onenet里面協議有很多,我這里選擇http協議來進行說明。 3.4:創建產品添加產品信息如下: 創建完成之后,查看產品頁面。 進入設備列表,進行添加設備,完成如下: 3.5:獲取API和密鑰,代碼編寫要用到跟代碼里面的信息要一一對應。 4:物聯網數據上傳就是將獲取到的溫濕度數據進行上傳,你也可以添加自己的驅動數據上傳。 5:實驗現象查看設備里面的數據流信息,數據已經上傳,雙11這一天。 溫度歷史數據: 濕度歷史數據: 實物圖:
Snipaste_2021-11-11_13-45-38.jpg (134.55 KB, 下載次數: 72)
下載附件
2021-11-11 13:47 上傳
視頻地址: https://www.bilibili.com/video/BV19h411t73F?share_source=copy_web
|