標(biāo)題: W806物聯(lián)網(wǎng)通訊教程一(W806+ESP8266+DHT11+Onenet) [打印本頁]
作者: qzc0927 時間: 2021-11-11 13:49
標(biāo)題: W806物聯(lián)網(wǎng)通訊教程一(W806+ESP8266+DHT11+Onenet)
這段時間工作比較忙,兩周沒寫文章了,這次分享是使用W806開發(fā)板,通過ESP8266將溫濕度數(shù)據(jù)上傳到Onenet,ESP8266這個模塊比較大眾,本身也支持openmcu,這里主要是是使用AT固件,跟單片進(jìn)行進(jìn)行通訊,因為使用AT指令的應(yīng)用比較多,所以實驗下W806開發(fā)板和ESP8266的通訊。
1:硬件環(huán)境準(zhǔn)備W806開發(fā)板:
DHT11溫濕度模塊:
WIFI模塊ESP8266:
杜邦線若干:
2:軟件環(huán)境開發(fā)2.1:溫濕度信息獲取如何驅(qū)動dht11溫濕度模塊,請查看下面這篇具體的文章,公眾號上有講。
2.2:AT指令通訊ESP8266的通訊指令有很多,我說下具體需要用到的幾條命令。發(fā)送AT命令的時候,需要注意換行。
下面具體說下幾條要用到的AT指令:
2.3.1:AT應(yīng)答指令2.3.2:關(guān)閉回顯2.3.3:查看軟件版本2.3.4:設(shè)置工作模式
2.3.5:加入熱點2.3.6:連接Onenet服務(wù)器2.3.7:設(shè)置透傳數(shù)據(jù)2.3.8:準(zhǔn)備發(fā)送數(shù)據(jù)2.3.9:將溫濕度數(shù)據(jù)上傳在串口發(fā)送框下,發(fā)送自己的信息數(shù)據(jù)。
具體代碼實現(xiàn):
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}]}]}";
//發(fā)送AT應(yīng)答
if (sendCommand("AT\r\n", "OK\r\n", 3000, 5) == 0);
else print_Error_Code(1);
Delay_ms(100);
//關(guān)閉回顯
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的設(shè)備號/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));//清緩存數(shù)據(jù)
printf("send_data_ok\r\n");
}
}3:Onenet環(huán)境配置3.1:登錄Onenet平臺https://open.iot.10086.cn/console/
3.2:進(jìn)入產(chǎn)品https://open.iot.10086.cn/develop/global/product/#/public?protocol=3&other=1
3.3:選擇http協(xié)議Onenet里面協(xié)議有很多,我這里選擇http協(xié)議來進(jìn)行說明。
3.4:創(chuàng)建產(chǎn)品添加產(chǎn)品信息如下:
創(chuàng)建完成之后,查看產(chǎn)品頁面。
進(jìn)入設(shè)備列表,進(jìn)行添加設(shè)備,完成如下:
3.5:獲取API和密鑰,代碼編寫要用到跟代碼里面的信息要一一對應(yīng)。
4:物聯(lián)網(wǎng)數(shù)據(jù)上傳就是將獲取到的溫濕度數(shù)據(jù)進(jìn)行上傳,你也可以添加自己的驅(qū)動數(shù)據(jù)上傳。
5:實驗現(xiàn)象查看設(shè)備里面的數(shù)據(jù)流信息,數(shù)據(jù)已經(jīng)上傳,雙11這一天。
溫度歷史數(shù)據(jù):
濕度歷史數(shù)據(jù):
實物圖:
Snipaste_2021-11-11_13-45-38.jpg (134.55 KB, 下載次數(shù): 72)
下載附件
2021-11-11 13:47 上傳
視頻地址:
https://www.bilibili.com/video/BV19h411t73F?share_source=copy_web
作者: liuliangdt 時間: 2021-11-13 00:23
樓主你好!我昨天也買了一塊一樣的W806芯片開發(fā)板,打開CDK后傻眼了。純英語軟件沒幾個認(rèn)識的單詞,折騰了一下午也沒把W806芯片工程建好。你能不能用CDK軟件從零開始建一個能順利編譯W806芯片的空工程結(jié)構(gòu)教程?教程要盡量詳細(xì),步驟要連續(xù)清晰,F(xiàn)在網(wǎng)上我還沒找到W806芯片從零步驟開始建工程的教程,做好了以后就是零基礎(chǔ)入門教程了,為后人在造輪子。
作者: hhdsdy 時間: 2021-11-13 00:50
哈哈,還好我當(dāng)初忍住誘惑沒買,多花一點錢買ESP32模塊自己做小系統(tǒng)板,用Arduino還是很方便的
作者: michaelchain 時間: 2021-11-29 02:53
這種能看懂么
https://github.com/IOsetting/wm-sdk-w806/blob/main/README.cn.md
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |