编译micropython在esp8266的固件

   ESP8266算是现在比较实惠并且应用比较广泛的一款WiFi芯片,它本身也是一个芯片,所以是作为直接开发的。或者说进行一个封装之后我们就可以直接使用串口进行操作,也就是使用AT指令,这个就是我们常常说的ESP8266的WiFi模块,直接转换成其他的单片机来进行操作这一块的内容。官方也提供了ESP8266的SDK可以进行开发。
http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family
   上面是官网,更多关于这款芯片的资料,大家可以参考上面的内容。下图是一些基本的参数截图。
编译micropython在esp8266的固件
 
   该芯片主频可以选择为80MHz和160MHz,所以对于一些基本的开发来说还是足够用的一个速度。内置了10位高精度ADC,TCP/IP协议栈,等等。所以芯片是非常优秀的。
 
   好了接下来我们要进入正题了,micropython,相信大家对pyboard不陌生了哈,使用的是STM32F405的芯片,将python融入32里面,从而可以在32上面进行python的代码编写,真的是一件很酷的事情,同时作者还是这些东西都开源了,非常的棒,非常的有趣。但是就是有一个问题,单单我们最一些简单的开发,在不做物联网的情况下pyboard还是非常棒的,简单,快开发,但是遇到互联网开发,就比较困难,所以我们想到一个问题,如果esp8266自己能够运行python,那该有多好!
   micropython的作者非常的棒!他在github上面也给出了esp8266的python代码,非常的棒。
编译micropython在esp8266的固件
 
 
 
首先我们需要将我们的micropython的github开源项目的内容下载下来。选择下图的图标就是可以下载下来。或者在window或者linux底下直接使用Git工具clone这个项目下来也是可以的。
编译micropython在esp8266的固件
 
   我们使用git clone下载的话如下图。
编译micropython在esp8266的固件
 
   这个编译需要在Linux底下,所以如果是windows的话就需要有一台虚拟机,来帮助完成这个编译的过程。
   首先我们在Github目录下进入esp8266的目录。向下滚动页面,我们可以看到一个README.md文件,解释一下,md结尾的是markdown语言编写的一个文本,能够用一些简单的语法完成一些格式,Github项目都会有一个这样的文件对项目进行一个介绍,进入项目之后都会在下方进行一个显示。
编译micropython在esp8266的固件
 
   再往下我们可以看到一个编译指南,在这里详细说明了该如何自行编译一个我们的esp8266的micropython固件。红色标记的地方说明在我们编译固件之前我们需要ESP SDK的工具来帮助我们完成编译。
编译micropython在esp8266的固件
 
   点击链接进入该Github项目。
编译micropython在esp8266的固件
 
   同样需要下载下来,页面向下滚动找到编译说明。这里我们选择的是在Ubuntu底下进行编译,下面图片截图说到我们编译这个东西的时候需要的工具和依赖的一些库等等。我们按照图片说明,在Ubuntu底下安装这些工具即可。
编译micropython在esp8266的固件
 
   完成了工具和依赖库的安装之后我们再往下看。有一个编译说明。我们按照这个说明就可以,第一步是下载,完成之后进入该目录直接make就可以。
编译micropython在esp8266的固件
 
  
同样我们使用git clone下载之后编译,这里和大家说明一下,我进入下载的目录之后,使用make命令编译了两次都出错,之后我换成了make STANDALONE=y就可以了,如果大家也遇到编译失败的情况,也可以尝试使用make STANDALONE=y试一下。
编译micropython在esp8266的固件
 
   然后我们需要将工具的bin文件添加到我们的系统目录当中,根据提示我们键入下面的语句就可以。
编译micropython在esp8266的固件
 
   之后我们回到我们的micropython目录当中,按照microPython的esp8266下面的README.md文件中的说明就可以。
   首先先更新一下我们的需要用到的子模块内容。
   在micropython的目录下面键入git submodule update --init即可完成这个工作。
   完成之后我们进入esp8266的目录下执行make就可以编译我们的固件了,第一步的话要先执行make axtls,完成之后在使用make命令,几分钟就可以完成这个工作了,之后我们就得到我们的固件啦。
我们可以找到一个名为firmware-combined.bin的文件,这个就是我们的固件啦。
编译micropython在esp8266的固件
 
 
   那么接下来我们就需要知道如何下载这个固件到我们的esp8266当中去,我们可以在我们的adafait的页面中我们可以看到下载的方法,在Linux底下我们可以使用我们的esptool.py这个工具,在windows底下我们就可以直接使用一个图形化工具啦!
https://learn.adafruit.com/building-and-running-micropython-on-the-esp8266/flash-firmware
网址如上,可以直接下载到。
编译micropython在esp8266的固件
 
   他们已经给出了很详细的下载方法我们这里大概说明一下。打开之后我们选择Config,然后点击红色方框中的图标。
编译micropython在esp8266的固件
 
   之后选择我们的固件。打开。
编译micropython在esp8266的固件
 
   完成之后如下图。起始地址0x0000,不做改变。
编译micropython在esp8266的固件
 
   回到我们的Operation。应该是会自动检测到你的芯片串口号,没有的话就自己选择一下。
编译micropython在esp8266的固件
 
   点击Flash就可以开始下载了。
编译micropython在esp8266的固件
 
   完成之后就有一个绿色的勾。
编译micropython在esp8266的固件
 
   接下来我们就可以使用我们的板子啦!!!
   打开我们的secureCRT,或者你用putty也是可以的哈,串口助手的话就算了,没有那么好的交互性,用起来不是那么方便。推荐前面两个工具。
编译micropython在esp8266的固件
 
   点击之后我们得到,修改成如下图,选择串口,端口就看自己电脑可能不同,波特率为115200,数据位8位,停止位1位,没有校验位。点击Connect就可以了。
编译micropython在esp8266的固件
 
   之后我们就进入了,但是敲了几个会出没有反应,会有一点bug。
编译micropython在esp8266的固件
 
   我们按板子的复位键。(可能多按几次复位)之后我们得到下图就可以啦。(因为我之前连过我的wifi,他会有一个记录,所以这里一开机它就自动连接WiFi了)。同时也可以看到我们的固件时间,是2016-06-07.也就是我们刚刚编译成功的固件。
编译micropython在esp8266的固件
 
   今天就写到这里啦,然后就可以用python来操作esp8266。