机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 7223|回复: 0
打印 上一主题 下一主题

Arduino* IDE 故障排除与常见问题解答

[复制链接]

34

主题

34

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
跳转到指定楼层
楼主
发表于 2015-12-30 01:02:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Arduino* IDE 故障排除与常见问题解答

Hai Shen (Intel), 2015 年 9 月 13 日

本指南包含故障排除信息,并解答使用 Arduino* IDE 为英特尔® Galileo 或英特尔® Edison 开发板编程时所遇到的常见问题。如欲了解详细的 Arduino IDE 安装步骤,请参阅安装 Arduino* IDE
如欲获取有关 Arduino IDE 的常见故障排除帮助,请参阅Arduino 故障排除
解决英特尔® Galileo 和英特尔® Edison 开发板的常见问题纠正错误消息"Retry 0:尝试连接时收到 "Retry 0: Got TIMEOUT" 消息通过简单 Arduino 示例引入,或通过 IDE 运行 AnalogReadSerial 或 DigitalReadSerial 示例时,这是最常见问题,主要是由于英特尔® 物联网平台与 Serial Monitor 共享 USB 连接(与标准 Arduino 平台不同)。使用 SSH 或串行会话登录开发板,然后删除或重命名“/sketch/sketch.elf”文件。重启开发板或(至少)终止“sketch.elf”进程。
另外一种解决方法:
该方法仅针对 Mac* OS X*。如果使用错误的 COM 端口,基于 Windows* 的系统也会遇到类似的问题。如果使用 Arduino IDE 和英特尔® Galileo 或英特尔® Edison 开发板的时收到 "Retry 0:Got TIMEOUT" 错误,可能是因为 IDE 默认自动选择了错误的串行端口。
在 Arduino 中选择 Tools > Serial Port > /dev/cu.usbmodemXXXX。会出现多个带有相同命名规则的条目;用 Blink sketch 尝试其中的条目以找到合适的端口。
请勿使用带有命名规则 /dev/cu.usbmodel-XXXXXXX(8 个字符加 1 个破折号)的串行端口。
"Retry 0:Timeout on pathname" "Transfer Incomplete" 消息可能您在 Arduino 中选择了错误的串行端口。选择 Tools > Serial Port > /dev/cu.usbmodemXXXX。会出现多个带有相同命名规则的条目;用 Blink sketch 尝试其中的条目以找到合适的端口。
请勿使用带有命名规则 /dev/cu.usbmodel-XXXXXXX(8 个字符和 1 个破折号)的串行端口。
将两根 micro USB 线缆插入 Arduino breakout 开发板时可能会出现这些错误。第一根线缆(插入中间的 micro USB 端口)显示专门用于 Arduino 的端口。如果插入第二根线缆,会显示两个其他端口,用于终端访问您的开发板,但会造成 Arduino IDE 出现问题。试试拔出第二根 USD 线缆。
无法使用 Windows* 系统上的 Arduino* IDE 部署代码*请务必在端口下拉列表中选择“Virtual COM Port”,而非标准 COM Port。如果您使用 12-V 适配器为开发板通电,请确保 micro USB 线缆连接距开发板中心较近的 USB 端口。如欲了解完整的设置说明,请观看分布式教程视频。
"Failed to initialize Arduino board TriState" 消息如果您收到“Intel Edison Failed to initialize Arduino board TriState, check i2c devices!FATAL" 消息,说明您的 libmraa 副本已过期或未安装。请在与开发板的串行通信会话中运行以下命令:
echo "src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic" > /etc/opkg/mraa-upm.conf;opkg updateopkg install libmraa0opkg upgrade无法选择端口或串行端口呈灰色如果无法选择串行端口,请确保您运行 Arduino 时采用的是“sudo”命令。
"Failed to update the firmware" 消息请确保目录路径少于 140 个字符。更新固件时,请务必遵循以下针对开发板和操作系统的相应说明:
有关英特尔® Edison 开发板的说明,请查阅使用 Flash Tool Lite
有关英特尔® Galileo 开发板的说明,请访问下列相应链接:
为何无法将程序上传至英特尔® Edison 开发板?
在开发板上运行程序涉及到多个组件和步骤,包括:面向开发板的驱动程序、在 Arduino 软件中选择开发板和串行端口、访问串行端口、物理连接开发板,开发板的固件等等。第一步是完全重启开发板和计算机。重启英特尔® Edison 开发板时,请拔出电源,不要使用开发板上的 "reboot" 按钮。如果完全重启无法解决问题,请尝试下列故障排除建议:
Arduino 软件
  • 请确保您从 Tools > Board 菜单中选择正使用的相应开发板(英特尔® Edison、第一代英特尔® Galileo,或第二代英特尔® Galileo 开发板)。
  • 检查在 Tools > Serial Port 菜单中选择的端口是否合适(如果不显示端口,请尝试在开发板连接计算机的情况下重新打开 IDE)。在基于 Mac OS X 的系统上,串行端口应类似于 /dev/tty.usbmodem1a123。在基于 Linux 的系统上,串行端口应为 /dev/ttyACM0 或类似端口。在基于 Windows 的系统上,您的端口应列为 COM 端口,但您需要查看“Device Manager”(端口下方)中显示的具体端口。如果无法为开发板选择端口,请参阅下列“Drivers”部分。
  • 如果无法在基于 Linux 的系统上正常运行 Arduino IDE,请确保是否安装了 Java。检查时,打开与开发板的串行通信会话,输入“java”,然后按下“Enter”。如果收到 "The program 'java' can not found..." 消息,请输入以下命令:sudo apt-get install default.jre。按照屏幕上的说明输入您的密码,并安装 Java。
驱动程序(仅针对 Windows*)
  • 驱动程序提供方法支持计算机的软件(本示例中为 Arduino IDE 软件)与您的硬件进行交互。只有在使用基于 Windows 的系统为英特尔® Edison 开发板编程时需要安装驱动程序。如需检查是否安装了驱动程序,请打开“Device Manager”(打开“Windows Start”菜单,在搜索栏中输入“Device Manager”),查看是否有针对未知设备的条目。如果有,请前往英特尔® Edison 开发板软件下载页面的驱动程序软件部分,下载面向 Windows 的最新单机版驱动程序。
  • 在基于 Linux 的系统上,英特尔® Edison 开发板可能显示为 /dev/ttyACM0 形式的设备。标准版 RXTX 库(支持 Arduino 软件进行串行通信)不支持该设备。面向 Linux 的 Arduino 软件下载包括安装了补丁的 RXTX 库,以搜索这些 /dev/ttyACM* 设备。还包括可支持这些设备的 Ubuntu* 包(面向 11.04)。不过,如果您使用分发版中的 RXTX 包,您需要创建(例如) /dev/ttyACM0 与 /dev/ttyUSB0 之间的符号链接,以便 Arduino 软件显示串行端口。
访问串行端口
  • 在基于 Windows 的系统中,如果系统打开速度慢,在启动过程中崩溃,或“Tools”菜单的打开速度慢,您需要禁用“Device Manager”中的蓝牙* 串行端口或其他已连接的 COM 端口。运行 Arduino 或打开 Tools 菜单时,Arduino 软件自动扫描计算机的所有串行 (COM) 端口。这些已连接的端口有时会造成延迟或系统崩溃。
  • 请确认您未运行扫描所有串行端口的程序,比如 USB Cellular Wi-Fi* Dongle 软件(例如 Sprint 或 Verizon 的软件)、PDA 同步应用、Bluetooth-USB 驱动程序(例如 BlueSoleil),虚拟后台程序工具等等。
  • 确保没有阻止访问串行端口的防火墙软件(例如 ZoneAlarm*)。
  • 如果您正使用 Processing、PD、vvvv 或类似程序通过 USB 或与 Arduino 开发板的串行连接读取数据,需要停止这些程序。
  • 在基于 Linux 的系统上,您可以尝试以根身份运行 Arduino 软件。如需以根身份运行,请打开终端窗口,导航至“Arduino IDE”安装文件夹,并输入“sudo ./arduino”以运行 Arduino。您需要输入密码。
物理连接
  • 首先,确保开发板已通电(绿色 LED 指示灯亮)且连接至计算机。如果无法正确连接开发板,请参阅组装和连接开发板
  • 在开发板仅连接 USB 线缆的情况下尝试上传代码。包括护罩、传感器和发动机。
  • 确保开发板远离任何金属或导电物质。
  • 尝试使用其他 USB 线缆以确保所使用的线缆无任何故障。
固件
确保开发板使用的是最新固件。如欲闪存最新固件,请参阅使用 Flash Tool Lite
如果还有其他问题,请访问英特尔® Edison 开发板论坛寻求帮助。请提供以下信息:
  • 您的操作系统
  • 所使用的开发板类型
  • 之前是否能够上传至开发板。如果能够,您进行了哪些操作步骤/何时停止运行,以及您最近添加或删除了哪些软件?
  • 尝试上传时所显示的带有冗长输出的消息。为此,请长按“Shift”键并点击工具栏中的“Upload”图标。
