讓兩個(gè)ESP8266相互問(wèn)好是一件很有趣的事情,這需要將一個(gè)ESP設(shè)置為接入點(diǎn)(服務(wù)器),另一個(gè)設(shè)置為基站(客戶機(jī)),繞過(guò)它們建立無(wú)線通信,讓客戶機(jī)向服務(wù)器發(fā)送一條“Hello World!”信息。

項(xiàng)目零件BOM很簡(jiǎn)單:ESP8266-01、FTDI編程器、連接線。電路圖很直觀,只要在FTDI編程器和ESP8266之間建立串行通信,再上傳一些代碼就OK了。
下載ESPlorer
下載ESPlorer時(shí),建議使用4refr0nt創(chuàng)建的ESPlorer程序,來(lái)創(chuàng)建Lua文件并保存到ESP8266。

下載成功后運(yùn)行ESPlorer.jar,(如果電腦沒(méi)有JAVA就安裝一個(gè)),啟動(dòng)ESPlorer。

寫服務(wù)器Script
切記,首先使用NodeMCU固件測(cè)試兩個(gè)ESP的聯(lián)通性,再拷貝并粘貼代碼到ESPlorer。其中,ESP服務(wù)器用作接入點(diǎn),名稱=SSID=test,密碼=12345678。
服務(wù)器連續(xù)收聽(tīng)連接狀況,在成功建立連接后將收到一條信息,并將這個(gè)字串顯示在serial monitor上。
print("ESP8266 Server")
wifi.setmode(wifi.STATIONAP);
wifi.ap.config({ssid="test",pwd="12345678"});print("Server IP Address:",wifi.ap.getip())
sv = net.createServer(net.TCP)
sv:listen(80, function(conn)
??? conn:on("receive", function(conn, receivedData)
??????? print("Received Data: " .. receivedData)??????? ?
??? end)
??? conn:on("sent", function(conn)
????? collectgarbage()
??? end)
end)
上傳Lua Script
打開(kāi)ESPlorer后,將出現(xiàn)一個(gè)與圖示類似的窗口,按照以下指令向ESP8266發(fā)送命令。
1.將FTDI編程器與電腦連接
2.Set bad raute 為 9600
3.選擇FTDI編程器端口(例如,COM3)
4.按Open/Close
5.選擇NodeMCU + MicroPtyhon鍵
6.將Lua script拷貝到ESPlorer
接下來(lái),按“Save to ESP”健,以“init.lua”文件名將Script腳本保存到ESP。

寫客戶Script
先用NodeMCU測(cè)試ESP聯(lián)通性,再拷貝代碼,并粘貼到ESPlorer。
ESP客戶機(jī)作為基站,不停的等待服務(wù)器指令。當(dāng)客戶機(jī)發(fā)現(xiàn)服務(wù)器創(chuàng)建了一個(gè)通信時(shí),就每隔5秒發(fā)送一次信息 “Hello World!”。
print("ESP8266 Client")
wifi.sta.disconnect()
wifi.setmode(wifi.STATION)
wifi.sta.config("test","12345678") -- connecting to server
wifi.sta.connect() print("Looking for a connection")
tmr.alarm(1, 2000, 1, function()
???? if(wifi.sta.getip()~=nil) then
????????? tmr.stop(1)
????????? print("Connected!")
????????? print("Client IP Address:",wifi.sta.getip())
????????? cl=net.createConnection(net.TCP, 0)
????????? cl:connect(80,"192.168.4.1")
????????? tmr.alarm(2, 5000, 1, function()
??????????? cl:send("Hello World!")
????????? end)
????? else
???????? print("Connecting...")
????? end
end)
按照與前面上傳Lua Script的步驟,上傳客戶Script代碼。這樣,客戶機(jī)將以無(wú)線方式向服務(wù)器發(fā)送一條“Hello World!”信息,其結(jié)果顯示在串口視窗上。

本項(xiàng)目中,左邊窗口采用ESPlorer Output Window,右邊使用PuTTY.org建立串行通信。
作者:硬之城Allchips, 來(lái)源:面包板社區(qū)
鏈接:https://mbb.eet-china.com/blog/uid-me-3975615.html
版權(quán)聲明:本文為博主原創(chuàng),未經(jīng)本人允許,禁止轉(zhuǎn)載!