1. 程式人生 > >NodeMcu開發(一)---開發環境搭建

NodeMcu開發(一)---開發環境搭建

今天nodemcu的板子終於到了, 等了足足五天吶, 這快遞真是醉了, 迫不及待的搭建環境了

新的板子是沒有nodemcu庫的, 需要我們自己來移植, 首先移植nodemcu的庫吧

一 移植nodemcu庫

首先先講一下怎麼刷韌體,首先你需要安裝ch340串列埠驅動(有的版本可能是別的串列埠裝置, 根據你的板子串列埠晶片來選嘖)。然後確定的得裝置串列埠號,這個可以通過計算機的裝置管理裡看到, 以下圖是我的板子

韌體在官網上有下載, 網址:https://nodemcu-build.com/  官方的線上編譯工具,這個工具會把你定製的韌體發到你的郵箱,一般會發送兩個韌體一個名字中帶float 表示支援浮點,另一個名字中帶integer,表示只有整數支援, 下載韌體的步驟如下:

1. 填寫你接受韌體的郵箱(QQ郵箱不行), 我用的網易的郵箱

2. 選擇自己需要的功能模板庫, 要什麼選什麼, 一般把預設的選上, 然後加上自己要的, 不要全選, 因為你的板子記憶體沒這麼大, 按需求選, 還有Select branch to build from這一塊不要選, 預設就可以了,

下面的其他的不用選了, 直接跳過, 提交申請就可以了, 如下圖的點start your build就可以了

然後關注自己的郵箱就可以, 一般會發兩封郵件, 第一封告訴你在budilng著, 後面一封才是有韌體連結地址的, 如下圖所示

有兩種型別的, 一種是float的 支援浮點運算, 檔案更大, interger只支援整形運算, 檔案較小, 視自己的板子和專案需求下載.

到此處我們韌體下好了, 接下來我們還要下載刷韌體的軟體, 我用的是官方自帶的刷韌體軟體(後文有連結下載), 下載後根據自己的系統選擇x86(32位系統), x64(64位系統), 進相應的檔案

進去後一直點進去, 直到看到這一級目錄, 點開esp8266Flasher就行了, 點開介面如下

點開後先選擇config選項, 第一行選擇自己的韌體所在的目錄, 後面的地址設定為0x0000, 如下圖所示:

然後設定串列埠資訊, 點advanced選項, 會出現波特率, 選9600和15200都沒事, 15200更快一點, flash size就根據你的esp8266的版本來選擇大小了, 不知道的可以去樂鑫官網或者問淘寶賣家flash大小(這個前外別選錯),  下面的預設就行, 如下圖所示

然後設定operation選項, com port是你的串列埠埠看, 在電腦的裝置管理器看的到, 設定完就可以下載了, 我的板子下載前要按住flash按鍵, 是為了把gpio0拉低, 視不同的板子不一樣而定, 一定要把gpio0拉低, 不然會下載失敗,  設定圖如圖所示

下載的時候有一個進度條, 等進度條完成就可以了, 我這裡就不截圖, 因為我下載好了, 到此nodemcu移植好了.接著我們裝開發環境, 開發環境我選擇官網推薦的esplorer

二; IDE的安裝

其實IDE不需要安裝, 免安裝的, 安裝包我會給出來, 在後文, 在用esplorer前要求你的電腦裝了java環境, jdk選擇8.0把, 我一開始選擇最新的10.0 然後出問題了, 開發ide開啟串列埠的時候會閃退, 百度上說是jdk版本的問題, 選擇8.0就不會了, jdk8.0包我會在後文中給出,不知道怎麼設定jdk環境變數的自行百度吧, 這裡不提了, 裝完jdk後我們就可以用esplorer了, 按照如圖所示的目錄, 開啟下圖所示的目錄, 雙擊ESPlorer.bat就可以用了

開啟軟體後的介面就如圖所示

接下來我們設定串列埠, 串列埠埠號在右上角那裡

如圖所示, 選擇你的串列埠號, 然後波特率選擇115200或者9600, 這裡我不知道怎麼選, 如果選錯了, 等會點完open後打印出來的資訊會亂碼, 選對了就不會亂碼, 選完後點open, 點完後復位開發板, 會出現你的nodemcu的版本資訊, 我這裡因為寫了程式進去, 一執行不會出現相應的資訊, 就不貼圖了, 如果出現版本資訊, 說明你的韌體移植成功, 否則再次移植韌體, 對了 出現版本資訊是在下圖區域出現

接著我們來個程式設計師入門經典程式"hello world"程式吧, 程式我是從網上找的,

三. Hello world程式

寫程式前,我們要新建檔案,  點選 file->new,

然後在儲存檔案, 點save按鈕,再選擇儲存路徑, 把檔案命名為init.lua, 因為預設是從init.lua檔案執行的, 這是我這麼認為的, 剛學這個, 不太理解, 如果有錯望見諒, 儲存後就可以寫程式碼了

然後在init.lua檔案中寫

tmr.alarm(0, 1000, tmr.ALARM_AUTO, function()
    print("Hello World!\n")
    end
)

之後點左下的run按鈕就可以運行了

然後右邊的黑串列埠上就會顯示如下資訊

大功告成!!!!