在Ubuntu上烧写固件到NodeMCU

小白一个,几经折腾,终于通过ubuntu烧写固件到nodemcu上了,总结一下经验

因为我要用到SD卡,但是作为小白,一开始没找到什么资料,后来硬啃官方文档才知道要编写固件

但是一共有三种方法可以得到----官方文档-----试验了三种,两种成功,一种不会解决的bug遂放弃

1、通过在线编写固件,在网页的比较下面有这个选项,就是可以支持外置SD卡读取,此方法最简单,而且最好用gmail收取,手机QQ邮箱可以代收gmail邮件,不用

在Ubuntu上烧写固件到NodeMCU_第1张图片

2.通过docker方法,此方法我失败了,在编写固件的时候缺少了什么,但也看不太懂,就去尝试第三种方法了,有兴趣的可以参考这篇文章https://www.cnblogs.com/zeroes/p/nodemcu_build_smartconfig.html

3.通过linux系统烧写,这是我重点要讲的,因为也是第一次使用linux系统,所以很多都不会。

分为三步走

一、先安装编译工具链esp-open-sd

  1. sudo apt-get update #更新目前软件
  2. git clone --recursive https://github.com/pfalcon/esp-open-sdk.git #安装编译工具链esp-open-sdk,之后可以读一下下载来的这个软件里面的README.MD文件,下面的步骤这个文件都有说明
  3. sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2  #安装这些乱七八糟的东西
  4. sudo apt-get install libtool-bin #我之前弄了很久,就是没有安装这个东西所以搞了很久,因为别人的教程都没有写...
  5. cd esp-open-sdk #然后跳转到这里
  6. make   在Ubuntu上烧写固件到NodeMCU_第2张图片#好像三个都可以用,有点区别,我看不懂,就直接用make了,而且这个时间比较漫长。
  7. 完成之后,上面的代码会有提醒你把环境变量加进去,直接复制代码运行即可
  8. source #不知道干什么用的,看别人的教程有。

第一步结束了

第二步,开始编写固件了

  1. git clone https://github.com/nodemcu/nodemcu-firmware.git    #下载nodemcu固件
  2. cd nodemcu-firmware  #跳到这个文件夹
  3. 然后修改各种固件,app/include/user_config.h,里面有#define BUILD_FATFS,把这个注释去掉,就可以用SD,还可以把Integer build的注释去掉,这样子就是用整型的固件了;再去user_modules.h里面选择你要的组建,把注释消掉就行了;最后去user_version.h签上自己的大名#define __USER_VERSION_H__ "NodeMCU custom build by  haha"
  4. make 慢慢等,我大概等了半个多小时后,固件就编写好了,有俩,一个从00开始,另一个从10开始

最后,把固件写到nodemcu里面

  1. sudo adduser 你的名字 dialout    #把你这个用户的名字加入到串口组,说起你的名字,突然想到一个段子,俩基友在电影院看完你的名字,一男含情脉脉看着另一男,问:“你的名字?”,答“叫爸爸就行",还是蛮好笑的。
  2. 然后要注销一下,再登录回来,再跳到nodemcu-firmware这个文件夹
  3. make flash #会提示你选择512kb还是4M的,我选择4M的,所以再输入make flash4m
  4. 然后就开始刷起固件来了,爽的一匹

但是我还是不会在ubuntu上编写程序,所以还是回到了window上用ESPlorer写了。

连接SD卡的操作可以参考官方文档https://nodemcu.readthedocs.io/en/master/en/sdcard/

最后在ubuntu上的操作主要是参考这篇文章https://blog.csdn.net/spenghui/article/details/72778551,特此感谢

 

 

你可能感兴趣的:(NodeMCU,NodeMCU)