jjzjj

MicroPython 学习笔记 一. 环境配置,固件烧写

戚名扬 2023-10-10 原文

声明: 本人作为初学者,以笔记的方式记录学习内容,如果错误的地方欢迎大家指正批评,谢谢!

本机的开发环境为 MacOS Python3.6
windows 下的开发步骤可能略有不同

1. 选择需要开发板

这里我选了比较常见且玩法较多的esp32,和esp8266.

ep8266 NodeMCU Lua V3
原理图

上图是我使用的esp8266 开发板 以及原理图 ?

2. 安装USB转串口驱动

确定你的开发板拥有micro usb 接口或者已经通过自己的方式转化为usb可以连接你的电脑.

2.1首先要做的是查看开发板上串口转USB的芯片型号以安装对应驱动.

此款的芯片为 CH340
可以到http://www.wch.cn/进行驱动下载
MacOS http://www.wch.cn/download/CH341SER_MAC_ZIP.html
Windows http://www.wch.cn/download/CH341SER_EXE.html
下载后安装即可

2.2 检查驱动是否生效

在MacOS下的终端中输入

ls  /dev/tty.*

查看/dev 目录下的所有 tty.开头的文件
结果如下:

/dev/tty.Bluetooth-Incoming-Port
/dev/tty.MALS
/dev/tty.SOC
/dev/tty.usbserial-1460
/dev/tty.wchusbserial1460

/dev/tty.wchusbserial1460 即为我们连接的开发板
⚠️编号可能会随着插拔变化,建议自行查看
windows 下设备以com口形式出现,请参阅网络材料

3. 选择开发工具

开发工具有很多种选择,MuEditer,Thonny,甚至是Pycharm都可以安装插件实现MicroPython 的开发.
本次考虑到多个系统的使用习惯,和工具公共.我们先使用较为原始的终端利用命令行来进行开发.

我选择Macos自带的终端应用进行开发,windows 可以选择Putty.

选择好开发工具后需要安装 Rshell

Rshell 这是一个在主机上运行的简单 shell,并使用 MicroPython 的原始 REPL 将 python 片段发送到 pyboard 以获取文件系统信息,并将文件复制到 MicroPython 的文件系统或从 MicroPython 的文件系统复制文件。(来自github Readme)

Rshell github项目地址https://github.com/dhylands/rshell
不妨为作者点个?!

3.1 rshell 的安装

使用pip 安装 需要本机有python 环境 可以使用 pip --version 查看本地是否有pip

pip install  rshell

在 linux 环境下可能会出现串行端口权限的问题详情参考github中的readme文档

此时我们完成了所有开发环境部署,等等你说开发板还没有写入MicroPython固件?那么我们下面就开始.

4. 部署MicroPython 固件到开发板

4.1 下载 固件到本地

esp8266 MicroPython官方固件下载地址
https://micropython.org/download/esp8266/

官方教程
https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html#intro

让我们简单一点

4.2 开始写入固件

进入下载了固件的路径

以下内容在终端中输入
下载工具

pip install esptool

擦除缓存

esptool.py --port /dev/tty.wchusbserial1460 erase_flash

效果如下:

esptool.py v3.0
Serial port /dev/tty.wchusbserial1460
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 8c:aa:b5:59:30:90
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 3.3s
Hard resetting via RTS pin...

⚠️ /dev/tty.wchusbserial1460 是你设备的名称 需要自行替换
刷入固件

esptool.py --port /dev/tty.wchusbserial1460 460800 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

⚠️ /dev/tty.wchusbserial1460 是你设备的名称 需要自行替换,esp8266-20170108-v1.8.7.bin 为你要刷如固件的名称 在终端中可以使用Tab键补全

效果如下

esptool.py v3.0
Serial port /dev/tty.wchusbserial1460
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 8c:aa:b5:59:30:90
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0240
Compressed 632632 bytes to 415634...
Wrote 632632 bytes (415634 compressed) at 0x00000000 in 10.0 seconds (effective 505.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

4.3验证是否烧写成功

依然是终端命令

rshell -p /dev/tty.wchusbserial1460

⚠️ /dev/tty.wchusbserial1460 是你设备的名称 需要自行替换

效果:

Using buffer-size of 32
Connecting to /dev/tty.wchusbserial1460 (buffer-size 32)...
Trying to connect to REPL  connected
Retrieving sysname ... esp8266
Testing if ubinascii.unhexlify exists ... Y
Retrieving root directories ... /boot.py/
Setting time ... Jun 05, 2021 13:18:25
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 2000
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.

紧接着你就可以输入 repl
出现一个类似Python交互模式的终端,在 >>> 后可以输入

print("Hello MicroPython")

回车后显示
Hello MicroPython

此时你的esp8266就成功刷入MicroPython了,本节也到此为止.

有关MicroPython 学习笔记 一. 环境配置,固件烧写的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  4. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  5. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  6. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  7. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  8. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  9. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  10. ruby-on-rails - ruby gem如何在rails环境下工作 - 2

    我试图在rails中了解rubygems是如何变得可以自动使用的,而不是在使用required的文件中gem? 最佳答案 这是通过bundler/setup完成的:http://bundler.io/v1.3/bundler_setup.html.它在您的config/boot.rb文件中是必需的。简而言之,它首先将环境变量设置为指向您的Gemfile:ENV['BUNDLE_GEMFILE']||=File.expand_path('../../Gemfile',__FILE__)然后它通过要求bundler/setup将所有ge

随机推荐