为何无法将程序上传至英特尔® Galileo 开发板?
在开发板上运行程序涉及到多个组件和步骤,包括:面向开发板的驱动程序、在 Arduino 软件中选择开发板和串行端口、访问串行端口、物理连接开发板,开发板的固件等等。第一步是完全重启开发板和计算机。重启英特尔® Galileo 开发板时,请拔出电源,不要使用开发板上的 "reboot" 按钮。如果完全重启无法解决问题,请尝试下列故障排除建议:
Arduino 软件
  • 请确保您从“Tools > Board”菜单中选择正使用的相应开发板(英特尔® Edison、第一代英特尔® Galileo,或第二代英特尔® Galileo 开发板)。
  • 检查在“ Tools > Serial Port”菜单中选择的端口是否合适(如果不显示端口,请尝试在开发板连接计算机的情况下重新打开 IDE)。在基于 Mac OS X 的系统上,串行端口应类似于 /dev/tty.usbmodem1a123。在基于 Linux 的系统上,串行端口应为 /dev/ttyACM0 或类似端口。在基于 Windows 系统上,您的端口应列为 COM 端口,但您需要查看 Device Manager(端口下方)所显示的具体端口。如果无法为开发板选择端口,请参阅下列“Drivers”部分。
  • 如果无法正常使用基于 Linux 的系统上的 Arduino IDE,请确保是否安装了 Java。检查时,打开与开发板的串行通信会话,输入“java”,然后按下“Enter”。如果收到 "The program 'java' can not found..." 消息,请输入以下命令:sudo apt-get install default.jre。按照屏幕上的说明输入您的密码,并安装 Java。
驱动程序(仅针对 Windows*)
  • 驱动程序提供方法支持计算机的软件(本示例中为 Arduino IDE 软件)与您的硬件进行交互。只有在使用基于 Windows 的系统为开发板编程时需要安装驱动程序。如需检查是否安装了驱动程序,请打开“Device Manager”(打开“Windows Start”菜单,在搜索栏中输入“Device Manager”),查看是否有针对未知设备的条目。如果您的是未知设备,比如 "Gadget Serial v2.4",您需要手动更新驱动程序软件。为此,请按照以下步骤操作:
    • 右击未知设备,选择“Update Driver Software...”。
    • 选择“Browse my computer for driver software”。
    • 在搜索栏中输入“C:\arduino-1.5.3\hardware\arduino\x86\tools”并点击“Next”以安装该驱动程序

      注:如果未将 Arduino IDE 解包至 C:\,需要导航至未解包位置。
  • 在基于 Linux 的系统上,英特尔® Galileo 开发板可能显示为 /dev/ttyACM0 形式的设备。标准版 RXTX 库(支持 Arduino 软件进行串行通信)不支持该设备。面向 Linux 的 Arduino 软件下载包括安装了补丁的 RXTX 库,以搜索这些 /dev/ttyACM* 设备。还包括可支持这些设备的 Ubuntu 包(面向 11.04)。不过,如果您使用分发版中的 RXTX 包,您需要创建(例如) /dev/ttyACM0 与 /dev/ttyUSB0 之间的符号链接,以便 Arduino 软件显示串行端口。
访问串行端口
  • 在基于 Windows 的系统中,如果系统打开速度慢,在启动过程中崩溃,或“Tools”菜单的打开速度慢,您需要禁用“Device Manager”中的蓝牙* 串行端口或其他连接的 COM 端口。运行 Arduino 或打开“Tools”菜单时,Arduino 软件自动扫描计算机的所有串行 (COM) 端口。这些已连接的端口有时会造成延迟或系统崩溃。
  • 请确认您未运行扫描所有串行端口的程序,比如 USB Cellular Wi-Fi Dongle 软件(例如 Sprint 或 Verizon 的软件)、PDA 同步应用、Bluetooth-USB 驱动程序(例如 BlueSoleil),虚拟后台程序工具等等。
  • 确保没有阻止访问串行端口的防火墙软件(例如 ZoneAlarm)。
  • 如果您正使用 Processing、PD、vvvv 或类似程序通过 USB 或与 Arduino 开发板的串行连接读取数据,需要停止这些程序。
  • 在基于 Linux 的系统上,您可以尝试以根身份运行 Arduino 软件。如需以根身份运行,请打开终端窗口,导航至 Arduino IDE 安装文件夹,并输入“sudo ./arduino”以运行 Arduino。您需要输入密码。
