⽤mircopython开发ESP32ESP8266(环境搭建教程)前⾔:⽼早之前就说过要写这篇博客了,但奈何学业繁忙,今天正好有空,补下这个坑。
⽂章⽬录
关于Micropython
python 爬虫教学MicroPython是Python的⼀个精简版本,它是为了运⾏在单⽚机这样的性能有限的微控制器上,最⼩体积仅256K,运⾏时仅需16K内存。
MicroPython是基于Python 3.4的语法标准。因为要适应嵌⼊式微控制器,所以裁剪了⼤部分标准库,仅保留部分模块如math、sys的部分函数和类。此外,很多标准模块如json、re等在MicroPython中变成了以u开头的ujson、ure,表⽰针对MicroPython开发的标准库。
⽬前,MicroPython除了可以运⾏在最初开发的pyboard微控制器上外,还可以运⾏在⼤量基于ARM的嵌⼊式系统,如Arduino,这样我们就可以通过Python来⾮常⽅便地开发⾃动控制、机器⼈这样的应⽤。
---- 摘抄⾃廖雪峰博客简单来说,mircopython就是在单⽚机上运⾏python程序的框架
micropython官⽅⽂档:
micropython中⽂版⽂档:
micropython源码:
MicroPython所⽀持的板⼦
Pyboard v1 & D-series(没玩过)
STM32 boards(STM32麽,懂得都懂)
Raspberry Pi RP2040 microcontroller boards(树莓派新出的微控制器,听说性价⽐不是很⾼)
TI CC3200 boards(TI公司第⼀颗⽤于物联⽹的内置WiFi的MCU)
Espressif ESP-based boards(乐鑫esp系列,今天的主⾓)
环境搭建
1.下载固件
esp8266]esp32
说明:版本尽量选最新的即可,要是觉得最新的不稳定,也可下载前⼏个版本。关于ESP32的固件有两个:⼀个是基于开发的固件,此固件⽀持BLE和PPP模式,但不⽀持LAN(局域⽹),⽬前还在维护,⽽另⼀个是基于ESP-IDF v3.x开发的固件,此固件⽀持BLE,PPP和LAN,⽬前已经停⽌维护,因此如果需要⽤到局域⽹控制ESP32的,尽量选择下⾯那个版本
2.固件安装
固件安装使⽤乐鑫官⽅提供的 即可
下载完成之后,双击运⾏⽂件夹⾥⾯的执⾏程序即可
打开后依次选择Developer Mode->ESP8266 DownloadTool 或 ESP32 DownloadTool
配置如下:
这样micropython的固件就算烧录成功了。
3.py⽂件运⾏
要想在esp板⼦上运⾏python程序,则需要先将python程序烧录到板⼦上,这⾥提供三种常⽤的烧录软件,其功能都⼤同⼩异,主要是掌握其⽅法
(功能最齐全,适合新⼿使⽤)
(界⾯美观,⽀持的板⼦⽐较多)
(软件仅⼏⼗kb,但该有的功能都有)
这⾥以uPyCraft为例,其他的软件⾃⼰折腾哈~
软件⾃带固件和固件烧录功能,若不想⽤官⽅的flash下载⼯具,也可使⽤该软件进⾏固件烧录,具体⽅法如下:
1.打开⼯具栏Tools->BurnFirmware
2.按⾃⼰需求选择以下内容
软件⼯作区⽬录说明:
device:烧录到设备中的python⽂件
sd:存放在SD卡中的⽂件
uPy_lib:软件⾃带的第三⽅库⽂件
workSpace:本地⼯作区⽂件
烧录固件成功后即可在device⽂件夹中看到boot.py⽂件,boot.py⽂件会在每次引导(包括从深度睡眠中唤醒引导)时执⾏,但⼀般不需要修改
注:若没有在device中看到boot.py⽂件,在⼯具栏Tools->Serial中先选择设备的端⼝号
这⾥给出⼀个点灯的⽰例⽂件
from machine import Pin
from time import sleep_ms
# 设置2引脚为输出模式(2引脚连接板⼦上的LED灯)
LED = Pin(2, Pin.OUT)
while True:
# 2引脚输出⾼电平
<()
# 延时500ms
sleep_ms(500)
# 2引脚输出低电平
LED.off()
sleep_ms(500)
下载⽰例代码到板⼦上并运⾏可以看到LED⼀闪⼀闪亮晶晶,关于各函数的使⽤⽅法可以移步到micropython的官⽹⽂档观看
注:像类似demo.py⽂件只能在板⼦上执⾏⼀次,若断电重启板⼦则不会继续执⾏,若想⽂件持续运⾏,可以将⽂件名改为
main.py,main.py是板⼦执⾏的主程序,如果在main.py中执⾏死循环,可能会导致板⼦持续⼯作,⽽与电脑断开连接
4.进阶之路
像machine,time等库函数都是MicroPython固件中⾃带的,如果想使⽤ESP开发更多的东西,光这些肯定是不够的,这就需要⽤到第三⽅库⽂件,这⾥提供⼀个第三⽅库总和⼊⼝:
其实在uPyCraft的uPy_lib⽂件夹中就有⼀些常⽤的第三⽅库,像OLED常⽤的SSD1306驱动库⽂件,mqtt所⽤到的simple⽂件,通过TCP访问⽹页所⽤到的urequests(类似requests库,懂爬⾍的⼩伙伴⼀定不陌⽣哈<-.<-)等等
结尾:在写这篇博客的时候其实我已经不⽤micropython开发ESP8266很久了,所以有些知识可能会说错,望各位看客谅解哈~但⽰例基本都是亲⾃实验过才上传的,所以基本不会有错

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。