對於任何物聯網DIY項目來說,Wi-Fi都是必不可少的工具包,畢竟沒有網絡,我們如何能實現萬物互聯,稱之為物聯網系統呢?在物聯網系統中,我們常使用的設備就是Arduino和樹莓派,Arduino價格相比較於樹莓派來說價格低不少,是很多學習者的香餑餑,但是Arduino並沒有Wi-Fi模塊,如果添加Wi-Fi防護罩的話,總費用約為40美元。
這時候,Arduino殺手出現了——它是一個兼容Arduino的開發板,且內置Wi-Fi,更驚喜的是,它價格不到10美元!!是的它就是NodeMCU!!
本文主要是給NodeMCU小白看的,介紹了如何配置NodeMCU的開發環境,開發環境只需配置一次。配置完成后,使用代碼實現NodeMCU上自帶LED的閃爍。過程很簡單,初學者可以通過這幾個簡單步驟,先上手,簡單了解一下NodeMCU的基本操作。
如果對NodeMCU常見的問題感興趣,可以參考我其它的一篇博文ESP8266 NodeMCU解惑篇。
本文主要包括以下三個模塊:
一、NodeMCU簡介、所需設備及驅動下載
二、配置NodeMCU的開發環境
三、點亮NodeMCU上的LED燈
一、NodeMCU簡介、所需設備及驅動下載
(一)
NodeMCU是一個IoT物聯網硬件開發板,它其實就是Wi-Fi模塊加上一些附件。ESP8266開發模塊最初是作為Arduino板的低成本Wi-Fi附加件銷售的,后來,黑客社區意識到,這玩意兒這么便宜並且有Wi-Fi功能,有沒有可能直接使用它代替Arduino呢?NodeMCU應運而生,它支持WIFI功能且使用方法和Arduino開發板類似。NodeMCU包括軟件固件和開發板,即運行在 esp8266Wi-Fi 片上系統(SoC:System on Chip)芯片之上的固件,以及基於ESP-12模組的硬件。由於體積小,擴展性強,它在物聯網應用領域迸發出了強大的能量。如果你當前使用的是Arduino,那它真的太好上手了,因為它是在熟悉的Arduino IDE中進行使用。
(二)所需設備
NodeMCU ESP8266
USB-microUSB線
NodeMCU的型號有很多,比較推薦使用的是ESP-12E。它雖然是比其他芯片貴一些(6.50美元vs4美元),但在它有對芯片進行編程所需的串行驅動器,並具有內置的電源調節器以及許多IO引腳。在使用上,一根USB線足夠,不需要任何其他程序來編程或供電,因此使用起來最簡單。如果你手頭上只有其他種類的開發板,那有可能你需要單獨的3.3v電源調節器和合適的FTDI連接才能進行編程。
(三)下載驅動
NodeMCU開發板不是即插即用的設備,因此我們先要為它在電腦上安裝USB轉串口驅動程序以后才能使用。詳細講解版點擊這里看第三部分。我這個板子需要的是CH340的驅動,驅動下載網址點這里(Window、Linux和Mac版本都有)。下載完成后解壓到電腦上驅動就下載好了。
接下來,把你的NodeMCU重新與電腦連接,打開資源管理器就可以發現新增了一個端口,大概就和下圖差不多,牢記這個端口號,以后還要用。
二、配置NodeMCU的開發環境
1. 下載Arduino IDE
下載地址:https://www.arduino.cc/en/Main/Software,根據自己的電腦系統下載相應版本(Windows、Mac OS X和Linux)的IDE即可。
開源Arduino軟件(IDE)主要是用來編寫代碼並上傳到開發板,之前玩過Arduino的同學很容易上手NodeMCU。
2. 配置環境,打開Arduino IDE
(1)File(文件)-preferences(首選項)-Additional Boards Manager URLs(附加開發板管理器網址)-粘貼-OK(好)-OK(好)https://arduino.esp8266.com/stable/package_esp8266com_index.json
(2)Tools(工具)-開發板-開發板管理器-輸入“ESP8266”-安裝(因為我已經安裝過了所以顯示的是卸載)-關閉
(3)安裝完成后,Tools(工具)-開發板-選擇“Generic ESP8266 Module”-
(4)Tools(工具)-Port(端口)-COM9(即設備管理器顯示的端口號,不同設備的NodeMCU端口號不同)
三、點亮NodeMCU上的LED燈
(1)新建文件,輸入如下代碼並上傳。
/* ESP8266 Blink by Simon Peter Blink the blue LED on the ESP-01 module This example code is in the public domain The blue LED on the ESP-01 module is connected to GPIO1 (which is also the TXD pin; so we cannot use Serial.print() at the same time) Note that this sketch uses LED_BUILTIN to find the pin with the internal LED */ void setup() { pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is active low on the ESP-01) delay(1000); // Wait for a second digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH delay(2000); // Wait for two seconds (to demonstrate the active low LED) }
(2)直接使用示例文件
File(文件)-Examples(示例)-ESP8266-Blink
打開后是給Arduino Uno提供的示例文件,但同樣適用於NodeMCU。
點擊上傳即可。
注意:“Leaving... Hard resetting via RTS pin...”並不是報錯,程序是正常運行,已經上傳成功,意思是esptool會在上傳后迅速重置重置esp8266。
如圖為LED閃爍效果。
大功告成~
如果對NodeMCU常見的問題感興趣,可以參考我其它的一篇博文ESP8266 NodeMCU解惑篇。
你們的贊和評論是我前行的動力,么么噠么么噠😊