micropython入门指南电子版_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

NodeMCU也是较早的ESP8266物联网开发板,它最早是因为可以使用Lua开发程序而著名。相关资料链接为:https://github.com/nodemcu/nodemcu-firmware .

3.ESP8266 机智云开发板

安信可为机智云设计的开发板可以方便地连接机智云的网络。它分为上下两层结构,上面是ESP8266模块、LDO和一个5050的RGBLED,下层是USB转串口。

4.小e智能硬件开发平台

小e智能硬件开发平台是易通星云旗下第一款物联网智能硬件开发平台,也是国内率先支持微信语音控制的智能硬件平台。它带有OLED、DHT11温湿度传感器、气压传感器、红外等功能。

5.ESP-12系列模块

除了前面介绍了一些ESP8266开发板,其实我们也可以用ESP-12模块(参见图3.5)自己动手设计制作适合需要的开发板。比如增加串口、各种传感器、电池和电源管理功能,使用液晶显示等。这样制作的ESP8266开发板,可以更满足特殊要求。

升级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 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.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项目链接

基于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/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值