如何进行NodeMcu的知识梳理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
关于NODEMCU和ESP8266之间的关系
我自己的理解:
ESP8266是核心芯片
NodeMcu开发板是以ESP8266为核心,扩展的开发板。
两者端口对应关系如下:
一些NodeMcu开发设计的软件和材料:
ESPlorer和入门教程 , 集成了串口调试界面和Lua开发环境的IDE,官方推荐
官方lua固件,包含源码,各模块的LUA例程和说明文档,编译后生成bin文件,可以烧写到flash中。
nodemcu flasher, nodemcu一键烧写工具,无需设置,一键烧写最新的nodemcu固件
nodemcu硬件资料, nodemcu硬件原理图,gerber文件,管脚说明
nodemcu的lua应用程序,可以上传至nodemcu运行
nodemcu API英文文档和中文文档
, 中文文档有错误,但是方便检索
NodeMCU custom builds,可以在网站上订制自己的nodmcu固件,固件可以只包括需要的模块,减小运行内存。
对于ESP-12的固件:
我们拿到的esp-12模块可以发送AT指令,因为包含AT指令的固件已经烧进mcu。
我们能用lua语言编程程序上传运行,因为包含lua模块和执行器的固件已经烧进mcu
NodeMcu硬件和lua固件的关系 烧写进nodemcu的lua固件更像一个操作系统,它有对应的文件系统SPIFFS
用ESPlorer
把.lua文件上传至nodemcu的文件系统统SPIFFS,在物理上是把这部代码上传到flash
,放在文件系统对应的地址中。
lua固件和文件系统的.lua代码载入内存运行,固件负责解释代码并执行。
上传lua与烧写flash固件的区别是:烧写固件是将原固件擦除并更新,通常不会影响文件系统。而Esplore上传.lua只是更新文件系统。文件系统和固件占用flash的不同地址,互不影响。
要烧写nodemcu的固件,windows下需要VM虚拟系统下的linux编译源码(乐鑫官方的编译方式),或者用安信可的SDK,当然你也可以在网上订制,点击NodeMCU custom builds,你需要烧写工具nodemcu flasher把bin文件写入flash
切记,一旦你烧写nodemcu的固件,意味着你更新了操作系统。它可能增加或减少几个功能模块。而文件系统的.lua
文件一般情况下会保留。这与重装电脑c盘,d盘的文件不受影响是一个道理。
关于SPIFFS
SPIFFS是nodemcu的文件系统,用于falsh中放置.lua
文件,flash也放置固件。查看nodemcu官方文档对SPIFFS的说明,点击这里,这里简单说一下:
SPIFFS 全称是SPI Flash File System,用于SPI读写flash的文件系统,其实也可用于NOR flash
SPIFFS 文件系统用于嵌入式平台的 SPI NOR flash设备,同样适用于MCU内部的falsh
nodmcu的lua固件包含了SPIFFS文件系统的镜像工具。第一次烧写flash,没有检测到flash中的文件系统,会在flash中新建一个文件系统。文件系统的起始地址
=固件结束地址
+64K~128K
。
如果新固件大小
<原固件大小
+64K
,原有的文件系统就会保留,否则会新建,原有lua文件丢失
看完上述内容,你们掌握如何进行NodeMcu的知识梳理的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。