Python是一种脚本语言,是一种非常易于使用的脚本语言,具有语法概述、易用性、功能性和可扩展性。 有非常多的库可用。 网络功能和计算功能也很强。 易于与其他语言结合使用。 它是开源的,受到很多开发者的欢迎。 但是,由于硬件成本、运用性能、开发习惯等原因。 在通用嵌入式设备中很少使用。 所以微软python应运而生。
MicroPython可以在许多嵌入式硬件平台上运行,目前包括STM32、ESP8266/ESP32、CC3200、dsPIC33、MK20DX256、nRF51/nRF52、MSP432 众多开发者在这些平台中,功能最完善和成熟的是STM32和ESP8266这两个硬件平台,这也是目前最主要的APP应用平台。 通过这两大硬件平台,您可以了解MicroPython的主要使用方法。 以下详细介绍。
ESP8266
近年来,乐鑫的ESP系列芯片和ESP8266模块以其超高的性价比,在WiFi模块市场异军突起,广泛应用于物联网、智能家居、创客、DIY等领域。
与传统MCU和WIFi收发器的结构相比,ESP8266的硬件也是双芯片(ESP8266和闪存芯片),但由于外围部件较少,因此结构简单,成本也较低。 ESP8266支持多种开发方式,包括AT命令、SDK/C、Arduino、Lua、Javascript和MicroPython。
ESP8266的主要技术参数包括:
频率范围:2.4 GHz~2.5 GHz (2400 MHz~2483.5 MHz )。
发射功率:高达20dBm
青花路3H148由转
接收灵敏度:802.11b:-91DBM(11Mbps ) )。
802.11g:-75DBM(54Mbps )。
壳牌公司
802.11n:-72DBM(MCS7 )。
CPU : ten silica l106 32位微控制器
工作电压:2.5V~3.6V
平均工作电流:80mA
WiFi模式:站/soft AP/softapstation
安全机构:WPA/WPA2
加密类型:WEP/TKIP/AES
: APP应用程序
家用电器
家庭自动化
应对1474年610058123简早好景山UOM
智能插座、智能灯
然后,中盛实开
网格网络
工业无线电控制
婴儿监视器
IP照相机
专用费用
传感器网络
可穿戴电子产品
无线位置感知装置
安全ID标签
无线定位系统信标
与pyboard不同,MicroPython不推出专用的ESP8266开发板,而是使用Adafruit Feather HUZZAH开发板作为基本硬件平台。 但也适用于大多数ESP8266开发板。 因为这些开发板的基本硬件结构很相似。
2 .节点MCu
节点MCU还是以前的ESP8266物联网开发板,因使用Lua开发程序而闻名。 相关资料链接为:3359 github.com/node MCU/node MCU-firmware。
3.ESP8266机智云开发板
安信为机智云设计的开发板很容易连接到机智云的网络。 分为上下两层,上面是ESP8266模块、LDO和5050的RGB指示灯,下面是从USB迁移到串行端口。
4 .小e智能硬件开发平台
电子智能硬件开发平台是易通星云旗下第一个物联网智能硬件开发平台,也是国内第一个支持微信语音控制的智能硬件平台。 带有OLED、DHT11温湿度传感器、气压传感器、红外线等功能。
5.ESP-12系列模块
虽然已经介绍了几种ESP8266开发板,但实际上也可以使用ESP-12模块(参见图3.5 )自行设计,制作符合需要的开发板。 添加串行端口、各种传感器、电池、电源管理功能,或使用液晶显示器。 以此方式制作的ESP8266开发板更能满足特殊要求。
升级ESP8266固件
所需的软件
要升级ESP8266上的Flash,必须提供以下软件之一
1、esptool.py;
2、乐鑫官方的闪存下载工具;
3、uPyLoader;
4、超极速。
不需要下载所有软件,只需选择合适的软件即可。
升级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 flasher stub...
Frasing Flash ( this may take a while ) ...
Crase took 11.5 seconds
D: Idormload>
清除 flash 时,如果清除的速度太快时(与操作系统版本有关),有可能并没有完全清除,可以尝试多清除几次。正常清除一次Flash,通常需要5~15秒。有的软件是通过写入空白文件到Flash进行清除,使用的时间会更长。
2.写入固件
通过 write flash 命令就可以升级固件,最少需要提供两个参数,写入地址(这里是0)和固件文件,如:
esptool.py--port coms write_flash 0 esp8266-20170607-v1.9-25.成就的镜子
3.读取固件
除了esptool.py外,大部分软件都没有提供读取程序的功能。使用read flash就可以方便读取固件,并保存到文件。这个命令需要三个参数,起始地址、长度、文件名,如所示。
esptool . py --port COM5 read flash 0 600000 1 . 成就的镜子
Flash Download Tools
Flash Download Tools 是乐鑫官方提供的下载软件,提供了基本的程序下载功能,目前它只有Windows系统的版本。
运行软件后,首先出现的是选择型号,选择第一项就是ESP8266(第二项ESP8285 是内部集成了 1MB Flash 的 ESP8266,不是太常用),乐鑫官方下载
件界面如图9.7所示。
第近久软件后需要先选择固件文件,并将地址设置为0,然后选择串口,其
的参数可以使用默认值先进入升级模式,然后按下START键就会开始升级。注意Flash DownloTools没有Flash清除功能,需要用esptool.py进行清除。
其他MicroPython项目链接
基于pyboard 的飞行控制器
https://github.com/Sokrates80/air-py
https://github.com/wagnerc4/flight_controller
micro:bit 的 Python 图形化编程:
https://github.com/bbcmicrobit/PythonEditor
· PythonEditor 图形化保存中文网站:
http://microbit.site
· 基于 MicroPython 的开源机器视觉项目
https://openmv.io/
·用于发明和原型创作的可编程模块
http://www.limifrog.io/
·使用ESP8266和Nokia5110制作生命游戏
https://github.com/mcauser/MicroPython-ESP8266-Nokia-5110-Conways-Game-of-Life
·使用ESP8266的WiFiBoy Dev Kit
http://wifiboy.glazlink.com/
hackaday上的各种MicroPython项目
https://hackaday.io/projects?tag-micropython
·集成Lora、BLE、WiFi的LoPy
https://www.pycom.io/product/lopy/
·集成Lora、BLE、LTE的LoPy
https://www.pycom.io/product/gpy/
·集成WiFi、Bluetooth、LoRa、Sigfox和双模LTE-M的FiPy
https://www.pycom.io/product/fipy/