在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用一個(gè)ESP8266加上STM32單片機(jī)做一個(gè)小產(chǎn)品?

GReq_mcu168 ? 來源:果果小師弟 ? 作者:果果小師弟 ? 2022-07-05 15:50 ? 次閱讀

【一】

說起學(xué)習(xí)物聯(lián)網(wǎng),相信大家最先想到的應(yīng)該就是ESP8266了吧?這個(gè)模塊可以連網(wǎng)(就是連接你家中的路由器),也可以作為一個(gè)熱點(diǎn)來讓你的手機(jī)連接它,是不是很奇妙?

雖然ESP8266程序和相關(guān)的產(chǎn)品已經(jīng)十分成熟了,但還是有一些剛?cè)腴T的小伙伴不知道怎么學(xué)。比如,如何用一個(gè)ESP8266加上STM32單片機(jī)做一個(gè)小產(chǎn)品?這個(gè)學(xué)習(xí)的路線又是怎樣的?我們應(yīng)該如何入門?對(duì)此,我建議:1、先單獨(dú)學(xué)習(xí)ESP8266模塊,搞懂他的AT指令集,通過串口調(diào)試助手和網(wǎng)絡(luò)調(diào)試助手單獨(dú)把這個(gè)模塊搞明白。2、學(xué)習(xí)mqtt協(xié)議,為啥第二步要學(xué)習(xí)mqtt協(xié)議呢?因?yàn)槲覀僥sp8266是要連接服務(wù)器的,簡單地說mqtt就是ESP8266與服務(wù)器之間的通信協(xié)議,這個(gè)協(xié)議不難,我已經(jīng)寫好了筆記到時(shí)候在這個(gè)公眾號(hào)直接發(fā)布就可以了。3、就是要學(xué)習(xí)android studio自己做一個(gè)app。既然是物聯(lián)網(wǎng)控制,當(dāng)然有app了,雖然阿里云還有機(jī)智云有直接可以用的app,但作為一個(gè)電子愛好者,不能僅限于云智能今天,就帶你用STM32和ESP8266一個(gè)比如溫濕度顯示,并在手機(jī)app上實(shí)時(shí)。

學(xué)習(xí)方法:
1、多去各大論壇查資料去B站找相關(guān)的視頻
2、學(xué)會(huì)舉一反三,讓你點(diǎn)亮一個(gè)LED,就要會(huì)滅一個(gè)led;
3、多動(dòng)手,程序不是寫出來的,是調(diào)出來和改出來的。

ESP8266 01S簡介:

使用AT功能之前,模塊內(nèi)必須有AT的固件,每個(gè)模塊的生產(chǎn)廠商都會(huì)對(duì)樂鑫官方的AT固件做一些修改和刪減,但是其最核心的AT指令功能都是相同的。我們買的ESP8826模塊一般都有刷好的固件,所以不用自己刷固件。

ESP-01S WiFi模塊是一款低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊。可滿足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心處理器ESP8266在較小尺寸封裝中集成了業(yè)界領(lǐng)先的Tensilica L106超低功耗32位微型MCU,帶有16位精簡模式,主頻支持80MHz和160MHz,支持RTOS,板載天線。該模塊支持完整的TCP/IP協(xié)議棧。用戶可以使用該模塊為現(xiàn)有的設(shè)備添加聯(lián)網(wǎng)功能,也可以構(gòu)建獨(dú)立的網(wǎng)絡(luò)控制器

(1)模塊供電電壓為直流3.3V、電流為500mA以上。

(2Wi-Fi模塊IO最大輸出電流為12mA。

(3)Wi-Fi模塊NRST管腳低電平有效;EN使能管腳高電平有效。

(4)Wi-Fi模塊進(jìn)入升級(jí)模式:GPIO0處于低電平,然后模塊復(fù)位上電;Wi-Fi模塊進(jìn)入正常工作模式:GPIO0處于高電平,模塊復(fù)位上電。

(5)Wi-Fi模塊的RXD接外部MCU的TXD,Wi-Fi模塊的TXD接外部MCU的RXD。

e1737458-fc34-11ec-ba43-dac502259ad0.png

e18c2b74-fc34-11ec-ba43-dac502259ad0.png ?e1a138e8-fc34-11ec-ba43-dac502259ad0.png

ESP8266刷固件:

刷固件可以用杜邦線,也可以用刷固件的模塊(淘寶上幾塊錢就可以買到),如下圖所示:e1bc817a-fc34-11ec-ba43-dac502259ad0.png

AT指令控制ESP8266模組:

樂鑫官方的AT指令有將近100條,但常用的就十幾條,理解起來也非常簡單,現(xiàn)在舉例一些常用指令,并使用這些指令一步一步的通過TCP連接到遠(yuǎn)程的服務(wù)器實(shí)現(xiàn)收發(fā)數(shù)據(jù),更多AT指令可以查閱《ESP8266 AT指令集手冊》。

e1d2f126-fc34-11ec-ba43-dac502259ad0.png總結(jié)AT指令的構(gòu)成就是,每條指令要以AT開始,后面跟要查詢(讀)或者要設(shè)置寫)的參數(shù),例如查詢WIFI模式對(duì)應(yīng)的指令為AT+CWMODE?,設(shè)置WIFI模式為AT+CWMODE=3。另外,要求的回車換行符結(jié)尾是說要在待發(fā)送的數(shù)據(jù)后面追加 ,即十六進(jìn)制的0x0D 0x0A。注意:在使用串口調(diào)試助手發(fā)送AT指令時(shí),只需要在待發(fā)送指令后面加回車即可,大家可以勾選“按十六進(jìn)制發(fā)送”,觀察數(shù)據(jù)后面是否追加了0x0D 0x0A。

1、測試模塊是否正常

e1f3ed36-fc34-11ec-ba43-dac502259ad0.gif該指令通常在開機(jī)后查詢模塊是否正常啟動(dòng),如果回復(fù)OK,則表示為正常啟動(dòng)。

2、開啟/關(guān)閉回顯

從上圖可以看出,我們發(fā)送了一個(gè)AT,模塊回復(fù)了AT OK,即模塊將發(fā)送過來的指令原封不動(dòng)的先復(fù)述了一遍后接著發(fā)送有效回復(fù),我們稱這種復(fù)述為回顯,關(guān)閉回顯(發(fā)送ATE0)后如再次發(fā)送AT,則只回復(fù)OK。如下圖所示:

e2241452-fc34-11ec-ba43-dac502259ad0.gif

3、設(shè)置AP模式及AP參數(shù)

WIFI模式有兩種,一種叫AP模式,一種叫Station模式,AP就是我們平時(shí)所說的熱點(diǎn),如WIFI路由器,開了熱點(diǎn)的手機(jī),或者是公共熱點(diǎn)等,這些AP設(shè)備可以允許其他設(shè)備(如手機(jī),筆記本電腦等)輸入熱點(diǎn)名和密碼(也可不設(shè)置密碼)后接入,Station則是前面說的連接AP的設(shè)備,如:手機(jī),筆記本電腦等,當(dāng)ESP8266設(shè)置為AP模式時(shí),其他設(shè)備可以接入該熱點(diǎn),最多支持4臺(tái)Station設(shè)備接入。AP模式也是ESP8266默認(rèn)的模式。

設(shè)置ESP8266流程如下:

1、首先發(fā)送AT+CWMODE?查詢模塊當(dāng)前處于哪一種模式,下圖可以知道AT+CWMODE=2就是熱點(diǎn)模式。

e23c8e2e-fc34-11ec-ba43-dac502259ad0.gif2、然后我們發(fā)送AT+CWMODE=2,讓模塊處于熱點(diǎn)模式下,同時(shí)我們的電腦上也會(huì)顯示熱點(diǎn)名稱。e24c3f18-fc34-11ec-ba43-dac502259ad0.png

3、我們現(xiàn)在自定義設(shè)置我們ESP8266的熱點(diǎn)名和密碼,來看看我們電腦能不能連接我們所設(shè)置的好的ESP8266模塊。

1、設(shè)置WIFI模式為AP模式

2、設(shè)置AP熱點(diǎn)屬性

AT+CWSAP=AT+CWSAP_DEF="ESP8266-XSD","12345678",5,3

其含義為:熱點(diǎn)名為ESP8266-XSD,密碼為12345678,使用通道5,加密方式為 WPA2_PSK,這里的通道對(duì)應(yīng)的就是不同的射頻頻率,如果同一空間內(nèi)存在相同通道的WIFI信號(hào),將會(huì)產(chǎn)生干擾,影響上網(wǎng)質(zhì)量,因此可以設(shè)置通道來避免這種干擾,常用的通道有1 6 11,因?yàn)檫@三個(gè)通道互不產(chǎn)生干擾。設(shè)置效果如下圖所示:

e2676e46-fc34-11ec-ba43-dac502259ad0.gif

連接數(shù)量可以限制Station設(shè)備的接入數(shù)量,廣播或者不廣播SSID就是指是否隱藏?zé)狳c(diǎn)名,使熱點(diǎn)更加安全。此外,AT+CWSAP=AT+CWSAP_DEF表示設(shè)置的參數(shù)會(huì)存儲(chǔ)的flash,還有另外一個(gè)類似指令A(yù)T+CWSAP=AT+CWSAP_ CUR,該條指令表示設(shè)置的參數(shù)重啟后失效,即不保存到flash中。其他的AT指令也有類似的后綴。

4、設(shè)置為Station模式

該模式是平時(shí)應(yīng)用最多的模式,因?yàn)槲锫?lián)網(wǎng)設(shè)備需要連接到家中路由才可以接入外網(wǎng),此時(shí)設(shè)備就作為Station連接到AP熱點(diǎn)。設(shè)置Station并連接AP流程如下:

1、設(shè)置WIFI模式為Station
2、連接到家中路由器

AT+CWJAP="liuyao","liuyao1001"

下圖為連接過程的串口輸出:

e27f46d8-fc34-11ec-ba43-dac502259ad0.gif這時(shí)候我們進(jìn)入家中的路由器,就能看到我們的ESP8266模塊連接到了家中的路由器。如果想要斷開連接,可以使用AT+CWQAP,就可以斷開ESP8266與路由器的連接。e2931d02-fc34-11ec-ba43-dac502259ad0.png

現(xiàn)在我們的ESP8266已經(jīng)與家中的路由器連接上了,現(xiàn)在我們?nèi)绻氆@取連接的這個(gè)ESP8266的IP可以使用AT+CIPSTA?指令,返回的是路由器分配給ESP8266的局域網(wǎng)IP以及網(wǎng)關(guān)地址和子網(wǎng)掩碼。

e29ee09c-fc34-11ec-ba43-dac502259ad0.png

5、使用TCP實(shí)現(xiàn)局域網(wǎng)內(nèi)的設(shè)備通信

建立TCP連接(AT+CIPSTART)

TCP實(shí)現(xiàn)局域網(wǎng)內(nèi)的設(shè)備通信時(shí)先要讓ESP8266連接到家中的熱點(diǎn)。該條指令可以指定建立連接的協(xié)議類型,通常使用的有兩種:TCP和UDP。

我們先打開網(wǎng)絡(luò)調(diào)試助手,并將其設(shè)置為TCP Server端,具體設(shè)置如下:e2ae8e70-fc34-11ec-ba43-dac502259ad0.png

接下來,發(fā)送AT指令建立TCP連接,成功連接會(huì)提示CONNECT,接著使用發(fā)送指令:AT+CIPSEND=14,其中15是發(fā)送數(shù)據(jù)的長度,該指令發(fā)送完成后,接收窗口會(huì)顯示 > ,我們接著在發(fā)送窗口發(fā)送"I m TCP Client",TCP Server端會(huì)收到該信息,接著再通過TCP Server發(fā)送"I m TCP Server",串口接收端會(huì)打印Client收到的數(shù)據(jù)。

下面就是ESP8266連接當(dāng)前環(huán)境的熱點(diǎn),與服務(wù)器建立TCP連接,傳輸數(shù)據(jù)的過程,所有的字符和標(biāo)點(diǎn)必須是英。(1)設(shè)置WIFI模式為Station:AT+CWMODE=1(2)連家中路由器:AT+CWJAP="liuyao","liuyao1001"(3)TCP:AT+CIPSTART="TCP","192.168.0.103",8080(4)提示發(fā)送數(shù)據(jù)長度為14:AT+CIPSEND=14(5)串口調(diào)試助手發(fā)送:I m TCP Client(6)網(wǎng)絡(luò)調(diào)試助手發(fā)送:I m TCP Server

e2cccfc0-fc34-11ec-ba43-dac502259ad0.png

