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

news2024/11/24 17:05:34

前言

因为最近有个需求需要硬件支持,原本打算使用 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.coloradmin.cn/o/549255.html

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

相关文章

(一)before initialization of D3D(初始化D3D之前你需要了解的D3D基础知识)

什么是D3D? D3D全称Direct X 3D,即一组API可以用来针对GPU编程,不过他最主要的作用是用来渲染(不过现在也有很多其他应用比如d3d11va[Direct X 3D 11 Video API]用来进行硬件加速解码) Tips:Direct X 3D主要用来渲染,既然我们说到可以针对GPU编程了,当然不只是渲染的工作可以…

国考省考行测:数量关系,牛吃草问题,比例问题

国考省考行测:数量关系,牛吃草问题 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论…

〖Python网络爬虫实战㉘〗- Selenium案例实战(二)

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付…

图神经网络(处理点云)PPFNet的实现

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook和有关文献。超链。提取码8848。 文章目录 前言文献阅读代码实操历史遗留问题 前言 本篇文章接上一篇文章…

今年的面试难度,我给跪了……

大家好,最近有不少小伙伴在后台留言,又得准备面试了,不知道从何下手! 不论是跳槽涨薪,还是学习提升!先给自己定一个小目标,然后再朝着目标去努力就完事儿了! 为了帮大家节约时间&a…

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第七届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.h:main.h:main.h: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…

手撕代码——同步FIFO

手撕代码——同步FIFO 一、FIFO原理与设计二、完整代码与仿真结果三、仿真结果 一、FIFO原理与设计 查看Xilinx官方FIFO IP核,其主要的信号有时钟信号、写端口信号、读端口信号,其中,写端口信号包括写满信号full、写使能信号wr_en、写数据输入…

[元带你学: eMMC完全解读 7] eMMC 设备与系统概述

依JEDEC eMMC 5.1及经验辛苦整理,付费内容,禁止转载。 所在专栏 《元带你学: eMMC完全解读》 前言 全文3600 字, 全文介绍eMMC 内部系统框架, Bus 总线宽度, 总线Speed Mode, 了解即可。对应Bus 总线重点看 8 Bit 即可, Speed Mode 重点看 HS400。几乎所有的系统都是跑在…

Java并发编程-synchronized

目录 1. synchronized在jdk 1.6中的优化 1.1 锁消除 1.2 锁粗化 1.2 锁升级/锁膨胀 1.2.1 锁升级原理 1.2.2 自适应自旋锁 2. synchronized实现原理 3. synchronized和Lock的对比 1. synchronized在jdk 1.6中的优化 在JDK1.5的时候,Doug Lee推出了ReentrantLock,lock的…

【密码学复习】第九讲 密钥管理(一)

密钥管理简介 • 柯克霍夫斯原则(Kerckhoffs Principle) 即使密码系统的任何细节已为人悉知,只要密钥未泄漏,它也应是安全的(19世纪). 密钥安全:三分技术,七分管理 密钥管理就是在授权各方之间实现密钥关系的建立和维护…

dom4j 读取xml配置文件,根据配置文件利用反射创建对象

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

maven打包命令打出的可执行的jar包和可依赖的jar包的区别

目录 引出问题: 介绍打包插件 下面开始打包: 解压比较这两个jar包的区别: 引出问题: 当我建了一个maven的springboot项目A写了一个工具类,我把A项目打包成jar包去给B项目用,结果 B项目报错找不到这个jar包. 百度后发现原来jar包分为可执行jar包和可被依赖的jar包 介绍打包…

二、医院设置管理

文章目录 一、医院设置管理1、项目开发流程1.1 定义路由模块1.2 定义api模块1.3 定义页面组件脚本1.4 定义页面组件模板1.5 测试数据通信1.6 跨域处理 2、分页查询2.1 定义页面组件脚本2.2 定义页面组件模板2.3 表单查询 3、删除3.1 定义api模块3.2 定义页面组件模板3.3 定义页…

Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数、各版本差异、官方提供常见问题

Midjourney|文心一格prompt教程[进阶篇]&#xff1a;Midjourney Prompt 高级参数、各版本差异、官方提供常见问题 1.Midjourney Prompt 高级参数 Quality 图片质量是另一个我比较常用的属性&#xff0c;首先需要注意这个参数并不影响分辨率&#xff0c;并不改变分辨率&#x…

【C++】实现一个日期计算器

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

线程池学习

一、线程池的7个核心参数说明&#xff1a; corePoolSize&#xff1a;核心线程数 maximumPoolSize&#xff1a;最大线程数 keepAliveTime&#xff1a;最大空闲时间 unit&#xff1a;最大空闲时间单位 workQueue&#xff1a;任务队列 threadFactory&#xff1a;表示生成线程…

1.Hyperledger Fabric架构介绍

&#xff08;1&#xff09;Hyperledger定义&#xff1a; Hyperledger是一个开放源代码的区块链项目合作组织&#xff0c;旨在推动跨行业的企业级区块链解决方案的发展。该项目由Linux基金会于2015年发起&#xff0c;致力于建立一个可靠、安全和可扩展的区块链框架和工具集。Hy…

堆结构 - 大根堆、小根堆

在开发语言中&#xff0c;heap在使用层次的名字叫PriorityQueue&#xff08;优先级队列&#xff09;&#xff0c;PriorityQueue数据结构的名字就叫做堆&#xff0c;底层就是用堆结构实现的。 完全二叉树 空树也算是完全二叉树每一层都是满的也算是完全二叉树如果层不满&#…

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

前言 哈哈&#xff0c;各位可能会奇怪为啥上一篇文章还在说怎么在 ESP32C3 上安装 Arduino&#xff0c;现在怎么又变成了安装 MIcroPython。 其实是因为上次写 Arduino 还是我高中时候的事了&#xff0c;已经不太会了。 虽然 MIcroPython 我从来没有接触过&#xff0c;但是 …

Microsoft Office 2003的安装

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