魔改车钥匙实现远程控车:(番外)在macOS上安装使用MicroPython

news2024/11/24 19:03:44

前言

哈哈,各位可能会奇怪为啥上一篇文章还在说怎么在 ESP32C3 上安装 Arduino,现在怎么又变成了安装 MIcroPython。

其实是因为上次写 Arduino 还是我高中时候的事了,已经不太会了。

虽然 MIcroPython 我从来没有接触过,但是 python 我一直有在用,最多就是需要熟悉一下 MicroPython 的 API,同样是需要重新学习,我选择 python,毕竟人生苦短,我选python。能用 python 为什么要用 c 呢?

因为上次安装 Arduino 时已经踩过了一些坑,所以安装 MicroPython 还算比较顺利,我写的时候也会尽量写的简洁一点。

备注:虽然最后绕了一圈回来,我还是用回了 Arduino,但是之前写好的这篇使用 MicroPython 的文章我也还是发出来供大家参考

前期准备

下载固件

安装 MicroPython 需要刷入它的固件,这里选择官方打包的固件文件:
https://micropython.org/download/esp32c3/

安装 esptool.py

需要使用 estool.py 刷入固件。

使用 pip 安装:

pip install esptool

开始安装

清除原固件信息

在将 MicroPython 刷入板子前需要先把板子原来的固件信息清除掉:

esptool.py --chip esp32c3 --port /dev/cu.wchusbserial544C0047221 erase_flash

刷入下载好的固件

esptool.py --chip esp32-c3 --port /dev/cu.wchusbserial544C0047221 --baud 460800 write_flash --flash_mode dio -z 0x0 ./esp32c3-20220117-v1.18.bin

请自行更改上述命令中的串口地址和固件地址。

注意事项

需要注意的是,取决于你买的板子,官方固件下载页面中附带的刷入固件命令可能会有问题。例如,我的板子必须使用 dio 才能写入数据,但是官方帮助中的命令没有加入这个,导致踩了个大坑,具体表现就是虽然提示写入成功,但是串口无响应,或是循环发送乱码。

Hello World?闪烁小灯!

固件刷入完成后即可使用,此时通过串口连接你的板子,它已经变成了一个 python 终端!

可以直接在串口中执行 python 命令了!

当然,你也可以把 .py 文件直接写入板子内存,此时它就是一个“U盘”。

这里我们选择 Thonny 这个 IDE 进行测试。

Thonny

首先下载安装 Thonny。

官网地址:thonny.org

打开 Thonny 后,点击 运行 - 选择解释器 进入设置页面:

1.png

按照你的板子型号选择解释器,例如这里我选择的是 Micropython(ESP32)。

然后选择你板子连接的串口号,不知道怎么看串口号的可以看我的上一篇文章。

设置完成后,关闭界面,现在 IDE 下方的 shell 窗口就是直接连接的你的板子的 python 环境,你可以试试随便敲几个命令:

from machine import Pin
led = Pin(12, Pin.OUT)
led.on()
led.off()

2.png

我的板子的 12 号 Pin 是一个板载的 LED 灯,所以上面的代码会让这颗 LED 亮了之后又灭掉。

还记得我们上面说的吗?此时我们的板子就相当于一个 U 盘,所以我们可以写一个 Python 脚本,然后保存在板子上。

并且从 Thonny 中启动这个脚本。

例如,这里我们编写了一个闪烁的小灯程序,保存或运行时,会提示我们需要保存到 MicroPython 上还是 电脑上:

3.png

保存后点击运行,即可看到我们的闪烁小灯了!

另外,说一下,保存到 MicroPython 内的脚本,如果命名为 boot.py 则,在板子重启时会先运行一次这个脚本。

命名为 main.py 则会在 boot.py 运行后接着运行这个脚本。

参考

  1. MicroPython Setup
  2. Quick reference for the ESP32

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/549215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Microsoft Office 2003的安装

哈喽,大家好。今天一起学习的是office2003的安装,这个老版本的office可是XP操作系统的老搭档了,有兴趣的小伙伴也可以来一起试试手。 一、测试演示参数 演示操作系统:Windows XP 不建议win7及以上操作系统使用 系统类型&#xff…

Springboot 搭建WebService客户端+服务端

WebService简介 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可…

软件设计和架构设计

软件设计和架构设计 1.软件设计 1.1设计 设计是从架构 构件 接口以及系统其他特征定义的过程。 软件设计的结果必须描述系统的架构,系统如何分解和组织构件。 描述构件间的接口。 描述构件必须详细到可进一步构造的程度。 设计是把分析模型转换成设计模型的过…

三个帮助你整理信息的桌面 WiKi

如果你想在桌面上感受 wiki,而不用做那些复杂的工作,这很容易做到。这有一些轻量级 wiki,可以帮助你组织你的信息、跟踪你的任务、管理你的笔记等等。 这个词时,可能会想到 MediaWiki 或 DokuWiki 这样的例子。它们开源、好用、强…

Go 并发之channel(通道)