這一步很多人可能很懵,不知道為啥要這樣做,你這個(gè)搞的串口調(diào)試助手還有網(wǎng)絡(luò)調(diào)試助手還有啥TCP Server到底是啥意思啊?

哈哈,我相信很多初學(xué)者學(xué)到這里也不是很清楚。我這里簡單說一下,我們的用ESP8266是不是要讓它連到家中的網(wǎng)啊,那在這里我們的網(wǎng)絡(luò)調(diào)試助手的TCP Server就是我們要連接的網(wǎng)絡(luò)。

有人又要說了,我要連家中路由器的網(wǎng)啊,為啥要連網(wǎng)絡(luò)調(diào)試助手的網(wǎng)啊?這是因?yàn)槿绻氵B家中的網(wǎng),請(qǐng)問你如何給你家的路由器發(fā)送數(shù)據(jù)啊!你怎么知道路由器接收到了數(shù)據(jù)啊!路由器又咋給你發(fā)送數(shù)據(jù)啊!你又咋接收數(shù)據(jù)啊!我們這里用網(wǎng)絡(luò)調(diào)試助手的目的就是讓網(wǎng)絡(luò)調(diào)試助手來代替路由器局域網(wǎng)。TCP Server就是服務(wù)端的意思也是就是服務(wù)器。至于為啥用串口調(diào)試助手我就不用說了吧,只有你在串口助手上調(diào)試好了,我們才用單片機(jī)的串口結(jié)合ESP8266共同代替客服端,也就不需要調(diào)試助手了。

所以說,我們一定要在串口調(diào)試助手上把相關(guān)的數(shù)據(jù)調(diào)通了,把原理過程搞懂了之后我們再去搞單片機(jī)程序,再去搭建你的服務(wù)器而不是用網(wǎng)絡(luò)調(diào)試助手代替了。怎么樣現(xiàn)在明白了吧!

開啟透傳傳輸(AT+CIPMODE=1)

前面在使用TCP進(jìn)行數(shù)據(jù)發(fā)送時(shí),在每次發(fā)送數(shù)據(jù)之前都要指定發(fā)送數(shù)據(jù)的長度,而且在接收到數(shù)據(jù)之后,還會(huì)有+IPD,< len >的前綴,這樣很不方便進(jìn)行數(shù)據(jù)的處理,因此我們可以使用AT+CIPMODE=1指令開啟透傳模式,開啟透傳模式后只需要在第一次發(fā)送數(shù)據(jù)時(shí)使用ATD+CIPSEND指令來告訴ESP8266開始透傳發(fā)送,隨后我們直接發(fā)送想要的數(shù)據(jù)即可,在接收到數(shù)據(jù)時(shí),也沒有了+IPD,< len >前綴。

下面就是ESP8266連接當(dāng)前環(huán)境的熱點(diǎn),與服務(wù)器建立TCP連接,開啟透傳模式傳輸數(shù)據(jù)的過程,所有的字符和標(biāo)點(diǎn)必須是英。

(1)設(shè)置WIFI模式為Station:AT+CWMODE=1

(2)連家中路由器:AT+CWJAP="liuyao","liuyao1001"

(3)TCP:AT+CIPSTART="TCP","192.168.0.103",8080

(4)開啟透傳模式:AT+CIPMODE=1

(5)開始透傳發(fā)送:AT+CIPSEND

(6)串口調(diào)試助手發(fā)送:hello I m TCP Client!

(7)網(wǎng)絡(luò)調(diào)試助手發(fā)送:hello I m TCP Server!

e2e0bdd2-fc34-11ec-ba43-dac502259ad0.png

如果想要退出透傳發(fā)送模式,先發(fā)送+++(0x2B 0x2B 0x2B),注意沒有換行符,接著使用AT+CIPMODE=0指令退出透傳模式,恢復(fù)到默認(rèn)傳輸模式。如果不退出透傳模式,那么在透傳模式下就不能發(fā)送AT指令了,它會(huì)默認(rèn)為字符串發(fā)送。

6、使用SmartConfig為設(shè)備配網(wǎng)

前面使用了AT+CWJAP指令來主動(dòng)連接家中的WIFI,但是在大多數(shù)的物聯(lián)網(wǎng)產(chǎn)品中,缺少輸入WIFI密碼的輸入設(shè)備,如:鍵盤,更不能將程序交給用戶去修改家中的WIFI熱點(diǎn)名和密碼,在真正的項(xiàng)目開發(fā)中使用最多的方法就是通過一顆按鍵來使設(shè)備進(jìn)入某種模式,并使用手機(jī)將當(dāng)前WIFI的密碼告知該設(shè)備來實(shí)現(xiàn)WIFI配網(wǎng),這種模式就是SmartConfig。在該模式下,ESP8266會(huì)監(jiān)聽指定端口的UDP廣播包,如果收到符合規(guī)定格式的廣播包后會(huì)對(duì)其進(jìn)行解析并獲得WIFI的SSID和PWD,然后自動(dòng)連接獲取到的WIFI熱點(diǎn),從而實(shí)現(xiàn)WIFI配網(wǎng)。

e2fd4a7e-fc34-11ec-ba43-dac502259ad0.jpg

