魔改车钥匙实现远程控车:(前传)在macOS上安装使用Arduino

news/2025/2/10 22:11:43/

前言

因为最近有个需求需要硬件支持,原本打算使用 Arduino Nano,后来在 Boot 大佬的建议下,买了某宇宙家的 ESP32C3 核心板,对比 Arduino Nano 价格便宜了一大半,而且自身就集成了 WIFI 和 BLE 模块,还不用另购蓝牙模块,可以说是性价比极高了。毕竟 9.9 包邮还要什么自行车?

安装

安装 Arduino IDE

下载地址:https://www.arduino.cc/en/software

打开上面下载地址后根据自己的系统下载需要的版本。

比如我使用的是 macOS,并且因为需要支持 ESP32C3 的芯片,所以我下载的是 Arduino IDE 2.0 RC 的 macOS 版本。

安装 ESP32 包

安装教程地址:https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html

按照上述教程中的安装方法安装即可。

一开始我以为是 macOS 不兼容,导致直接在 Arduino IDE 中添加第三方包管理地址后自动安装 ESP32 包会安装失败。

所以按照上述教程中 macOS 小节的方法,直接下载后使用脚本“手动”安装成功。

后来才意识到,自动安装失败可能是因为我电脑上没有安装 python 环境导致的。

所以各位可以先尝试直接使用 Arduino IDE 自动安装,不行再使用手动安装。

手动安装

首先,按照教程所述,先检查你的 Sketchbook location (项目文件夹地址)是否更改过。

查看方式:依次点击

“Arduino” > “Preferences” > “Sketchbook location”

中文即,
Arduino IDE > 首选项 > 项目文件夹地址

然后在终端中输入代码后回车即可自动执行;

mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools && \
python get.py

注意把上述代码中的 ~/Documents/Arduino/ 替换成你自己设置的项目文件夹地址。

上述脚本的作用就是,在 Arduino 项目文件夹下创建 /hardware/espressif/并下载管理包文件到该文件夹中,最后执行 python 脚本安装。

注意:

  1. 电脑上需要安装 git 和 python
  2. 下载地址是 GitHub ,国内下载速度可能很慢,甚至直接下载不了,推荐使用 gitee 镜像,将 gitee 镜像地址 https://gitee.com/gengstrong/arduino-esp32 替换掉上述脚本中的 https://github.com/espressif/arduino-esp32.git 即可

TIPS:其实 GitHub 上的仓库 gitee 都有镜像,但是直接搜都是搜不到的,告诉大家一个小技巧,你只要在 gitee 中选择新建一个仓库,然后选从 GitHub 导入,输入 GitHub 仓库地址后,它就会提示你已有镜像的地址。

导入仓库.png

镜像地址.png

安装驱动

驱动下载地址:CH343 USB UART Board

我一开始就犯了个错误,导致虽然 ESP32C3 管理包安装成功了,也能够成功连接上板子,但是就是无论如何无法烧录程序,一直提示 :

A fatal error occurred: Failed to write to target RAM (result was 01070000: Operation timed out)
Upload error:上传失败:上传错误:exit status 2

上传代码错误.jpg

后来才意识到是没有安装驱动导致的。

我购买的这块板子使用的是 CH343 芯片将 TTL 串口转为 USB 接口,所以需要安装一个 CH343 的驱动。

最终 Google 找到一个驱动。下载地址在上面。直接下载安装就行。

对了,如何区分驱动是否安装成功也很简单,就看一下你的串口名称是否改变即可:

查看驱动方法.png

未安装驱动前,串口名称是类似 tty.usbmodemxxxx,安装后变为 tty.wchusbserialxxx

例如,安装驱动后,在 Arduino 中看到的串口名称:

串口地址.png

查看当前串口的方法:

cd /dev
ls tty.*# 或者
ls cu.*

开始使用

  1. 选择开发版为 ESP32C3 Dev Module

选择开发版.png

  1. 更改设置,将 flash mode 改为 DIO,否则即使 IDE 提示代码上传成功,实际也并没有上传成功:

设置flash_mode.png

  1. Enjoy it!

http://www.ppmy.cn/news/73111.html

相关文章

ubi 文件系统的fastmap启用

fastmap是一项实验性和可选的UBI功能,可以启用 通过将CONFIG_MTD_UBI_FASTMAP设置为“y”。启用后,UBI将评估模块 参数“fm_autoconvert”。如果设置为 1(默认值为 0),则自动 UBI 为任何附加的图像启用fatmap。这意味着…

Mybatis Plus实现乐观锁

文章目录 1 概念2 实现思路3 实现步骤步骤1:数据库表添加列步骤2:在模型类中添加对应的属性步骤3:添加乐观锁的拦截器步骤4:执行更新操作 1 概念 在讲解乐观锁之前,我们还是先来分析下问题: 业务并发现象带来的问题 : 秒杀 假如有100个商品或者票在出售&#xff…

腾讯出行服务,让你见证城市出行跃迁

代驾行业市场有多大?随着疫情防控进入新常态,代驾行业也随之回暖,代驾需求呈现“V”型反弹,单月总订单量已经超过疫前水平,并有望创历史新高。 为什么这样说呢?下面就跟指针跃动来聊聊,腾讯出行服务&#…

plan路径优化,路径平滑

plan路径优化,路径平滑 //欧氏距离double global_planner::euclidean_distance(const geometry_msgs::Point& p1, const geometry_msgs::Point& p2) {double dx = p1.x - p2.x;double dy = p1.y - p2.y;return std::sqrt(dx * dx + dy * dy);} //插入中间点void glob…

如何在海量、庞杂、混合的数据中发现价值?

数字时代,数据上升为国家战略,数据成为重要的生产要素和资产,得到了越来越多企业的重视,也成为企业数字化转型的重要抓手。据IDC中国预测,2025年中国大数据生产量有望增长至48.6ZB。 随着越来越大的数据量&#xff0c…

Java --- redis7的缓存淘汰策略

目录 一、redis内存查看与设置 二、redis的数据删除方式 三、redis缓存淘汰策略 一、redis内存查看与设置 查看redis最大占用内存: redis默认内存使用: 不设置最大内存大小或设置为0,在64位操作系统下不限制内存大小,32位操作系…

【渗透测试】web日志、linux命令、常用知识

文章目录 web日志分析基础知识1. 编码2. 解码工具3. 数据提交方式4. 常见脚本语言5. 日志还原 分析日志1. 分析日志的目的2. 攻击出现的位置3. 攻击常见的语句4. 攻击常见的特点5. 攻击日志分析流程 相关linux命令常用命令系统状态检测命令工作目录切换命令文本文件编辑命令文件…

可持续能源技术具有改变世界的潜力,并且已经在多个方面展现出积极的影响。

可持续能源技术的发展在当今全球面临的气候变化和能源安全挑战中扮演着至关重要的角色。我认为可持续能源技术具有改变世界的潜力,并且已经在多个方面展现出积极的影响。以下是我对此的观点: 1,可持续能源技术有助于减少对化石燃料的依赖 化…