菜鸟科技网

Arduino命令行如何快速上手?

Arduino命令行工具是Arduino IDE之外的一种强大补充,它允许开发者通过终端直接与Arduino板进行交互,无需打开图形界面即可完成代码编译、上传、板卡管理等多种操作,对于习惯使用命令行的开发者、需要自动化构建流程的项目,或是在资源受限的环境中工作,命令行工具提供了更高的灵活性和效率,Arduino命令行工具的核心是arduino-cli,这是一个跨平台的命令行接口,支持Windows、macOS和Linux系统。

Arduino命令行如何快速上手?-图1
(图片来源网络,侵删)

要使用arduino-cli,首先需要完成安装,在Windows上,可以通过Chocolatey包管理器安装,命令为choco install arduino-cli;在macOS上,可以使用Homebrew,命令为brew install arduino-cli;对于Linux用户,可以通过Snap安装(snap install arduino-cli)或从GitHub releases页面下载二进制文件,安装完成后,建议通过arduino-cli version命令验证安装是否成功,并使用arduino-cli config init初始化配置文件,默认会生成在用户目录下的.arduino15文件夹中,配置文件中可以设置默认的板卡型号、端口、额外管理URL等参数,例如通过arduino-cli config set board_manager.additional_urls "https://example.com/package_index.json"添加第三方板卡支持。

arduino-cli的核心功能之一是板卡和库的管理,使用arduino-cli core update-index可以更新核心包索引,类似于apt updatebrew update,安装特定板卡的核心包时,使用arduino-cli core install packagename:architecture,例如arduino-cli core install arduino:avr安装Arduino AVR核心包,查看已安装的核心包则通过arduino-cli core list命令,库的管理同样便捷,arduino-cli lib install libraryname用于安装库,arduino-cli lib update-index更新库索引,arduino-cli lib list列出已安装的库,如果需要卸载库或核心包,可以使用arduino-cli lib uninstall librarynamearduino-cli core uninstall packagename:architecture命令。

编译和上传代码是arduino-cli最常用的功能,假设有一个名为sketch.ino的Arduino程序,编译命令为arduino-cli compile --fqbn arduino:avr:uno sketch,其中--fqbn(fully qualified board name)参数指定了板卡型号,如arduino:avr:uno表示Arduino Uno,编译过程中,arduino-cli会在当前目录生成一个build文件夹,包含编译后的.elf.hex等文件,上传代码时,需要先通过arduino-cli board list命令查看连接的板卡及其串口端口,然后使用arduino-cli upload -p /dev/ttyUSB0 --fqbn arduino:avr:uno sketch命令,其中-p参数指定串口路径,如果板卡需要按复位键才能进入上传模式,可以添加--verify参数在上传后自动验证代码是否成功烧录。

除了基本功能,arduino-cli还支持高级特性,如串口监视器、库搜索和问题排查,通过arduino-cli monitor -p /dev/ttyUSB0命令可以打开串口监视器,实时查看串口输出数据,相当于IDE中的串口监视器功能,搜索库时,使用arduino-cli lib search "keyword"可以根据关键词查找库,例如arduino-cli lib search "display"会显示所有与显示相关的库,当遇到编译或上传错误时,arduino-cli会提供详细的错误信息,结合arduino-cli debug命令可以进一步分析问题,例如查看板卡信息或配置详情。

Arduino命令行如何快速上手?-图2
(图片来源网络,侵删)

以下是一些常用命令的总结表格:

功能分类 命令示例 说明
初始化与配置 arduino-cli config init 初始化配置文件
arduino-cli config set board_manager.additional_urls "URL" 设置额外管理URL
核心包管理 arduino-cli core update-index 更新核心包索引
arduino-cli core install arduino:avr 安装Arduino AVR核心包
arduino-cli core list 列出已安装的核心包
库管理 arduino-cli lib install DHT_sensor_library 安装DHT传感器库
arduino-cli lib update-index 更新库索引
arduino-cli lib list 列出已安装的库
编译与上传 arduino-cli compile --fqbn arduino:avr:uno sketch 编译sketch.ino
arduino-cli upload -p /dev/ttyUSB0 --fqbn arduino:avr:uno sketch 上传代码到指定端口
串口监视 arduino-cli monitor -p /dev/ttyUSB0 打开串口监视器
搜索与调试 arduino-cli lib search "temperature" 搜索温度相关库
arduino-cli board list 列出连接的板卡

通过arduino-cli,开发者可以实现脚本化的Arduino开发流程,例如在CI/CD系统中自动编译和上传代码,或者批量管理多个Arduino板卡,虽然命令行工具需要一定的学习成本,但一旦熟练掌握,它将显著提升开发效率,尤其适合专业开发者和复杂项目需求。

相关问答FAQs
Q1: 如何解决arduino-cli upload时提示“permission denied”错误?
A1: 该错误通常是因为当前用户对串口设备没有读写权限,在Linux/macOS上,可以通过将用户加入dialout组解决(sudo usermod -a -G dialout $USER,然后重启系统);或使用sudo chmod a+rw /dev/ttyUSB0临时修改权限,在Windows上,可能需要安装USB驱动程序或以管理员身份运行终端。

Q2: arduino-cli compile时提示“missing dependencies”,如何处理?
A2: 此错误表示代码依赖的库或核心包未安装,可通过arduino-cli lib install libraryname安装缺失的库,或使用arduino-cli core install packagename:architecture安装对应核心包,若不确定依赖项,可先在Arduino IDE中打开项目,IDE会自动提示并安装依赖,再通过命令行编译。

Arduino命令行如何快速上手?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