天天看點

ESP8266使用詳解--基于Lua腳本語言

這些天,,,,今天終于看到了希望,,,天道酬勤

先說實作的功能...讓ESP8266連接配接無線網,然後讓它建立伺服器,,我的用戶端連接配接上以後,發給用戶端發資料子產品列印到序列槽,,往ESP8266序列槽裡發資料自動轉發給網口

先看效果圖,終于不需要單片機配置了

ESP8266使用詳解--基于Lua腳本語言

程式源碼

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

我的init.lua

因為可能刷的固件不一樣,如果出現下面的問題

ESP8266使用詳解--基于Lua腳本語言

修改為

如果想讓多個客服端連接配接可參考這篇文章

如果上面的代碼有問題,,提示已經監聽了端口不能重複監聽,可以修改為下面的

這兩天測試程式還發現一個bug就是如果用戶端斷開了,應該檢測一下哪個斷開了,資料就不應該發向那個連接配接,,,否則就會報錯,然後子產品會複位重新開機

是以加上這段代碼

放一個全的

序列槽函數裡面

現在一步步的做

首先親們一定是把Esp8266刷了基于Lua腳本語言開發的固件

ESP8266使用詳解--基于Lua腳本語言

我也重新刷一下

ESP8266使用詳解--基于Lua腳本語言

我現在使用的這一款,,這上面有一個燈,這款是人家做的開發闆,是以內建了USB轉序列槽,,

首先是做一個程式讓燈閃,這樣做就隻是做訓示燈,正好看一下它的一些API函數

ESP8266使用詳解--基于Lua腳本語言

複位一下子產品

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

關于這句要說一下,,,,這個子產品預設上電執行的是  init.Lua中的程式,因為剛重新整理完固件是以子產品裡面沒有任何檔案,,

我們編寫一個程式把它儲存為一個字尾名為.lua的檔案,,這些檔案呢,點選

ESP8266使用詳解--基于Lua腳本語言

檔案就儲存到ESP8266内部了,我上面寫了兩個檔案一個名為init.lua(必須的,一上電子產品就執行的檔案),另一個conncet_wifi.lua

要想使用這個檔案隻需要

ESP8266使用詳解--基于Lua腳本語言

先寫init.lua

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

可以給子產品重新上電試一下,或者複位,子產品總是執行這個程式

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

 我為了友善用電腦上位機測試,是以就讓子產品工作在AP+STATION模式下,讓子產品連接配接我的360wifi

ESP8266使用詳解--基于Lua腳本語言

先設定子產品的模式,然後是連接配接我的無線

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

 為了保證子產品一上電就執行

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

接着就是建立伺服器

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

對了具體的關于 ::::::号有沒有疑問,其實自己現在也有,不過自己看到了Lua講解::::号的地方,先知道這樣用,,,,,自己看懂了再在關于lua入門裡面寫一下

網口已經能接收到資料然後發送到序列槽了

ESP8266使用詳解--基于Lua腳本語言

現在要做的是往子產品序列槽發資料然後傳給網口

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

完成後可以給子產品重新上電,或者複位一下,因為子產品這樣寫進去可能不是從init.lua開始執行的

ESP8266使用詳解--基于Lua腳本語言

用别的序列槽調試助手連接配接上子產品,因為這個軟體的序列槽是發的指令

ESP8266使用詳解--基于Lua腳本語言

好了,,,,

補充

上面的AP加STATION模式下子產品是發出WIFI信号的,而且設定了子產品監聽的端口是8080,是以可以完全連接配接子產品發出的無線網,然後和子產品進行通信,

隻不過子產品IP位址填寫的是子產品預設的ip  192.168.4.1  端口号  8080

連接配接子產品的無線

ESP8266使用詳解--基于Lua腳本語言
ESP8266使用詳解--基于Lua腳本語言

對了序列槽每隔500ms會列印Connecting...

是由于Lua程式中寫的子產品是如果沒有連接配接到路由器就會列印

ESP8266使用詳解--基于Lua腳本語言

如果不想要可以去掉

最後呢!提供一下自己做的闆子

<a href="http://www.cnblogs.com/yangfengwu/p/7513097.html">輕松使用8266</a>

繼續閱讀