一、前言 作为 Go 语言最有特色的数据类型,通道(channel)完全可以与 goroutine(也可称为 go 程)并驾齐驱,共同代表 Go 语言独有的并发编程模式和编程哲学。 通道(channel)可以利用…

TOGAF架构开发方法—G阶段:实施治理

本章提供了对实现的体系结构监督。 一、目标 G阶段的目标是: 通过实施项目确保符合目标架构为解决方案和任何实施驱动的架构更改请求执行适当的架构管理功能 二、 输入 本节定义阶段 G 的输入。 1 、企业外部参考物质 架构参考资料 2、 非架构输入 架构工作请…

K8s之污点、容忍度与Pod重启策略详解

文章目录 一、污点-Taint二、容忍度-Tolerations二、Pod重启策略1、Pod常见状态2、Pod重启策略 一、污点-Taint 在 Kubernetes 中,污点(Taint)是一种标记,用于标识一个Node节点上的某些资源或条件不可用或不可接受。当一个节点被…

基于springboot的社区疫情防控平台

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SpringBoot 前端:HTML、Vue 数据库:MySQL5.7和Navicat管理工具结合 开发软件:IDEA / Eclipse 是否Maven项目:是 前言 基于springboot…

模板类与友元

目录 分类 一、非模板友元:友元函数不是模板函数,而是利用模板类参数生成的函数; 代码 分析 运行结果 二、约束模板友元:模板类实例化时,每个实例化的类对应一个友元函数;并且这个模板友元适用多种类模…

AtCoder Beginner Contest 302(A-D)

TOYOTA MOTOR CORPORATION Programming Contest 2023#2 (AtCoder Beginner Contest 302) Contest Duration: 2023-05-20(Sat) 20:00 - 2023-05-20(Sat) 21:40 (local time) (100 minutes) 暴搜场,1个小时出了4道,以为很有机会,结果E交了十发没…

栈和队列OJ题:LeetCode--232.用栈实现队列

朋友们、伙计们,我们又见面了,今天给大家带来的是LeetCode--232.用栈实现队列 数 据 结 构 专 栏:数据结构 个 人 主 页 :stackY、 LeetCode 专 栏 :LeetCode刷题训练营 LeetCode--232.用栈实现队列&#xff…

使用 compose 封装一个通用的关于页面库

前言 现在很多 APP 都会有一个关于页面,用于放置一些必要的信息,例如:版本号、版权信息等。有时也会用于展示设置、帮助、反馈等功能的入口。 通常,我们都会自己挨个创建不同的 item ,略显繁琐。 所以我就在想&…

ad18学习笔记一

如何自学altium designer如何自学altium designer? - 知乎如何自学altium designer 这里面有ad官方推荐的b站的视频:可以直接去b站关注ad官方账号 AltiumChina,它本身就发布了很多实用教程。 在知乎的这个界面也有Altium Designer Ver18_官…

万字长文,为你送上全网最全Flutter学习资料!

话不多说直接上目录,干货较多内容很长,建议先收藏供以后慢慢查阅。 目录 文章视频组件导航模板插件框架实验性游戏开源App实用工具社区书籍福利 文章 介绍 Google IO 2018 [1.1K👏] - 构建美观,灵活的用户界面。Presentation …

Stm32待机模式的进入与唤醒

1.基础介绍 1-1:单片机的“低功耗模式”,像是手机的待机模式,不同于正常运行模式,处于一种省电省资源的状态 1-2:在运行情况下,HCLK为cpu提供时钟,cortex-m3内核执行程序的代码,如…

CleanMyMac X2023Mac上下载最多的第三个实用程序

CleanMyMac X是一款广为人知的Mac优化应用程序,目前是Mac上下载最多的第三个实用程序,并获得苹果官方认证。为了满足用户更好体验Mac和新版系统,它们带来了新功能。这新功能可以帮助用户更好的监控Mac的健康状况,让用户畅享Mac新系…

base编码

https://www.qqxiuzi.cn/bianma/base64.htm 一眼就解密 一看就晓得是base64,问就是做多了(base64大小写加数字和) base编码概念 此博客列举的比较多,我信 https://blog.csdn.net/qq_53105813/article/details/127626450 简单聊几个…

少儿编程 中国电子学会图形化编程等级考试Scratch编程三级真题解析(选择题)2023年3月

2023年3月scratch编程等级考试三级真题 选择题(共25题,每题2分,共50分) 1、计算“2+4+8+……+128”,用变量n表示每项,根据变化规律,变量n的赋值用下列哪个最合适 A、 B、 C、 D、 答案:D 考点分析:考查数学逻辑推理能力,从给定的算式中可以看出后一项都是前一…

redis 数据库概述

一 概述 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合],hash(hash表))。相关…

基于springboot篮球竞赛预约平台

开发技术与环境配置 以Java语言为开发工具,利用了当前先进的springboot框架,以MyEclipse10为系统开发工具,MySQL为后台数据库,开发的一个篮球竞赛预约平台。 SpringBoot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring…