| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> ESP8266/ESP32 + MicroPython 一 初识 -> 正文阅读 |
|
[嵌入式]ESP8266/ESP32 + MicroPython 一 初识 |
Arduino 大概来说是基于 c、c++、java 的,程序需要编译再上传,单一用途还算顺溜,但是如果有一些比较灵活的场合,就没有解释型环境来的方便。 Python 也是基于 c、c++,但是默认是交互式的命令行输入输出,勉强有解释型环境的体验。 ESP8266 ESP32 这样的单片机开发板,便宜还集成了较大的eeprom, 算是一个麻雀虽小五脏俱全的小计算机,虽然跑不了 PC 版的 Python,但是有人开发出 MicroPython,而且它比 PC版 Python还容易控制单片机的接口(传感器,通讯,小显示器等) 更高性能的树莓此处不讨论。 不废话,点击下面网址?立即?体验一下什么是 MicroPython 。
Wokwi 是一个 Arduino 的在线模拟网站,什么硬件都不需要就可以开始 Arduino 的编程和硬件的测试,尤其是 ESP8266/ESP32 上传一次程序比较慢,微调一下显示格式什么的在模拟器上完成看起来很节约功夫,也容易分享。 Wokwi 提供了一个基于?ESP32 的?MicroPython 模拟,点击绿色运行按钮,就立即开始了 Hello 程序, 真是 So Easy!(真的只需要几秒钟!) 第一个自己的实验: 闪灯。Arduino的各种开发板默认都有一个灯,方便上传程序时看到闪烁,例程里有Blink程序,即使没有其他模块都能开始第一个程序。把如下代码贴在左面的程序区,点击绿色运行按钮,右面模拟区?蓝色?的灯会闪哦。
当然,实体 ESP32 想把 MicroPython 跑起来还是需要搭建环境的,也需要会一些单片机的基本操作,串口操作基础,C语言 Python PIP的基础,不会也没关系,就是脚踏实地(一步一坑),排除万难(搜索结果中找到适合的文章)慢慢探索罢了。 ---------------------------------------------------------------------------------------------------------------------------- 文章真的太多了,简单列个步骤,慢慢搜吧 1 和 2 是在 Windows11 里完成的。并不需要连接ESP32 3 和 4 是 ESP插上线连到 Windows , 写入固件 之后 5 以后的步骤是?ESP插上线连到 Windows,通过串口调试 再之后也可以用网络连接的方式调试
1 下载固件???????(我刚刚在ESP8266测试,下载的是 esp8266-20220117-v1.18.bin 很小的,别下错了) 2 安装esptool??命令行执行? ( Windows11 已经安装好 Python3.10 )?
?1 和 2 是在 Windows11 里完成的 3 擦除闪存? 命令行执行? (刚才执行的pip安装esptool,可以在python目录下找到esptool.py,执行失败就加上文件的全路径,如这个理解不了真的不适合独自玩,去报个班吧)
?执行结果这样的: 4 写入固件? 命令行执行 ?
执行结果这样的: 上面这两步骤很快的,一分钟内。 另外有一个基于浏览器的ESP固件上传 ??Adafruit ESPTool?工具同样可以实现上面步骤 3、4 的功能,不过初试没成功,看了看 安信可?的烧录说明,估计使用的固件不是同一个,有机会再研究吧。 5 串口调试 固件写好之后,基本上就可以开始表演了,这时需要一个串口调试工具,Putty 什么的都可以,注意,需要次输入后面需要加上回车符号 <CR> \r 或 16进制 0x0D,大多数串口软件都支持自动添加的。有人推荐 MicroPython File Uploader? ,因为不仅可以串口调试,还可以上传 .py 文件。 串口调试界面里可以手敲如下命令(python 语句),看到当前板子里有那些程序文件
大概是下图这样子的:后5行看得懂的就是实际的操作结果,前面问号这些是ESP初始化的乱码,多年来一直这样的,习惯就好。 6. 上传文件 虽然手敲 python 语句也是蛮好玩的,但是能以文件方式保存,上传到ESP里也是极好的: 把之前闪灯的代码保存 Blink.py ,用 uploader 上传,用 os.listdir() 命令查看 看起来上传成功了,掉电再看也在,可是灯不闪呢? 搜一下。。。原来micropython上电加载 boot.py ,然后自动运行 main.py (注意大小写)。 这下简单了,把?Blink.py 改个名字为?main.py 。。。几秒钟后,蓝灯开始闪了? 至于不需要的文件,删除就好了
?7. 驱动 I2C SSD1306 OLED 这应该是比较常见显示模组,把下面的代码保存为 main.py ,用?uploader 上传,就有画面了。乱搜的各有各的说法,各种库,现在都不需要了,估计固件里自带了。
8.?WebREPL uploader 是串口连接,需要插数据线的。有人提到,万一做成了壳子里的成品,再想更新下程序咋办呢?于是还有洋气的玩法,通过 wifi 上传下载文件和命令行交互。 1. Windows下载?webrepl 客户端 2. MicroPython/ESP8266 上面启用 Wifi 和 WebREPL (下面代码保存为 main.py 并上传)
3. 浏览器登陆?WebREPL 页面, 按如下格式登陆,IP 在串口上可以看到的 然后页面下方是可以上传下载文件的 9. OLED 显示 当前 IP ,方便 WebREPL 连接 之前实现了驱动oled,也实现了wifi连接,也实现了WebREPL,Ctrl+C大法几个代码拼接一下就同时实现了呗。不过有个小问题,怎么获得本机的IP?? sta_if.ifconfig()? 是可以获得IP,但是信息有些多,OLED太小。。。 其实?sta_if.ifconfig()? 输出是个“一维数组” ,取第一个元素即可:
10. 最后,来点和单片机沾边的 ADC,不然还以为就是纯键盘操作呢 和 arduino 略有不同,还是那句话,习惯就好。
11. 几个终端工具的比较 ?WebREPL 支持网络,支持文件上传下载。不支持复制粘贴,这个就不能接受了(也不知道是不是我的打开方式不对) Uploader 挺简洁方便,支持文件上传。窗口大小不可调。不支持多行复制粘贴,有些麻烦。 PuTTY?支持多行复制粘贴,窗口大小可调。。。但是没找到文件上传下载。 刚才试了下?PuTTY 里多行粘贴 文首的 闪灯程序,回车4次开始执行,Ctrl-C停止, 看起来简单实验也不用上传文件了。 ------------------------------------------------------------------------------------------------------------- ?至于后面怎么玩。。。So(搜)easy!(提示一下,点上图软件右下角就有一些搭建实例) |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:35:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |