玩着玩着发现了一个快速开发的好东西,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