物理连接
  • 首先,确保开发板已通电(绿色 LED 指示灯亮)且连接至计算机。如果无法正确连接开发板,请参阅采用 Arduino* 组装英特尔® Galileo 开发板
  • 在开发板仅连接 USB 线缆的情况下尝试上传代码。包括护罩、传感器和发动机。
  • 确保开发板远离任何金属或导电物质。
  • 尝试使用其他 USB 线缆以确保所使用的线缆无任何故障。
固件
确保开发板使用的是最新固件。如欲闪存最新固件,请遵循以下针对各操作系统的步骤:
如果还有其他问题,请访问英特尔® Galileo 开发板论坛寻求帮助。请提供以下信息:
  • 您的操作系统
  • 所使用的开发板类型
  • 之前是否能够上传至开发板。如果能够,您进行了哪些操作步骤/何时停止运行,以及您最近添加或删除了哪些软件?
  • 尝试上传时所显示的带有冗长输出的消息。为此,请长按“Shift”键并点击工具栏中的“Upload”图标。
开发板无法打开(绿色电源 LED 指示灯不亮)该怎么办?
确保您的开发板已正常通电。具体步骤请访问以下相应链接:
英特尔® Edison 开发板,请确认以下情形:
  • 确保 USB 端口附近的开关拨至 micro USB 端口方向。
  • 您的计算机可能无法通过 USB 端口提供充足电源。尝试使用电源为开发板通电(第一代英特尔® Galileo 开发板电源为 7 伏,第二代英特尔® Galileo 和英特尔® Edison 开发板电源为 12 伏。)
为何 sketch 似乎已成功上传至开发板,但无法运行?
  • 检查电源是否不稳定。这样可能会导致开发板丢失 sketch。
  • 如果开发板的电源 LED 指示灯不断闪烁,说明系统正在重置,无法运行 sketch。
  • 如果使用电池为第二代英特尔® Galileo 或英特尔® Edison 开发板通电,请确保该电池的电压高于 7 伏。
  • 如果电池耗尽,但开发板连接了多个传感器/伺服器,开发板可能电力不足。尝试使用电源为开发板通电(第一代英特尔® Galileo 开发板电源为 7 伏,第二代英特尔® Galileo 和英特尔® Edison 开发板电源为 12 伏。)
  • 拔出传感器或伺服器,或通过筒形插座将开发板插入壁式插座,然后重新上传 sketch。
为何调用面向英特尔® Edison 开发板的针脚 6910 11 analogWrite() 时,无法获取 PWM(模拟输出)?
英特尔® Edison 开发板一次只能输出 4 个针脚的 PWM。默认状态下,swizzler 跳线(J11 和 J12)经过设置以便针脚 3、5、6 和 9 支持 PWM 输出。您可以移动 swizzler,将支持 PWM 输出的针脚换成 3、5、10 和 11。不过,您每次输出的 PWM 不会超过 4 个。如欲了解有关针脚和调节 swizzler 的更多信息,请访问 http://www.emutexlabs.com/project/215-intel-edison-gpio-pin-multiplexing-guide
尝试将 sketch 上传至英特尔® Edison 开发板时收到 "Permission Denied" 消息
  • 在基于 Windows 的系统上,请务必在端口下拉菜单中选择“Virtual COM Port”,而非标准 COM Port。
  • 如果您使用 12V 适配器为开发板通电,确保 micro USB 连接距开发板中心较近的 USB 端口。
  • 您可以参考分布式教程以进行准确设置。
尝试将 sketch 上传至英特尔® Galileo 开发板时收到 "Permission Denied" 消息
该错误经常在运行于第二代英特尔® Galileo 开发板的 sketch 干扰上传新 sketch 时出现。请尝试进行下列操作:
  • 拔出连接计算机的 USB 线缆。
  • 拔出壁式插座上的 12-V 电源。
  • 如果您的开发板安装了 SD 卡,请将其拆卸。
  • 请遵循创建面向英特尔® Galileo 开发板的可启动 micro SD 卡中介绍的步骤,为 SD 卡安装新映像。
  • 重新将 SD 卡插入开发板。
  • 重新插入 12-V 电源和 USB 线缆。现在您应该能够将新 sketch 上传至开发板。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-5-4 19:21 , Processed in 0.058218 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表