玩着玩着發現了一個快速開發的好東西,NodeMcu
這個東東很厲害,讓我們這些野路子寫軟件的人也可以很友好的做應用;
NodeMCU文檔
目前,由當前NodeMCU團隊維護的唯一最新文檔是英文版,並且托管在http://nodemcu.readthedocs.io/。
它是源代碼庫(/docs
子文件夾)的一部分,與代碼保持同步並自動構建和發布。
我手里的這塊板子是 安信可出的,正好官方發布的出廠固件,基於NodeMcu,
下載出廠固件 ai-thinker_nodemcu-32s_dio_32mbit_20170705.zip
使用 ESPlorer 調試 Lua
首先下載ESPlorer (注意需要java運行環境)
下載后打開 ESPlorer.bat 運行ESPlorer
選擇正確的端口,並打開串口(115200,8,n,1),點擊 【FS Info】或者最下方的【Reset】,可以看到模組輸出,此時連接正常。
點擊左邊【Open】打開一個lua文件,並點擊【Save to ESP】或者【Send to ESP】上傳到esp32,即可以看到 NodeMCU-32S 運行該 lua 腳本的結果。
當然出廠固件也是開源的。可以下載到最新的固件代碼自己編譯即可;
下面的連接是 nodemcu esp32的分支,有很多功能模塊是沒有加載的;
cd project(進入你的工程目錄) git clone -b dev-esp32 --recursive https://github.com/nodemcu/nodemcu-firmware.git (必須添加--recursive 屬性,否則無法全部拉取所有模塊) cd nodemcu-firmware
配置信息
注意:NodeMCU-ESP32 使用自定義分區,默認的分區信息文件為 components/platform/partitions-2MB.csv,需要將此文件拷貝到 nodemcu-firmware 工程目錄下。
詳細的配置方法請參考 esp32_idf_menuconfig
打開 cygwin 終端或在 Eclipse 中執行 Make Menuconfig
cd nodemcu-firmware (進入你的工程目錄) make menuconfig
配置串口
配置 Partition Table
修改代碼
因為自動檢測 Flash 大小並修改固件 Header 的部分暫時存在一些問題,所以目前可以屏蔽掉該段信息。該函數的位置為 components/base_nodemcu/user_main.c 第 108 行。
編譯成功后,注意下打印出來的提示信息
python /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf-v3.0/components/esptool_py/esptool/esptool.py
--chip esp32
--port /dev/ttyS2
--baud 115200
--before default_reset
--after hard_reset write_flash -z
--flash_mode dio
--flash_freq 40m
--flash_size detect
0x1000 /home/aithinker/project/nodemcu-firmware/build/bootloader/bootloader.bin
0x10000 /home/aithinker/project/nodemcu-firmware/build/NodeMCU.bin
0x8000 /home/aithinker/project/nodemcu-firmware/build/partitions-2MB.bin