智能配網(wǎng)需要三個(gè)設(shè)備:家中的路由器、WIFI模塊、手機(jī)。模塊處于station模式,手機(jī)連接好家中的wifi。這個(gè)具體的工作的原理是:我們需要將wifi配置為station模式。因?yàn)槟J(rèn)的是ap模式,然后要保證手機(jī)連接到家中的路由器熱點(diǎn)。手機(jī)上面的第一行是我們手機(jī)此時(shí)連接的這個(gè)熱點(diǎn)名,下面第一行需要用戶去手動(dòng)的輸入路由器熱點(diǎn)對(duì)應(yīng)的密碼,下面會(huì)有一個(gè)按鍵就寫著叫配網(wǎng)(連接),那么當(dāng)我們點(diǎn)擊這個(gè)配網(wǎng)之后,手機(jī)則會(huì)以UDP的這種傳輸?shù)姆绞健O蚰硞€(gè)端口號(hào)或某個(gè)IP地址當(dāng)中去廣播。廣播內(nèi)容是廠商自己封裝的一個(gè)數(shù)據(jù)幀結(jié)構(gòu),廣播的時(shí)候就不用去指定具體的IP地址,每個(gè)模組可能默認(rèn)是不同的。只要指定賬號(hào),當(dāng)我按下配網(wǎng)的這個(gè)按鈕之后,此時(shí)它會(huì)UDP廣播的形式向外連續(xù)的去發(fā)送一串兒廠商約定好的一個(gè)數(shù)據(jù)幀結(jié)構(gòu),比如說前面對(duì)應(yīng)的是廠商的這個(gè)ID,后面跟的是這個(gè)熱點(diǎn)名,后面跟著的是這個(gè)熱點(diǎn)密碼等。當(dāng)然,也可以對(duì)它進(jìn)行一些加密處理,如果此時(shí)我們通過按下這個(gè)。用點(diǎn)上面的某個(gè)按鍵,比如說是配置了我們這個(gè)wifi模組,進(jìn)入了smartconfig這個(gè)配網(wǎng)模式。這個(gè)時(shí)候wifi模塊會(huì)處于一個(gè)監(jiān)聽的狀態(tài)。比如udp的協(xié)議監(jiān)聽8080端口上面這個(gè)數(shù)據(jù)。如果我收到了這一塊兒有效的數(shù)據(jù),那么他會(huì)將這里面有用的熱點(diǎn)名和密碼摘出來,然后使用類似透傳模式這種功能,內(nèi)部的將它連接到指定的熱點(diǎn)上面,就實(shí)現(xiàn)了一鍵配網(wǎng)的過程。知道了ESP8266模塊如何用了之后,接下來我們就要用STM32和ESP8266來實(shí)現(xiàn)與服務(wù)器的之間的數(shù)據(jù)收發(fā)!

我們說到了ESP8266的AT指令集的使用。本來今天要講一下MQTT協(xié)議的,但考慮到物聯(lián)網(wǎng)知識(shí)體系的完整性,決定還是先說一下物聯(lián)網(wǎng)智能家居的控制過程和流程,以及關(guān)于MQTT協(xié)議中的訂閱和發(fā)布是什么意思。就算是下一章的前奏吧,請(qǐng)大家耐心看完

簡單地說,我們最終實(shí)現(xiàn)的目的,是要用STM32+ESP8266外加傳感器和繼電器來控制家中的開關(guān),以及得到家中的各個(gè)電器的運(yùn)行狀態(tài)。其原理是家里的電器先接帶STM32+ESP8266+繼電器的智能插座,智能插座再接家里的插座,這樣只要控制ESP8266的這個(gè)插座(類似中介)就能控制家里的任何電器

下面這張圖就是控制方式,通過家用的路由器將各個(gè)電器和手機(jī)聯(lián)系起來了,手機(jī)可以通過路由器控制各個(gè)掛載在路由器上的器件,這是比較常用的模式。

【二】 e3187510-fc34-11ec-ba43-dac502259ad0.png

一般來說,把手機(jī)叫做上位機(jī),控制器叫做下位機(jī),難道這就是我們常說的物聯(lián)網(wǎng)嗎?準(zhǔn)確地說,這是不對(duì)的。畢竟只能圍繞著這個(gè)路由器,有一定的局限性。

比如,你到公司才想起忘了關(guān)家里的燈,那么只能跑回家,運(yùn)氣好的話,在樓下就能連到家里的路由器,然后再通過手機(jī)app關(guān)燈。這時(shí)候你想,如果能在任何地方控制家里的電器該多好,要是真有這樣的功能,比如你冬天回家前可以先把家里的空凋打開……

我們這個(gè)項(xiàng)目就是ESP8266連接家中的路由器的網(wǎng),手機(jī)連接的是4/5G網(wǎng),這樣你就能在家中設(shè)備不斷電、不斷網(wǎng)的情況下,在任意地方來控制你家中的用電器設(shè)備了。

一、理論知識(shí)

那么,怎么樣才能讓你在任何地方控制家里的電器(當(dāng)然提前還是要有網(wǎng))?

我們先來看下面這張圖,跟原來不一樣的地方是用云服務(wù)器代替了家里的路由器,就這么簡單!

那么,什么是云服務(wù)器?云服務(wù)器又在哪?你就把它當(dāng)作天上的一朵云就好了(阿里云、騰訊云),反正就是不管你的手機(jī),還是別的什么設(shè)備,只要能連網(wǎng)就可以連接云服務(wù)器。

e32489b8-fc34-11ec-ba43-dac502259ad0.png

那么,連上服務(wù)器后,是不是就能直接控制了?當(dāng)然可以!

剛學(xué)單片機(jī)的小伙伴肯定玩過串口實(shí)驗(yàn),從單片機(jī)發(fā)送字母xiaoshidi,串口調(diào)試助手就收到字母xiaoshidi,覺得很有趣。但有時(shí)候你會(huì)發(fā)現(xiàn),如果你的串口通信的函數(shù)寫的不好,或者有誤的時(shí)候,就會(huì)出現(xiàn)通信錯(cuò)誤,比如接收的數(shù)據(jù)是亂碼等,那么它的可靠性就不是很好了。

到底什么叫可靠性不好呢?比如這邊發(fā)過去的時(shí)候是xiaoshidi,運(yùn)氣不好的話,那邊只可能收到的是shidi,這樣就會(huì)出事。所以,我們也不能直接向云服務(wù)器發(fā)送個(gè)簡單指令去控制下位機(jī),需要有一定的約定。

比如,事先告訴服務(wù)器我要發(fā)送9個(gè)字母過來了,云服務(wù)器收到后就知道了,如果接收xiaoshidi,一般來說是正確接收了;如果只收到shidi,說明丟了4個(gè)字母,這就是我們常說的丟包。那么,這樣的約定就是我們常說的協(xié)議!

有句話叫“沒有物聯(lián)網(wǎng)協(xié)議就沒有智能安全”,其實(shí)關(guān)鍵就是協(xié)議,在物聯(lián)網(wǎng)中常用的就是MQTT協(xié)議。那么,為什么不用我們常見的http協(xié)議呢?只能自己百度了。這邊簡單介紹一下MQTT協(xié)議的原理,因?yàn)橹灰獣?huì)MQTT,就能玩轉(zhuǎn)物聯(lián)網(wǎng)。

我們先來看個(gè)例子:

e33f7f3e-fc34-11ec-ba43-dac502259ad0.png比如,我在微博里關(guān)注了“曉艷考研”,那么當(dāng)“曉艷考研”發(fā)了一條微博后,我就能收到。

