ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Arduino IDE 安装与配置全攻略:三大平台及ESP32板卡实操指南

Arduino IDE 安装与配置全攻略:三大平台及ESP32板卡实操指南 Arduino IDE 装起来本身不难但我见过太多人卡在第一关官网打开后不知道下载哪一个装完之后板子认不出来或者端口怎么都选不对。尤其是 Windows、macOS、Linux 这三个系统的安装方式差别挺大里面藏了一堆小坑网上搜到的教程往往只讲其中一个平台而且很多是拿老版 1.8.x 截图写的和现在的新版界面对不上。这篇文章我会把三大平台从下载、安装、驱动、权限到板卡管理器配置全部走一遍每一步尽量写清楚“为什么要这样做”而不只是让你照着一路 Next。无论你是刚拿到第一块开发板的新手还是准备把 Arduino 当作 ESP32、ESP8266 开发入口的进阶玩家这篇都值得存下来照着做。1. 版本选择和环境准备1.1 先搞清楚自己该装哪个版本打开 Arduino 官网下载页面第一眼看到的是两个选择Arduino IDE 2.x 和 Arduino IDE 1.8.x。我现在直接给结论新用户一律装 2.x除非你有特殊原因非用 1.8.x 不可。Arduino IDE 2.x 是官方从 2022 年开始力推的新版底层改成了 Electron 架构和微软 VS Code 的技术栈一样所以界面响应更快自带代码自动补全、语法高亮更智能、串口监视器也是独立窗口。1.8.x 是 Java 写的老版虽然占用资源少、启动快但界面老旧没有自动补全对新手来说体验差不少。不过有一类用户要注意如果你用的是老电脑CPU 弱、内存只有 4GB 甚至更少那 2.x 启动时确实会觉得有点吃力。这种情况下可以选择 1.8.19它是 1.8 系列的最终版本运行起来轻量很多。另外就是公司内网、离线环境装 IDE1.8.x 也可以下载 zip 版免安装使用比 2.x 的包好分发。操作系统方面Windows 版本支持 Win 10 / 11最新版对 Win 7 已经不再支持了还在用 Win 7 的话需要去找 1.8.13 左右的旧包。macOS 版本官方提供了一个 Universal 包Intel 和 Apple Silicon 芯片都能用不用费心区分。Linux 则有 Debian/Ubuntu 的 apt 源、AppImage、tar.xz 压缩包三种方式后面我会细说。1.2 安装前的前置准备在正式动手之前有几个东西最好提前确认第一你的网络环境能不能顺畅访问 Arduino 官网。Arduino 的服务器在国外国内访问时官网页面一般能打开但后续下载开发板索引和库的时候速度可能会很折磨。做好心理准备也先别急着开什么加速工具后面我会给你一个绕过慢下载的稳妥方案。第二确认开发板是哪一家的。市面上绝大多数 Arduino 开发板分两类一类是官方板比如 Arduino Uno、Arduino Mega它们在 Windows 下基本免驱插上就能识别另一类是国产兼容板最常见的是用 CH340 这颗 USB 转串口芯片比如各种 Nano、Pro Micro、ESP32 DevKit 的板子这类板子在 Win 10 以上系统基本也能自动装驱动但偶尔会有签名问题导致识别失败需要手动处理。第三搞清楚自己要用到的附加开发板平台。这句话什么意思呢Arduino IDE 默认只带 Arduino AVR 系列的支持你如果用的是 ESP32、ESP8266、STM32 这些板子需要额外往 IDE 里添加板卡索引这一步后面单独讲。2. Windows 安装全流程与 CH340 驱动处理2.1 下载与安装的细节进入官网下载页后选择 Windows 版本IDE 2.x 会提供一个 exe 安装包文件名类似arduino-ide_2.3.x_Windows_64bit.exe。下载好后双击安装这个步骤基本就是一路 Next但有一个容易被忽略的选项是否勾选“为所有用户安装”。我的建议是如果你这台电脑只有自己用直接默认安装到当前用户的 AppData 目录就行不需要管理员权限以后更新时冲突也少。如果是要给公司、实验室的公共机器装那就勾上所有用户装到 C:\Program Files\Arduino IDE 这种公共位置。另外无论哪种方式安装路径里不要出现中文和空格以外的特殊字符避免后续某些第三方工具链编译时路径解析出错。安装完成之后首次启动 IDE 2.x 会自动检查更新和加载各种组件。如果你看到底部状态栏一直有转圈那多半是在连网下载东西耐心等一下。如果你完全断网IDE 也能正常进入主界面只是暂缓了启动时的网络请求不影响本地编辑。2.2 CH340 驱动新手最容易卡住的一步Win 10 / Win 11 系统下绝大多数 CH340 板子插上 USB 后系统会自动联网安装驱动在设备管理器里能看到“USB-SERIAL CH340”出现在端口节点下面。但如果你遇到了设备管理器里出现黄色感叹号右键更新驱动也装不上或者插上后没有任何反应就需要手动安装驱动。去 WCH沁恒官网搜索 CH340 驱动下载找一个支持当前系统的驱动包安装。安装完成后别急着欢呼把板子拔掉重新插一次再在设备管理器里刷新看是否变成了正常的 COM 端口。这里有一个经验法则在 Windows 下查看 Arduino 板子有没有被识别别只看设备管理器里的端口号还要注意端口号是多少。Arduino IDE 上传程序时默认会选择端口如果系统里 USB 设备很多COM 号是会变的比如你之前是 COM3换了一个 USB 口插就变成了 COM7。程序一直传不上去的时候先检查选中的端口和当前设备管理器里的端口号是否一致这是排障第一步。我自己踩过一个大坑给某国产 Nano 板子装驱动时不小心装了一个非常老的 CH340 驱动结果设备管理器里一直显示“设备无法启动代码 10”折腾了一下午发现是驱动版本和 Win 11 的内置驱动冲突。后来在设备管理器里右键卸载设备勾选“删除此设备的驱动程序软件”再重装新驱动解决。所以如果你遇到代码 10第一反应应该是卸载旧驱动而不是反复更新。3. macOS 安装与权限处理3.1 dmg 安装和 Gatekeeper 的绕行方式macOS 上安装 Arduino IDE 非常简单官网下载 dmg 文件后打开把 Arduino 图标拖进 Applications 文件夹就算装好了。但我敢说很多人第一次双击打开时会碰到“无法打开 Arduino因为无法验证开发者”这个弹窗。原因相信老 Mac 用户都清楚Gatekeeper 安全机制默认只允许运行经过 Apple 公证的应用而 Arduino IDE 不一定每版都走完公证流程。解决办法不是跑到系统设置里去降低安全级别而是用右键打开这个平稳做法。在访达里找到 Arduino 应用图标按住 Control 键点它选择“打开”系统这次会弹出一个确认框里面会有个“打开”按钮点它就能跑起来。如果你的 Mac 设置得比较特殊也不想每次右键可以在系统设置 - 隐私与安全性 - 安全性里面看到底部出现“仍要打开”的选项。这比把“允许任何来源”整个开关打开要安全得多毕竟我们只是放行一个软件而不是放行所有。3.2 驱动与端口权限macOS 下官方板基本也是免驱但国产 CH340 板子在 macOS 上不需要装额外的内核驱动系统自带 AppleUSBFT 的底层支持大多数情况下插上就能在/dev/cu.usbserial-xxx或/dev/cu.wchusbserialxxx看到对应端口。注意如果你的 Mac 是 Apple Silicon 芯片M1/M2/M3有些老教程会让你安装一个针对 Intel 芯片的 pkg 驱动包千万别装装了反而可能引起内核扩展冲突导致端口消失。插上板子后打开 Arduino IDE在“端口”菜单里应该有串口设备列表。如果列表里什么都看不到先查两件事一是数据线是不是只能充电不能传数据市面上这种“充电线”太多了二是打开“终端”工具输入ls /dev/cu.*看系统层面到底有没有识别到设备。如果终端里能看到cu.usbserialxxxx那说明驱动没问题只是 IDE 暂时没刷新把 IDE 退掉重开一次基本就好。还有一个 macOS 特有的权限坑从 macOS 10.15 Catalina 开始系统会在应用首次使用串口时弹窗询问是否允许访问可移动卷和外部设备。如果你曾经点过“不允许”之后在 IDE 里就永远看不到端口了而且菜单里也不会主动提示。这时候需要去系统设置 - 隐私与安全性 - 完全访问外部设备找到 Arduino 程序并打开权限然后重启 IDE。4. Linux 安装方式与端口权限配置4.1 不要只依赖 apt 源Linux 下装 Arduino IDE 的门道比 Windows 和 macOS 都多。很多教程上来就让执行sudo apt install arduino这在 Ubuntu/Debian 上确实一键搞定但装出来的版本往往停留在老旧的 1.8.x 系列界面老不说后续想升级还得手动删旧装新一堆依赖还容易适得其反。所以我的建议是去 Arduino 官网下载 Linux 版本目前提供 AppImage 和 tar.xz 两种格式。AppImage 是绿色免安装的方式下载后给它可执行权限chmod x arduino-ide_xxx_AppImage.AppImage然后直接双击或./运行。非常干净卸载时删掉文件即可不会污染系统。但 AppImage 有个毛病在某些精简版 Linux 发行版上可能缺少 FUSE 库启动时会报fuse: failed to exec fusermount。这时候可以先把 AppImage 解压再运行./xxx.AppImage --appimage-extract然后到解压出的目录里执行./arduino-ide。tar.xz 压缩包则更通用一些解压后进入arduino-ide目录直接运行里面的可执行文件。这种方式适合那些 FUSE 有问题、又想保持二进制完整性的场景也更方便打包进自己的安装脚本。我自己在 Ubuntu Server 无桌面环境测试构建时就用 tar.xz 方式能减少不少依赖问题。4.2 分配串口权限的两个关键操作Linux 下板子插上了、IDE 里却看不到端口90% 都是权限问题。默认情况下/dev/ttyUSB0、/dev/ttyACM0这些串口设备归 dialout 用户组所有普通用户没有读写权限。解决办法是把当前用户加进 dialout 组sudo usermod -a -G dialout $USER执行完这个命令后必须注销重新登录或者重启一次组权限才会生效。这一步千万别跳过否则你会发现自己明明加了组IDE 里还是看不到设备。验证是否生效可以在终端里输入groups看看输出里有没有dialout。对于 CH340 等 USB 转串口芯片还有一个值得做的操作配置 udev 规则。虽然很多现代发行版默认已经能识别 CH340 设备但如果你的系统里总是出现设备节点不出来、或者每次插拔设备名变化的问题写一条规则能一劳永逸echo KERNELttyUSB*, MODE0666 GROUPdialout | sudo tee /etc/udev/rules.d/99-arduino.rules sudo udevadm control --reload-rules sudo udevadm trigger这条规则的意思是把所有 ttyUSB 设备的权限设为 0666归属 dialout 组。这样任何用户其实是任何能操作 dialout 组的用户都能直接访问串口不需要反复 sudo 运行 IDE。顺带一提如果你用 WSL尤其是 WSL 2 的时候串口直通支持已经比较好了但偶尔会出现权限映射问题WSL 里操作串口还是建议把 Windows 侧驱动装好、以及确认 WSL 的 usbip 配置没有问题这又是一个话题以后专门写一篇展开。5. 板卡管理器配置让 IDE 支持 ESP32 和 ESP82665.1 添加第三方开发板索引Arduino IDE 默认只支持 Arduino 自家的板子比如 Uno、Mega、Nano。但你买到的很多板子尤其是带 WiFi、蓝牙功能的 ESP32 和 ESP8266并不在默认列表里。这时候需要通过“附加开发板管理器网址”功能把第三方硬件的索引文件加进去。具体操作是打开 IDE在左菜单栏找到“文件 - 首选项”或者按快捷键Ctrl ,Windows/Linux或Cmd ,macOS在“附加开发板管理器网址”栏里粘贴以下两个地址多个地址之间用英文逗号分隔https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json粘贴好点确定再去左侧工具栏找到“开发板管理器”图标是一个芯片搜索esp32或esp8266找到 Espressif 出品的对应“ESP32 by Espressif Systems”或“ESP8266 by ESP8266 Community”点安装。这一步下载量非常大因为里面包含了完整的交叉编译工具链几百 MB 到上 GB 都有可能所以首次安装耗时很常见。日本韩国等地的网络环境下载这个相对快中国大陆的用户如果速度实在太慢有几个办法一是选特定版本安装而不是最新版版本下拉菜单里可以选有些老版本体积更小二是如果公司或学校有镜像服务器可以把 URL 替换成镜像源但我不在这里具体贴地址大家按自己的网络环境去搜索引擎查最新的镜像地址即可。装完之后重新回一下 IDE 顶部的“开发板选择器”输入esp32或者esp8266就能看到对应的开发板型号列表了。比如你用的是 NodeMCU就搜索NodeMCU 1.0用的是 ESP32 DevKit就选ESP32 Dev Module这些型号选错通常不致命但会影响默认的 Flash 大小和上传方式尽量选和你硬件一致的。5.2 库管理器和第三方库的坑开发板配好之后第二个经常出问题的位置是“库”。Arduino 的库类似于各种软件的插件比如用 SSD1306 OLED 屏幕需要 Adafruit SSD1306用 DHT11 温湿度传感器需要 DHT sensor library。在左侧工具栏点那个“库管理器”图标一个放大镜加方块搜索库名直接安装即可。但这里有几个非常实用的经验。第一很多国产传感器的库在 Arduino 官方仓库里可能过时比如某些 OLED 库在最新版里改了 API旧代码编译不过这时可以去该芯片厂商的 GitHub 仓库下载 zip 包然后通过“项目 - 包含库 - 添加 .ZIP 库”的方式导入第二同名库可能因为不同作者导致冲突搜索结果里会显示维护者和下载量优先选下载量多、更新时间近的那个第三库安装后如果提示依赖缺失在库管理器安装库时 IDE 会自动检测并让你一并安装依赖这个弹窗千万别跳过直接点安装全部。我之前遇到过一个问题给 OLED 屏写代码时安装了两个不同作者的文化库结果编译一直报multiple definition错误排查了很久才意识到是两个库之间的头文件互相覆盖。后来把两个库全卸掉只装一个问题立刻解决。所以如果你编译报错的内容和“重复定义”有关先查看近期是不是装了多个类似功能的库。6. 编译烧录与常见问题排查6.1 经典错误找不到端口、上传失败Arduino 开发流程一般是“选板子 - 选端口 - 点上传”三个环节环环相扣。上传时报错基本集中在两类一类是avrdude: ser_open(): cant open device /dev/ttyUSB0另一类是An error occurred while uploading the sketch。第一类在中英文状态下都很好认意思是打不开串口设备优先排查权限和端口号。第二类信息比较模糊可能是开发板型号选错、连接线问题、或者板子处于异常状态。ESP32/ESP8266 还有一个特有状况上传时需要开发板自动进入下载模式。大多数开发板串口芯片支持自动下载不需要手动按 Boot 键但如果你买到的是某些精简版模块或者串口芯片没有 DTR/RTS 引脚可能就需要在上传启动时按住板载“BOOT”键然后按一下“EN”复位键等出现Connecting...提示时松开 BOOT 键。这也是 ESP32 玩家必须掌握的技能建议提前练几遍。6.2 常见问题排查速查表下面这个表格是我这几年做项目、带新人时总结的高频问题速查基本覆盖了 80% 的 Arduino 环境问题现象可能原因排查方向设备管理器/系统信息里看不到端口USB 线只能充电、接口接触不良、驱动未装换一根数据线换 USB 口重装 CH340 驱动设备管理器有黄色感叹号驱动签名冲突或安装不正确右键卸载设备并删除驱动重启后重装IDE 里端口列表是空的权限不足Linux或应用没有外部设备权限macOSLinux 检查 dialout 组macOS 检查隐私设置板子能看到端口但上传时打不开端口选择错、端口号变化、另一个程序占用串口重新选择端口关闭串口监视器编译时报找不到开发板板卡索引没装好、板卡型号没选重装对应开发板包确认开发板选择器里选了型号编译时报某个库不存在依赖库没装、库版本不兼容去库管理器安装依赖库或换用旧版本库上传时一直Connecting...板子没进入下载模式、串口芯片不支持自动下载手动按键进入下载模式按 BOOT 再按 ENLinux 下能看到串口但提示权限不够用户不在 dialout 组、udev 规则缺失执行 usermod 加组配置 udev 规则并重载补充一个排除软件问题的小技巧如果上传一直失败先用一个最简单的 Blink 例程测试板子能不能亮灯。不亮灯先怀疑硬件能亮灯但上传失败再怀疑驱动、端口、板型设置。这样能快速把 bug 范围缩小不至于在环境上瞎折腾很久。6.3 几个容易被忽略的日常操作习惯最后分享几个我自己的使用习惯都是长期踩坑换来的。第一每次打开新项目第一步就是保存成文件再写代码。Arduino IDE 即使是新版本偶尔还是会崩溃未保存的代码一切都要重新来。养成 CtrlS / CmdS 的习惯不管你写的是不是只有几行的 Blink。第二串口监视器的波特率一定要和代码里 Serial.begin 的参数一致。这是新人最常懵的问题代码里写的 9600监视器右下角选的是 115200打出乱码。除了波特率要特别注意换行符选项有些传感器协议对末尾的换行符敏感如果你收到的数据奇怪试着切换监视器输出程序的“无换行”或“换行”模式。第三多板卡切换时尽量记住板型选择。IDE 2.x 会在最近使用的开发板列表里显示历史记录选板很方便。但不要因为方便就一直用同一个板型适配所有板子型号选错了轻则上传后没反应重则某些代码在错误的 CPU 配置下无法编译。Arduino IDE 的安装和环境搭建本身没有太高深的技术含量但它就像一个门槛跨过去了后面写代码、调硬件都会顺很多。如果看了这篇之后你安装过程中还有哪里卡住了别急着怀疑自己的动手能力99% 的情况下都是驱动、权限、端口这三个环节里的小问题。建议再回到对应的章节排查一次尤其注意把本文里面提到的那几个“等待时间”都等够——有时候不是你没操作对只是网络慢、编译时间长了点而已。
返回列表