MicroPython⼊门指南
Python是⼀种脚本语⾔,是⼀款⾮常容易使⽤的脚本语⾔,语法简介、使⽤简单、功能强⼤、容易扩展。有⾮常多的库可以使⽤。⽹络功能和计算功能也很强。⽅便的和其他语⾔配合使⽤。完全开源,受到原来越多的开发者青睐。不过由于受到硬件成本、运⾏性能、开发习惯等原因。没有在通⽤嵌⼊式⽅⾯得到太多应⽤。所以microPython应运⽽⽣。
MicroPython 可以在多种嵌⼊式硬件平台上运⾏,⽬前已经有STM32,ESP8266/ESP32、 CC3200、 dsPIC33、 MK20DX256、nRF51/nRF52、 MSP432、XMC4700等多个平台,⽽且还有很多开发者在尝试将MicroPython移植到更多硬件上。这些平台中,功能最完善成熟的是STM32和ESP8266这两⼤硬件平台,这也是⽬前最主要的应⽤平台。通过这两⼤硬件平台,就可以掌握MicroPython的主要⽤法,下⾯就给⼤家详细介绍。
ESP8266
最近⼏年,乐鑫的ESP系列芯⽚和ESP8266模块以其超⾼的性价⽐,在WiFi模块市场异军突起,在物联⽹、智能家庭、创客、DIY等领域中得到⼴泛的应⽤。
与传统⽅式MCU加WIFi收发器的结构相⽐,ESP8266的硬件上虽然也是两颗芯⽚(ESP8266加Flash芯⽚),
但是外围元件少,因此结构简单,成本也更低。ESP8266⽀持多种开发⽅式,如AT命令、SDK/C++、Arduino、Lua、Javascript、 MicroPython 等。
ESP8266的主要技术参数如下。
·频率范围:2.4GHz~2.5GHz(2400MHz~2483.5MHz)
发射功率:最⼤20dBm
蓝花路3H148由转
接收灵敏度:802.11b:-91dbm(11Mbps)
802.11g:-75dbm(54Mbps)
hell
802.11 n:-72dbm(MCS7)
· CPU : Tensilica L106 32 bit 微控制器
·⼯作电压:2.5V~3.6V
·平均⼯作电流:80mA
WiFi模式:Station/SoftAP/SoftAP+Station
安全机制:WPA/WPA2
·加密类型:WEP/TKIP/AES
应⽤:
家⽤电器
家庭⾃动化
对处1474年610058123简早好景⼭UOM
智能插座、智能灯
⽽中盛实开
Mesh⽹络
⼯业⽆线控制
婴⼉监控器
IP摄像机
收费专⽤
传感器⽹络
可穿戴电⼦产品
⽆线位置感知设备
安全ID标签
⽆线定位系统信标
与pyboard不同,MicroPython官⽅并没有推出⼀款专门的ESP8266开发板,⽽是使⽤了Adafruit Feather HUZZAH开发板作为基础硬件平台。不过它也适合⼤部分的ESP8266开发板,因为这些开发板的基本硬件结构都是类似的。
2 . NodeMCU
升级ESP8266的固件
需要的软件
升级ESP8266的Flash,需要准备下⾯⼏种软件之⼀:
1、esptool.py;
2、乐鑫官⽅的 Flash Download Tools;
3、uPyLoader;
4、uPyCraft。
不需要下载全部的软件,只需要选择⼀种适合的软件。
升级ESP8266的固件时,需要两个步骤:
(1)完全擦除Flash;
(2)写⼊新的固件⽂件。
如果不清除Flash,写⼊新固件后,很容易出现乱码问题,因此升级必须先清Flash。清除后就可以使⽤任意⼀个软件升级固件了。
注:Flash Download Tools 不带有清除 Flash 的功能。
进⼊升级模式
对于ESP3266,上电后有两种状态:升级模式和正常运⾏模式。这两种模式是在上电时检测3个GP10的状态⽽确定的(参考表3.1)。升级模式和运⾏模式的区别在于GP100,如果GP100是⾼电平,就是进⼊运⾏模式,否则进⼊升级模式。
对于⼤部分ESP8266开发板,需要⽤户控制才能进⼊升级模式,通常开发板上有⼀个专门的Flash按钮,在复位时按下Flash按钮就可以进⼊升级模式。少数开发板可以通过USB芯⽚提供的DTR或RTS信号,控制开发板⾃动进⼊升级模式。
⽆论是清除Flash还是升级程序,都需要进⼊升级模式后才能进⾏。升级的顺序是先让开发板进⼊升级模式,然后运⾏升级软件,下载固件。esptool.py
esptool.py是⼀个命令⾏⽅式的⼯具,可以运⾏在Windows、Linux、Macos操作系统上。使⽤它必须安装Python2(不能使⽤Python3),然后通过pip进⾏安装。如果你同时安装了Python2和Python3,就需要指定⽤pip2进⾏安装。此外还需要安装pyserial,因为升级是通过串⼝发送数据和命令的。
pip2 install esptool pyserial
esptool.py的基本使⽤⽅法是:
esptool . py --port PORT command value
需要⽤--port指定使⽤的串⼝号,PORT就代表了串⼝参数。command和value代表具体操作和参数,更多帮助可以通过esptool.py--help查看。注意命令是区分⼤⼩写的。
从功能上来说,eptool.py功能是最多的,但是它完全通过命令⾏⽅式使⽤,操作⽐较复杂,需要⽤户熟悉各种命令的⽤法和相关参数。
注:使⽤esptool.py时,如果没有将Python2的⽬录添加到系统路径,就需要⾃⼰指定Python2的⽬录才能运⾏。
1.擦除Flash
通过擦除命令erase flash 就可以擦除Flash,如xia。
esptool.py--port COM5 erase_flash
D: \dowmload>esptool.py --port COM37 erase_flash
Bellool . Py V1 . 3
our Cesanta
Frasing Flash ( this may take a while ) ...
Crase took 11.5 seconds
D: Idormload>python新手代码你好
清除 flash 时,如果清除的速度太快时(与操作系统版本有关),有可能并没有完全清除,可以尝试多清除⼏次。正常清除⼀次Flash,通常需要
5~15秒。有的软件是通过写⼊空⽩⽂件到Flash进⾏清除,使⽤的时间会更长。
2.写⼊固件
通过 write flash 命令就可以升级固件,最少需要提供两个参数,写⼊地址(这⾥是0)和固件⽂件,如:
esptool.py--port coms write_flash 0 esp8266-20170607-v1.9-25.bin
3.读取固件
除了esptool.py外,⼤部分软件都没有提供读取程序的功能。使⽤read flash就可以⽅便读取固件,并保存到⽂件。这个命令需要三个参数,起始地址、长度、⽂件名,如所⽰。
esptool . py --port COM5 read flash 0 600000 1 . bin
Flash Download Tools
Flash Download Tools 是乐鑫官⽅提供的下载软件,提供了基本的程序下载功能,⽬前它只有Windows系统的版本。
运⾏软件后,⾸先出现的是选择型号,选择第⼀项就是ESP8266(第⼆项ESP8285 是内部集成了 1MB Flash 的 ESP8266,不是太常⽤),乐鑫官⽅下载
件界⾯如图9.7所⽰。
第近久软件后需要先选择固件⽂件,并将地址设置为0,然后选择串⼝,其
的参数可以使⽤默认值先进⼊升级模式,然后按下START键就会开始升级。注意Flash DownloTools没有Flash清除功能,需要⽤esptool.py 进⾏清除。
其他MicroPython项⽬链接
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论