為什么能收到呢?是因?yàn)槲谊P(guān)注它了,我想這些玩微博的小伙伴都知道。

下面,我再用圖表示一下:

e36a687a-fc34-11ec-ba43-dac502259ad0.png

好了,到這邊其實(shí)已經(jīng)把MQTT協(xié)議的原理講清楚了。“曉艷考研”相當(dāng)于手機(jī),我相當(dāng)于單片機(jī)(控制器),如下圖所示:e38c0142-fc34-11ec-ba43-dac502259ad0.png這樣的話,就實(shí)現(xiàn)了手機(jī)控制單片機(jī)的功能!在微博中,只有我關(guān)注“曉艷考研”這個(gè)號(hào),才能收到對(duì)方發(fā)來的微博,那么在MQTT中,單片機(jī)訂閱手機(jī)的這個(gè)主題才能收到手機(jī)發(fā)送的指令!這樣一來,如果單片機(jī)再通過繼電器接家里的電器,手機(jī)就可以控制家里任何電器的開關(guān)了!

通過這樣的控制方式,就可以解決在單位也能開/關(guān)家里電燈的問題了。不過前提是,手機(jī)和單片機(jī)都能連上云服務(wù)器(手機(jī)可以用家里的網(wǎng)或者4G就可以連到云服務(wù)器,單片機(jī)可以通過家里的WIFI就可以連到云服務(wù)器)。

這時(shí)可能有人會(huì)問,在微博里像“曉艷考研”那么有名,有很多人都會(huì)關(guān)注,比如小雅、小李等等,只要“曉艷考研”發(fā)布消息了,關(guān)注的人都能收到。

e39a1ab6-fc34-11ec-ba43-dac502259ad0.png在MQTT協(xié)議中也是如此,只要單片機(jī)1、單片機(jī)2、單片機(jī)3等都訂閱了手機(jī)這個(gè)主題,那么只要手機(jī)發(fā)指令,就能控制各個(gè)單片機(jī),那么也就是能控制家里的各個(gè)電器。

有的小伙伴腦子轉(zhuǎn)的溜,感覺這樣控制是有問題的。因?yàn)檫@樣的話,手機(jī)是統(tǒng)一控制了家里的電器,總不能都一起開、一起關(guān)吧?

e3b72746-fc34-11ec-ba43-dac502259ad0.png在微博有個(gè)功能,叫@。雖然我、小雅、小李都關(guān)注了“曉艷考研”,但“曉艷考研”在發(fā)布消息的時(shí)候還能@我,那么在MQTT協(xié)議中也是一樣,也能@某個(gè)控制器。這樣的話,就能單獨(dú)控制某個(gè)功能了。

關(guān)于MQTT理論,我們先說到這兒,其實(shí)還有很多玩法,比如在微博里“曉艷考研”也關(guān)注了我呢?這個(gè)有什么用?這樣可以用控制器采集信息上傳到我們的手機(jī)了!那就可以采集家中的環(huán)境數(shù)據(jù)上發(fā)到你的手機(jī)。

二、實(shí)現(xiàn)部分

根據(jù)下面這張圖,我們要做三部分:單片機(jī)、云服務(wù)器、手機(jī)。

e3bd9e00-fc34-11ec-ba43-dac502259ad0.png ?

1、單片機(jī)

一般來說,單片機(jī)也叫作控制器,或者下位機(jī)。我們這里用的是STM32單片機(jī)。

這時(shí)有人會(huì)問,為什么不用51單片機(jī),或者arduino?因?yàn)楝F(xiàn)在用STM32的人太多了,arduino又體現(xiàn)不出你是一個(gè)電子信息專業(yè)的,51就不用說了。

可能又有人說,你為啥不用esp32,本來就可以當(dāng)一塊單片機(jī),搞個(gè)STM32豈不是太麻煩?

此言差矣!我們這里是把ESP8266當(dāng)做一個(gè)模塊使用,我僅僅用STM32的串口就可以控制它連網(wǎng)。但如果單單只用ESP32的話,就大大增加了開發(fā)的難度,也就是我們通常說的SDK開發(fā),而且學(xué)習(xí)的同時(shí),又能鞏固單片機(jī)的知識(shí),搞SDK確實(shí)不適合初學(xué)者。

最后,我們的MQTT協(xié)議轉(zhuǎn)換成C語言代碼已經(jīng)有前輩寫好了,我們的目的就是學(xué)會(huì)它,學(xué)會(huì)反向?qū)W習(xí),才能增加你對(duì)新事物的學(xué)習(xí)興趣。MQTT協(xié)議是現(xiàn)成的,拿來用即可!

在理論部分提到的MQTT協(xié)議是整個(gè)物聯(lián)網(wǎng)的核心,所以單片機(jī)、手機(jī)和云服務(wù)器都要有這協(xié)議。這就好比三個(gè)中國人在聊天,一個(gè)日本人過來聽,他根本聽不懂,因?yàn)樗麤]有“中文”這個(gè)能力。所以,控制器也要有這個(gè)解析協(xié)議的能力。

2、服務(wù)器

服務(wù)器可以理解成一臺(tái)普通的電腦,只是它的性能比較穩(wěn)定不容易死機(jī)。目前服務(wù)器有很多,做得比較大的像騰訊云、阿里云等等,購買服務(wù)器也是個(gè)坑,大家需謹(jǐn)慎!前期的話,大家學(xué)習(xí)不用買,登錄生活物聯(lián)平臺(tái)用現(xiàn)成的,后面我會(huì)講到。

3、手機(jī)

一般把手機(jī)也叫上位機(jī),上位機(jī)還有電腦、平板等等,實(shí)驗(yàn)中是用手機(jī)發(fā)送命令來控制我們的單片機(jī)。那么手機(jī)能打開直接能操作嗎?顯然不能,需要編寫相應(yīng)的程序界面。

如果你是安卓手機(jī),可以用android studio軟件編寫相應(yīng)的app程序。當(dāng)然,前期的話,大家不要去想著做一個(gè)app,難度還是蠻大的。

【三】

在學(xué)習(xí)MQTT之前,我們要明白MQTT通訊是通過很多的報(bào)文組成的,這就好比二戰(zhàn)時(shí)期發(fā)電報(bào)進(jìn)行兩軍之間的通信。這個(gè)報(bào)文呢,主要由三部分組成:固定報(bào)文+可變報(bào)文+有效載荷,這是官方起的名字,你可以把它理解為開頭+正文+結(jié)尾,這樣就好理解多了是吧?!

