▌01 ESP8266模块下载MicroPython 手边有这类小型的ESP8266WiFi串口模块: ESP-01S 无线透传工业级 ESP8266串口转WiFi模块[1] 。现在有一个问题:它是否可以使用MicroPython进行开发呢? 就像在 ESP8266的一些MicroPython基础实验[2] 中的模块那样下载 ESP8266 MicroPython[3] 的固件。 下面图中的快速制版的PCB使用MAX3232作为接口,连接ESP8266与PCB的RS232 UART接口。 ▲ ESP8266通讯模块 修改ESP8266的固件可以直接使用下面的 ESP8266固件烧写器[4] 来进行修改。 ▲ ESP8266烧录器 1.模块的接口 ▲ 8PIN的外部引脚定义 ▲ 引脚功能定义 2.Thonny开发环境 在 Thonny开发环境[5] 介绍了Thonny MicroPython的开发环境的安装,并对ESP8266进行软件更新的过程。 从 MicroPython网站Download [4] 选择 ESP8266-20210202-V1.14bin[6] 文件下载到本地计算机目录下。 使用这个软件的 ESP8266 Firmware Installer 对ESP8266-01S进行软件更新。下面是更换过程,但是出现固件下载错误。 ▲ 工作模式下出现下载错误 下面是在Thonny下载界面信息框中给出的出错信息。显示了Thonny无法发送芯片擦除命令。 根据 图1-1-1 中关于ESP8266-01S的8PIN管脚功能定义,需要对于PIN3(GPIO0)拉低,使得模块进入 UART编程状态。 下面使用金属镊子对ESP8266的PIN3(GPIO0)与PIN1(GND)断路,然后上电,此时ESP8266进入了UART下载模式。 ▲ 使用金属镊子对PIN3于PIN1断路,再上电使得模块进入程序下载状态 3.对ESP8266设置下载状态 整个过程需要经过两个步骤: (1)擦除ESP8266 通过前面使用金属镊子帮助使得ESP8266-01s模块进入下载状态,使用Thonny的Update Firmware对ESP8266进行擦除。 (2)下载ESP8266固件 通过前面使用金属镊子帮助使得ESP8266-01s模块进入下载状态,使用Thonny的Update Firmware对ESP8266进行固件下载。 下载完之后,重新对于ESP8266上电,便可以在Thonny的Shell通过REPL来对于ESP8266-01S进行控制了。下面显示了使用help()命令获得输出。 ▲ 固件下载之后通过Thonny 的REPL对于ESP8266进行操作 ▌02 测试ESP8266-01S 根据 ESP8266的一些MicroPython基础实验 [5] 对于ESP8266-01S进行初步测试。 1.GPIO测试 在ESP8266-01S具有两个GPIO:GPIO0,GPIO2。 (1)测试GPIO2 GPIO2在测试板上有LED连接到地。可以通过它来显示GPIO2的状态。 ▲ 对于板载上的GPIO2的LED进行控制 (2)测试GPIO0 由于GPIO0没有连接任何外设,通过示波器测试该端口的波形。 ▲ 测量GPIO0的波形 2.测试ADC 由于ADC引脚并没有引出,所以下面的程序可以执行,但是信号与外部没有关系。 3.测试PWM 测试代码: 下图显示GPIO0上的波形: 设置PWM的duty 0 ~ 1023。 4.Socket通讯(1)测试代码 从程序print(wlan.lfconfig())获得模块的IP地址。 (2)STM32Bootloader终端 使用STM32BOOTLOADER中断来进行UDP发送、接收。在设置IP,Port之后,点动"SET UDP"完成设置。 然后在STM32BOOTLOADER对话窗口发送 ,便可以收到了对应的信息了。 ▌实验总结 通过实验验证了将ESP8266-01S下载MicroPython的固件过程。并通过Thonny开发环境完成对于ESP8266-01S的固件下载,并进行的内部的编程测试。 参考资料 [1] ESP-01S 无线透传工业级 ESP8266串口转WiFi模块 : https://item.taobao.com/item.htm?spm=a230r.1.14.42.566567d1KEbE5v&id=568054600435&ns=1&abbucket=5#detail [2] ESP8266的一些MicroPython基础实验 : https://zhuoqing.blog.csdn.net/article/details/114238748 [3] ESP8266 MicroPython : http://www.micropython.org/download/esp8266/ [4] ESP8266固件烧写器 : https://detail.tmall.com/item.htm?id=617225331165&ali_refid=a3_420434_1006:1109448581:N:qwnbk4ga1jWzvtXuIEnkGA :059458ad4395e879407ccc307fe53ea7&ali_trackid=1_059458ad4395e879407ccc307fe53ea7&spm=a230r.1.1957635.69&skuId=4351773637185* [5] Thonny开发环境 : https://zhuoqing.blog.csdn.net/article/details/114064833 [6] ESP8266-20210202-V1.14bin : http://www.micropython.org/resources/firmware/esp8266-20210202-v1.14.bin