简述micropython环境如何把Python源程序写进ESP8266模块?

以学习物联网嵌入式开发为目的,从较为简单的esp32s开发板进行入手,使用micropython进行esp32开发,通过python语言控制esp32s开发板已实现蓝牙、wifi通信,串口通信,GPIO等各种功能。

***之后可以再次查看pip版本确认***是否成功;

esptool默认***至以下目录:

可在esptool的***目录下输入.\esptool来查看指令,版本号及更多信息

github上的页面记录着更全面的相关,有需要可以查看

其中,--chip是用来选择操作的芯片类型(esp8266 or esp32),--port是用来选择操作的端口(根据开发板连接端口选择),erase_flash指令用于擦除flash数据;

将下载的BIN文件烧录进esp32开发板中;

使用串口工具(任意串口工具皆可),选择相应端口(本例使用COM3),波特率115200,数据位8位,其他默认即可;

打开串口,会接受框会弹出esp32开发板烧录micropython的信息;

选择发送换行,在发送框输入

在接收框会收到hello world的返回,证明烧录成功,micropython已经在esp32开发板中正常运行;

从玩microPython 到现在,一路荆棘一路坎坷。

不知道只有我遇到这样的问题还是microPython太不稳定,还是我买的板子太糙。总之遇到了太多问题了。

最重要,也是最让我烦躁的问题是:刷不进程序,刷不进程序。

到头来,依旧解决不了问题,依据是上传一半,就上传不了了。只能重新刷固件。才能勉强上传一两次,之后就又上传不了了。

之后又用另一款软件,需要用命令行来打开和使用。--uploader

一开始不在意,到最后才发现那么好用。但是连接件要最先下载,就是刷好固件之后,马上下载链接件,不然无法使用这个软件的。

flash的擦出有两种方法,之前我都是用第一种,到后来才知道后面的方法,那么好用。

二,利用刷固件的软件,一键清除flash

本系列涉及到使用的软件和硬件并不像以前那样繁琐、复杂。如果之前有这方面的了解,初学过Python或者用过80C51或STM32系列的MCU,那么这一回的内容就跟吃馍沾酱豆一样简单了。

学编程语言总是越学感觉越难,往往都是兴趣作为原始驱动,后面却变成了生产力里的驱动。

人生苦短,及时行乐,如果刚上手就能够方便地驱动硬件,初学即巅峰,岂不是美滋滋?那么MicroPython就比较容易上手,而且可以直观的操作UART,I2C,SPI,PWM,ADC等等外设。

想一想初学80C51的时候逐个寄存器读写,那个心态都是小纠结;再到初学STM32的时候使用固件库进行初始化,流程虽然清晰但过程依然繁琐。记得前两年开始,ST官方都在推CubeMx,通过可视化的界面,完成底层与外设接口的配置,能有效减少了项目开发前期的工作量,给人感觉就是用起来越简单越好。

现在都是在挤出时间来捣鼓些小玩意,那就要以最快的速度把东西搞出来,也算是降低了不少时间成本。

如果只有可上网的浏览器,依然可以进行学习,详情参考本回最后惊喜。

本系列默认读者已经掌握基本的Python编程能力。如果是初学者需要自行学习, , 等Python 3教程都是容易上手的。

本系列前期能够使用到的语法也非常简单,只要理解能力不差(只要笔者描述的够明白),也可以继续学习下去,有关语法的疑问可以遇到之后再通过互联网解答。

MicroPython的相关信息可以通过 了解到,不想看官网的原文,可以参考下面谷歌翻译的简介:

MicroPython是Python 3编程语言的一种精简而高效的实现,其中包括Python标准库的一小部分,并且经过优化可在微控制器和受限环境中运行。

MicroPython pyboard是一种紧凑的电子电路板,可在裸机上运行MicroPython,从而为您提供了可用于控制各种电子项目的低级Python操作系统。

MicroPython充满了高级功能,例如交互式提示,任意精度整数,闭包,列表理解,生成器,异常处理等。 但是它足够紧凑,可以在256 k的代码空间和16 k的RAM中运行。

MicroPython的目标是与普通Python尽可能兼容,从而使您可以轻松地将代码从桌面传输到微控制器或嵌入式系统。

一句话概括,MicroPython就是可以使用Python语言,方便快捷的完成MCU对外接设备驱动的方式

硬件(MCU的型号和外接设备)的选择本质上可以理解为坑多和坑少的尝试(别问我为什么知道的),总要面临着成本和性能的均衡。

大多数开发阶段,为了迅捷方便,可以买市场上设计成熟的模块。就像买电脑一样,买一台组装好的机器,而不是东市买内存,西市买主板,南市买显卡,北市买电源。

当然必须得是超高性价比的,即要便宜还要能打的那种。在MicroPython官网提供了一些硬件模块,针对该网站学习量身定制的。可是价格也不太亲民,即使在某宝上,pyboard的套件也要大几十往上。

而同样支持MicroPython的ESP8266模块,ESP32的模块就比较便宜,并且该有的功能都有,就是想要这种便宜又能打的。这玩意长这样:

密码:本来设定的是密码在公众号:sharewow后台回复micropython获取;现在也可以私信回复;

,也有可能你需要的是PL2102的驱动(取决于购买的ESP8266模块上的串口芯片型号)。用于USB连接电脑之后,电脑识别到设备。新版本的Win10应该都可以插入设备,自动搜索相关驱动了。

串口调试助手,用于使用Python REPL(交互式解释器,类似于CMD进入Python的交互界面),使用终端显示器对程序进行仿真。

此时需要可以进行输入的串口调试助手,像常用带写入的串口调试助手都可以,包括下面要用的MicroPython File Uploader 也可以,笔者习惯使用 。

这款软件用来读取或写入ESP8266模块中4M的Flash内的文件,比如内部的的boot.py和main.py等。

区别于REPL,可以在Windows中完成程序的编辑,再通过USB线缆传输到Flash中,接着复位,就会运行编写的程序。

编辑器要选自己习惯使用的,Notepad3 也好(这个得注意,Python对缩进要求严格,建议Tab一定要改成制表符),Sublime Text也好,Ultra Edit也好,怎么方便怎么来,笔者就使用个人熟悉的 。

选项自己选择,建议默认***在C:\Python3

至此准备工作就做完了,接下来就可以开始学习了。

如果等不及买来硬件,就想学习新知识怎么办?

那么,仅需要有一台可以上网的电脑,就可以进行MicroPython的学习了,官方给出了一个网页版的操作平台,叫做unicorn,笔者查过了中文名叫独角兽。

该平台上,你可以实现基于pyboard的MicroPython的学习和及外设驱动,提供的外设模拟设备也非常多,可视化做的非常棒,详情界面如下:

可以直接选择一个Demo,比如SERVO,运行脚本就可以观察到舵机运动的动画:

非常直观的学习方式,甚至还省去了硬件连接带来的繁琐,是一个非常棒的操作平台。

第二回,将学习在ESP8266模块上点亮LED灯,致敬经典。

如果迫不及待,赶紧接着下一回继续学习吧!

我要回帖

更多关于 micropython能做产品吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信