基本在MQQTT中,所有的報(bào)文都由這三部分組成。比如今天要說的Connect控制報(bào)文,顧名思義就是客戶端(ESP8266)請(qǐng)求與服務(wù)端(阿里云服務(wù)器)建立連接的報(bào)文。

啥意思呢?這就好比你第一次去你女朋友家,你要首先打一個(gè)電話(Connect控制報(bào)文)征得叔叔阿姨的同意啊!叔叔阿姨同意之后(服務(wù)器確認(rèn)建立連接)你才能去對(duì)吧,如果不同意或者電話沒打通你就不能去你女朋友家啊,就算去了也不招待見對(duì)吧!

00:22

客戶端到服務(wù)端的網(wǎng)絡(luò)連接建立后,客戶端發(fā)送給服務(wù)端的第一個(gè)報(bào)文必須是connect報(bào)文(因?yàn)榭蛻舳撕头?wù)端必須要建立連接后才能進(jìn)行通信)。

1、CONNECT控制報(bào)文主要由三部分組成:固定報(bào)頭、可變報(bào)頭、有效載荷。

e3c58232-fc34-11ec-ba43-dac502259ad0.png

2、假設(shè)我們得到了固定報(bào)頭是“l(fā)iuyao”、可變報(bào)頭是“iloveyou”、有效載荷是“zhuxiaoya”。我們要把這些字母轉(zhuǎn)換成對(duì)應(yīng)的16進(jìn)制。然后再把它們串聯(lián)起起來就得到。

e3d2ea76-fc34-11ec-ba43-dac502259ad0.png

1、固定報(bào)頭

固定報(bào)頭包含兩個(gè)字節(jié),第一個(gè)字節(jié)是固定的:0x10,第二個(gè)字節(jié)是是剩余長度字段,剩余長度等于可變報(bào)頭的長度(10字節(jié))加上有效載荷的長度。e3df49ce-fc34-11ec-ba43-dac502259ad0.png

最終固定報(bào)頭:綜上可得固定報(bào)頭為:10 ??(??我們在后面的實(shí)驗(yàn)會(huì)提到,先不著急)。

2、可變報(bào)頭

可變報(bào)頭有四部分組成,協(xié)議名、協(xié)議級(jí)別、連接標(biāo)志、保持連接。大家不要糾結(jié)為啥由這四部分組成,這是人家寫這個(gè)協(xié)議的人規(guī)定的,你只要搞清楚這四部分對(duì)應(yīng)的編碼是啥就可以了,其余的四個(gè)字:不要糾結(jié)e3fed9a6-fc34-11ec-ba43-dac502259ad0.png

2.1 協(xié)議名

e40f7bd0-fc34-11ec-ba43-dac502259ad0.png

2.2 協(xié)議級(jí)別

e41d1632-fc34-11ec-ba43-dac502259ad0.png

2.3 連接標(biāo)志

e4281942-fc34-11ec-ba43-dac502259ad0.png

2.4 保持連接

e43d66ee-fc34-11ec-ba43-dac502259ad0.png

2.5 總結(jié)

e451d142-fc34-11ec-ba43-dac502259ad0.png

2.6 最終可變報(bào)頭

綜上,我們可得有效報(bào)頭為:00 04 4D 51 54 54 04 C2 00 64

3、有效載荷

有效載荷由三部分組成:客服端標(biāo)識(shí)符、用戶名、密碼組成。e4610f9a-fc34-11ec-ba43-dac502259ad0.png ?e46f12a2-fc34-11ec-ba43-dac502259ad0.png

3.1 原始數(shù)據(jù)

我們在阿里云物聯(lián)網(wǎng)平臺(tái)上創(chuàng)建一個(gè)設(shè)備后,會(huì)得下面這三個(gè)數(shù)據(jù),這三個(gè)數(shù)據(jù)非常重要。

	{ "ProductKey":"a10zwkUxQUS", "DeviceName":"LY-1", "DeviceSecret":"d8b9915513b05d4de32fbed04566edd8" } 阿里云服務(wù)器地址(華東2) : *.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883

	客戶端ID :*|securemode=3,signmethod=hmacsha1| 用戶名:*&# 密碼: clientId*deviceName*productKey# 

3.2 加工后的數(shù)據(jù)


	服務(wù)器地址:a10zwkUxQUS.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883 客戶端ID :LY-1|securemode=3,signmethod=hmacsha1| 用戶名:LY-1&a10zwkUxQUS 密碼:clientIdLY-1deviceNameLY-1productKeya10zwkUxQUS 經(jīng)過哈希加密:7a03368e740ff9efb8318c6ba2a0260f2a596f87 哈希加密在線計(jì)算網(wǎng)站:http://encode.chahuo.com/e47dd15c-fc34-11ec-ba43-dac502259ad0.png之后要將客服端ID、用戶名、經(jīng)過哈希加密后的密碼轉(zhuǎn)換成16進(jìn)制。

	客戶端ID :LY-1|securemode=3,signmethod=hmacsha1| 用戶名:LY-1&a10zwkUxQUS 經(jīng)過哈希加密:7a03368e740ff9efb8318c6ba2a0260f2a596f87 

3.3 轉(zhuǎn)換成16進(jìn)制


	客戶端ID:LY-1|securemode=3,signmethod=hmacsha1|轉(zhuǎn)換為(16進(jìn)制): 4C592D317C7365637572656D6F64653D332C73 69676E6D6574686F643D686D6163736861317C一共38個(gè)字節(jié)就是0x26 最終結(jié)果:把0026加到最前面 00264C592D317C7365637572656D6F64653D332C 7369676E6D6574686F643D686D6163736861317C 用戶名:LY-1&a10zwkUxQUS轉(zhuǎn)換為(16進(jìn)制): 4C592D31266131307A776B5578515553一共16個(gè)字節(jié)就是0x10 最終結(jié)果:把0010加到最前面 00104C592D31266131307A776B5578515553 經(jīng)過哈希加密:7a03368e740ff9efb8318c6ba2a0260f2a596f87轉(zhuǎn)換為(16進(jìn)制) 3761303333363865373430666639656662383331 3863366261326130323630663261353936663837一共40個(gè)字節(jié)就是0x28 最終結(jié)果:把0028加到最前面 002837613033333638653734306666396566623833 313863366261326130323630663261353936663837 

最終可得:

  • 客戶端: 00 264C 59 2D 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C
  • 用戶名: 00 104C 59 2D 31 26 61 31 30 7A 77 6B 55 78 51 55 53
  • 密碼: 00 2837 61 30 33 33 36 38 65 37 34 30 66 66 39 65 66 62 38 33 31 38 63 36 62 61 32 61 30 32 36 30 66 32 61 35 39 36 66 38 37
  • 組合到一起: 00 264C 59 2D 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C00 104C 59 2D 31 26 61 31 30 7A 77 6B 55 78 51 55 53 00 2837 61 30 33 33 36 38 65 37 34 30 66 66 39 65 66 62 38 33 31 38 63 36 62 61 32 61 30 32 36 30 66 32 61 35 39 36 66 38 37

3.4 最終有效載荷

這樣我們就得到了有效載荷:

00 264C 59 2D 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C00 104C 59 2D 31 26 61 31 30 7A 77 6B 55 78 51 55 53 00 2837 61 30 33 33 36 38 65 37 34 30 66 66 39 65 66 62 38 33 31 38 63 36 62 61 32 61 30 32 36 30 66 32 61 35 39 36 66 38 37

4、Connect控制報(bào)文

固定報(bào)頭+可變報(bào)頭+有效載荷

  • 10??00 04 4D 51 54 54 04 C2 00 6400 264C 59 2D 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C00 104C 59 2D 31 26 61 31 30 7A 77 6B 55 78 51 55 5300 2837 61 30 33 33 36 38 65 37 34 30 66 66 39 65 66 62 38 33 31 38 63 36 62 61 32 61 30 32 36 30 66 32 61 35 39 36 66 38 37
現(xiàn)在要解決的就是"??",也就是我們最開始說的剩余長度。這個(gè)問號(hào)??就是表示在問號(hào)后面有幾個(gè)字符,有幾個(gè)字符??就代表多少,然后把這個(gè)數(shù)字轉(zhuǎn)換成16進(jìn)制填入??就可以了。我們通過數(shù)數(shù)可以知道??后面有110個(gè)數(shù),10進(jìn)制的110轉(zhuǎn)換成16進(jìn)制就是0x6E。所以最終得到的CONNECT 控制報(bào)文為:
  • 106E00 04 4D 51 54 54 04 C2 00 6400 264C 59 2D 31 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C00 104C 59 2D 31 26 61 31 30 7A 77 6B 55 78 51 55 5300 2837 61 30 33 33 36 38 65 37 34 30 66 66 39 65 66 62 38 33 31 38 63 36 62 61 32 61 30 32 36 30 66 32 61 35 39 36 66 38 37
通過網(wǎng)絡(luò)調(diào)試助手發(fā)送connect報(bào)文:1. 協(xié)議類型選擇 TCP Client2. 本機(jī)地址:本機(jī)地址會(huì)在軟件選擇TCP Client后默認(rèn)出現(xiàn),不用手動(dòng)選擇3. 遠(yuǎn)程主機(jī)地址:這個(gè)就是我們創(chuàng)建設(shè)備后阿里云的遠(yuǎn)程地址

	服務(wù)器地址:a10zwkUxQUS.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883 4.在發(fā)送數(shù)據(jù)之前要先勾選按16進(jìn)制發(fā)送,之后會(huì)在網(wǎng)絡(luò)調(diào)試助手的接受端出現(xiàn):20 02 00 00說明發(fā)送正常接收正常,如果點(diǎn)擊發(fā)送按鈕之后網(wǎng)絡(luò)調(diào)試助手馬上就斷開或者接收不到數(shù)據(jù)的話,就說明你發(fā)送的數(shù)據(jù)有問題,請(qǐng)仔細(xì)回去好好把報(bào)文數(shù)據(jù)整理一遍,否則不能發(fā)送成功。你要知道,錯(cuò)的不可能是阿里云,也不是MQTT協(xié)議,錯(cuò)的只有你的數(shù)據(jù)!e49ef3c8-fc34-11ec-ba43-dac502259ad0.png這里為啥是收到的是20 02 00 00,我們可以去看看數(shù)據(jù)手冊中3.2小節(jié)的connect確認(rèn)連接請(qǐng)求。e4a8201a-fc34-11ec-ba43-dac502259ad0.png
		?e4afaa60-fc34-11ec-ba43-dac502259ad0.png這樣我們的客戶端就與阿里云的服務(wù)端連接起來了,我們現(xiàn)在可以去看看阿里云官網(wǎng)就會(huì)發(fā)現(xiàn)此時(shí)的LY-1設(shè)備處于在線狀態(tài)。哈哈,是不是很奇妙啊!e4c38332-fc34-11ec-ba43-dac502259ad0.png

5、斷開鏈接

我們可以看到數(shù)據(jù)手冊的3.14小節(jié),斷開連接的報(bào)文是 E0 00 e4cf49e2-fc34-11ec-ba43-dac502259ad0.png然后我們在連接狀態(tài)下向服務(wù)器發(fā)從斷開可連接的報(bào)文E0 00這是服務(wù)器就會(huì)與客戶端斷開,由于斷開后收不到服務(wù)器發(fā)來的數(shù)據(jù)。所以網(wǎng)絡(luò)調(diào)試助手不會(huì)接收到任何新消息。 e4dd10c2-fc34-11ec-ba43-dac502259ad0.png這時(shí),我們再到阿里云官網(wǎng)(刷新一下網(wǎng)頁)就會(huì)發(fā)現(xiàn),此時(shí)的LY-1設(shè)備處于離線狀態(tài)。哈哈,是不是很奇妙啊!

e4f4e558-fc34-11ec-ba43-dac502259ad0.png

我們用網(wǎng)絡(luò)調(diào)試助手的目的就我們現(xiàn)在還沒有單片機(jī)和esp8266,但是我們又必須要學(xué)習(xí)mqtt協(xié)議,只有通過網(wǎng)絡(luò)調(diào)試助手來代替單片機(jī)來實(shí)現(xiàn),等我們網(wǎng)絡(luò)調(diào)試助手都調(diào)通了之后我們再把他一直到我們的STM32單片機(jī)中就可以了。UDP-----為應(yīng)用程序提供了一種無需建立連接就可以發(fā)送封裝的IP數(shù)據(jù)包的方法 TCPClient客戶端------單片機(jī)(網(wǎng)絡(luò)調(diào)試助手代替單片機(jī)) TCPServer服務(wù)端------阿里云
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6040

    文章

    44602

    瀏覽量

    637046
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10918

    瀏覽量

    356826

原文標(biāo)題:爛大街的ESP8266究竟該怎么玩?

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    esp8266加入到c51單片機(jī)單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先
    的頭像 發(fā)表于 10-18 11:32 ?697次閱讀

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里云
    發(fā)表于 08-29 14:21 ?6次下載

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進(jìn)入我們的生活。其中,ESP32和
    的頭像 發(fā)表于 08-19 18:23 ?1297次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用個(gè)Tensilica L106 80MHz的處理
    的頭像 發(fā)表于 08-19 18:16 ?5723次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。然而,如果不進(jìn)行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介
    的頭像 發(fā)表于 08-19 17:28 ?935次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過兩種方式實(shí)現(xiàn): 通過路由器連接(STA模式)和直接作為熱點(diǎn)連接(AP模式) 。以下是兩種連接方式的步驟: 、通過路由器連接(STA模式) 配置
    的頭像 發(fā)表于 08-19 17:27 ?3364次閱讀

    如何使用ESP8266創(chuàng)建個(gè)WiFi熱點(diǎn)?

    我有第二張?zhí)峁┟赓M(fèi)互聯(lián)網(wǎng)的SIM卡,但我無法在手機(jī)中使用它,因?yàn)槲抑挥?b class='flag-5'>一個(gè)SIM卡插槽。 因此,我想使用ESP8266創(chuàng)建個(gè)WiFi熱點(diǎn)
    發(fā)表于 07-19 11:29

    如何對(duì)ESP8266進(jìn)行降頻?

    大家好,我正在做一個(gè)電池供電的物聯(lián)網(wǎng)項(xiàng)目,正在考慮使用 esp8266。我需要讓 esp 直運(yùn)行,以不斷記錄來自我的傳感器的數(shù)據(jù)。不幸的是,即使我完全關(guān)閉 wifi,它仍然消耗 16
    發(fā)表于 07-19 10:55

    是否可以創(chuàng)建個(gè)包含多個(gè)esp8266模塊(esp-01)的網(wǎng)狀網(wǎng)絡(luò)?

    我想知道是否可以創(chuàng)建個(gè)包含多個(gè) esp8266 模塊(esp-01)的網(wǎng)狀網(wǎng)絡(luò)。如果是這樣,是否有任何指南/示例可以開始使用 esp8266
    發(fā)表于 07-19 08:31

    ESP8266的MAC地址是唯的嗎?

    ESP8266的MAC地址是唯的嗎? MAC地址是否被燒錄到ESP8266 ROM中?(我知道有 AT 命令可以更改 MAC;我只對(duì)供應(yīng)商提供的默認(rèn) MAC 感興趣) 樂鑫會(huì)有超過 1 個(gè)
    發(fā)表于 07-12 09:03

    使用esp8266的Hspi與單片機(jī)通信,打印的W0-W7寄存器數(shù)據(jù)和發(fā)送的數(shù)據(jù)不符合,為什么?

    在使用esp8266的Hspi與單片機(jī)通信,發(fā)現(xiàn)單片機(jī)可以進(jìn)行數(shù)據(jù)讀取,但是單片機(jī)寫數(shù)據(jù)就會(huì)出現(xiàn)esp8266這邊的主機(jī)寫完成中斷被觸發(fā),但
    發(fā)表于 07-10 07:04

    使用esp8266的HSPI與STM32進(jìn)行通信時(shí)遇到的疑問求解

    在使用esp8266的HSPI與STM32進(jìn)行通信時(shí),發(fā)現(xiàn)單片機(jī)可以對(duì)其進(jìn)行讀操作,但是單片機(jī)esp8266里面寫數(shù)據(jù)的話就會(huì)出現(xiàn)
    發(fā)表于 07-10 06:45

    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對(duì)比差異

    ESP8266ESP8285對(duì)比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)上多加了1/2MB Flash, ESP8285與
    的頭像 發(fā)表于 05-17 11:44 ?1434次閱讀
    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對(duì)比差異

    通過STM32+ESP8266 Wifi模塊 +云服務(wù)器,做一個(gè)數(shù)據(jù)收發(fā)控制的板子云服務(wù)器方面該如何選擇?

    通過STM32+ESP8266 Wifi模塊 +云服務(wù)器 做一個(gè)數(shù)據(jù)收發(fā)控制的板子 云服務(wù)器方面該如何選擇?
    發(fā)表于 04-25 08:16

    STM32ESP8266與MQTT連接阿里云物聯(lián)網(wǎng)的串口通信異常解析

    阿里云物聯(lián)網(wǎng)平臺(tái)的過程中,串口通信異常成為了個(gè)常見的挑戰(zhàn)。本文將探討這些異常現(xiàn)象及其可能的原因,并給出相應(yīng)的解決方案。 首先,我們來談?wù)?b class='flag-5'>STM32ESP8266之間的串口通信問題。
    的頭像 發(fā)表于 04-19 17:19 ?1517次閱讀
    主站蜘蛛池模板: 国内黄色精品| 国产乱通伦| 福利视频999| 成人欧美一区二区三区黑人免费| 四虎影视亚洲精品| 亚洲第一区视频在线观看| 奇米77| 一级毛片a| 在线一区二区三区| v视界影院最新网站| 奇米影视一区| 午夜逼逼| 丰满寡妇一级毛片| 久久国产香蕉一区精品| 日本三级日本三级人妇三级四 | 激情福利网站| 日本理论午夜中文字幕第一页| 日本s色大片在线观看| 天堂资源在线观看| 一级特黄国产高清毛片97看片| 一级美女片| 午夜黄色网址| 国产全部理论片线观看| 日本在线看小视频网址| 国产手机在线观看视频| 中文字幕在线一区| 888米奇在线视频四色| 水果视频色版| 亚洲精品美女久久久aaa| 欧美极品| caoporn成人免费公开| 男啪女视频免费观看网站| v视界影院最新地址| 欧美一卡2卡三卡4卡5卡免费观看| 亚洲视频一二三| 亚洲乱论| 五色网| 天天摸天天做| 久久天堂网| 国产丝袜va丝袜老师| 国产亚洲人成a在线v网站|