存档:作为伴侣电脑的英特尔 Edison

警告

英特尔 Edison 已停产

本页介绍如何设置和使用 英特尔爱迪生 作为配套计算机,主要与 立方体.

../_images/intel-edison-in-pixhawk2.jpg

英特尔® Edison 可提供的功能包括

  • (飞行)控制器的 Wifi 遥测功能

  • 通过 DroneKit 轻松编写脚本/控制载具

  • 更快下载日志文件(即将推出)

购买地点

Edison 可以 从 Sparkfun 购买.

带载板的 Cube 可从以下网站购买 零售商.请确保购买的 Cube 配备了与 Intel Edison 兼容的载板。

在魔方中安装 Edison

将 Edison 安装到 Cube Carrier 电路板上:

  • 从魔方上取下四个侧边螺丝

../_images/intel-edison-pixhawk2-remove-screws.png
  • 卸下载板底部的四颗六角螺钉,掀开底盖,露出爱迪生插座。

    ../_images/intel-edison-pixhawk2-remove-screws2.png
  • 取下随后将固定 Edison 的飞利浦螺钉。将英特尔 Edison 放入插座,用螺丝将其固定到位。现在它应该看起来像本页最上方的图片(见上图)

  • 按照与上述说明相反的顺序更换底盖

设置爱迪生

备注

此处的部分信息借鉴自 英特尔开发者专区.

最简单的入门方法是使用 APSync ArduPilot 团队推荐的图片:

  • 下载 来自 firmware.ardupilot.org 的最新图像.查找以 "apsync-edison "开头的文件。

  • 解压/解压缩镜像文件(应该会出现一个 "toFlash "目录):

    • Windows 用户可以使用 7-zip

    • Ubuntu 用户可以用鼠标右键单击并选择 "在此提取",或输入 卷烟 -xzvf intel_edison_image_latest.tar.gz

  • 安装 dfu:

  • 如下图所示,使用 USB 电缆将电脑连接到 Cube。连接到 Cube 的 USB 电缆(如下图所示的黑色电缆)提供电源。连接到载板的两条 USB 电缆(如下图所示的白色电缆)可将图像闪烁到 Edison 上。如果可能,请使用 Cube 附带的扁平 USB 电缆连接 "OTG 端口闪烁",因为它能提供最可靠的连接。

    ../_images/intel-edison-pixhawk2-reflash-connections.png ../_images/intel-edison-pixhawk2-carrier-usbports.png
  • 在 Windows 机器上,英特尔 Edison 应显示在设备管理器中,如下图所示

    ./_images/intel-edison-windows-device-manager.png
  • 闪烁图像:

    • 在 Windows 系统中,双击 flashall.bat 脚本中找到的 至闪存 目录或打开命令提示符窗口,导航到 至闪存 文件夹,并运行 flashall.bat 查看输出结果

    • 在 Ubuntu 和 OS X 上插入 至闪存 目录,然后输入 ./flashall.sh

    • 如果/当您看到提示 "正在等待 dfu 设备 8087:0a99,请插入并重新启动电路板 "时,请拔下并重新插入连接至 Cube 的 USB 电缆(即提供电源的电缆)。

    ./_images/intel-edison-flashall-progress.png
  • 闪烁完成后,等待 1 至 2 分钟再切断 Edison 电源。

设置魔方

通过地面站(即Mission Planner地面站)连接至 Cube,并设置以下参数:

  • serial2_protocol = 1(默认值)以启用串行端口上的 MAVLink。

  • SERIAL2_BAUD = 921,这样 Cube 就能以 921600 波特的速度与 Edison 通信。

  • 日志后端类型 如果使用 APSync 将数据闪存日志文件流式传输到 Edison,则 = 3

Edison 砖块故障排除

在某些情况下,Edison 可能会停止响应闪屏脚本。如果出现这种情况,您可以尝试通过以下方法恢复 Edison。需要注意的是,这只能在 Linux Ubuntu 14.04 下运行。

将最新版本的 xFSTK 下载到 Ubuntu 14.04 32 位系统,下载地址为 这里.并提取。

1.用以下命令解压下载的文件

卷烟 xvfz xfstk-dldr-linux-消息来源-1.7.2.卷烟.gz

2.导航至源文件夹

CD xfstk-构建/linux-消息来源-包装

3.安装所需软件包

苏都 适切-获取 安装 g++ qtcreator 构建-至关重要 devscripts libxml2-设计 外星人 源代码 图形化 libusb-设计 libboost-一应俱全-设计
苏都 适切-获取 安装 libqt4-设计 qt4-qmake
苏都 适切-获取 安装 libusb-1.0-0-设计

4.创建以下超级链接

ln -s /我们/lib/x86_64-linux-角马/libusb-1.0.a /我们/lib/libusb.a

5.配置构建参数

出口 配送名称=ubuntu14.04
出口 版本=0.0.0

6.构建 xFSTK 工具

生产 --版本 -j 6

7.运行 cmake

mkdir 构建
CD 构建
cmake ..

8.构建软件包

生产 包装

9.安装刚刚创建的软件包

dpkg -i [建成 包装]

10.可能需要安装:

苏都 适切-获取 安装 libboost-程序-选项1.55.0
苏都 适切-获取 安装 dfu-利用

现在你应该可以运行 ./flashall.sh -恢复 收回爱迪生号。


存档说明

以下说明是在标准映像创建之前编写的,对大多数用户来说并无用处。

下载 并安装适合您平台的 Edison SDK:

kevinh@kevin-think:~/tmp$ sudo ./poky-edison-eglibc-x86_64-edison-image-core2-32-toolchain-1.6.sh [sudo] 密码为 kevinh:输入 SDK 的目标目录(默认:/opt/poky-edison/1.6):提取 SDK...

默认的 Edison 负载缺少许多有用的功能,因此我们建议使用 ubilinux Debian 移植。

  1. 下载最新的 uilinux 构建.

  2. 按照他们的 说明

kevinh@kevin-think:~/development/drone/edison/new/ubilinux-edison-ww44.5$ sudo ./flashall.sh [sudo] password for kevinh:Using U-Boot target: edison-blank Now waiting for dfu device 8087:0a99 Flashing IFWI ... lots of stuff ...您的主板需要重启两次才能完成刷新过程,请在 2 分钟内不要拔下电源插头。

3.让 Edison 加入你的 Wifi 网络:在 Edison 的串行控制台上用用户名登录 根基密码 爱迪生."vi /etc/network/interfaces"。调整本地 wifi 网络名称和密码的设置(取消 "auto wlan0 "一行的注释)。然后保存文件并运行 "ifup wlan0"。

你会看到

...
 DHCPREQUEST 关于 wlan0  255.255.255.255  67
 DHCPOFFER  192.168.1.1
 DHCPACK  192.168.1.1
 穷尽  192.168.1.37 -- 续展  40603 秒钟.

现在,您的 Edison 将以指定的 IP 地址接入 WIFI 网络。您可以断开串行会话,然后通过 ssh 连接 Edison(更方便、更快捷):

ssh root@IP-ADDRESS-SEEN-ABOVE 主机 '192.168.1.37 (192.168.1.37)' 的真实性无法确定。ECDSA 密钥指纹为 af:f2:ae:e4:7f:0d:b4:42:3d:c6:db:ac:e7:c7:66:bb。您确定要继续连接吗(是/否)? 是 警告:已将 '192.168.1.37' (ECDSA) 永久添加到已知主机列表。[email protected]'密码:Linux ubilinux 3.10.17-poky-edison-ww42+ #4 SMP PREEMPT Wed Oct 29 12:41:25 GMT 2014 i686 ...

现在安装 Dronekit、Opencv 和 Mavproxy。

根基@ubilinux:~#
 根基@ubilinux:~# apt-get update
 ... 抽签  信息  适切 ...
 根基@ubilinux:~# apt-get dist-upgrade
 ... 抽签  信息  适切 ...
 根基@ubilinux:~# apt-get install git sudo python-pip python-numpy python-opencv python-serial python-pyparsing
 ... 抽签  信息  适切 ...
 根基@ubilinux:~# pip install droneapi
 ... 抽签  信息  PIP ...
 成功 安装 droneapi pymavlink MAVProxy 原语
 清洁 向上...

并将 "Edison "用户账户添加到它应该加入的各种组中,这样它就可以做危险的事情了。

根基@ubilinux:~# usermod -a -G sudo,plugdev,dialout edison

配置 mavproxy,使其始终加载 DroneAPI 模块:

回响 "模块加载 droneapi.module.api"; >; ~/.袦袝袥袗袥袗.擦洗

安装 DroneAPI 示例代码

kevinh@kevin-think:~/development/drone/edison/new/ubilinux-edison-ww44.5$ ssh [email protected] edison@ubilinux:~$ git clone https://github.com/dronekit/dronekit-python.git 克隆到 'droneapi-python'... 远程:计数对象:460 个,完成:接收对象:100% (460/460), 246.43 KiB | 182 KiB/s, 已完成。解决三角洲:edison@ubilinux:~$ cd droneapi-python/example edison@ubilinux:~/dronekit-python/example$ ls client_sketch.py follow_me.py run-fake-gps.sh fake-gps-data.log microgcs.py small_demo.py

运行协处理器/DroneKit 连接的基本测试(ttyMFD1 是连接 Edison 和 The Cube 的串行端口):

edison@ubilinux:~/dronekit-python/example$ mavproxy.py --master=/dev/ttyMFD1,57600 --rtscts 登录到 mav.tlog libdc1394 错误:Failed to initialize libdc1394 Failed to load module:运行脚本 /home/edison/.mavinit.scr -> 模块加载 droneapi.module.api DroneAPI 已加载 已加载模块 droneapi.module.api MAV> 飞行电池警告 AUTO> 模式 AUTO APM:Plane V3.2.0 (a9defa35) APM:PX4v2 002E001B 3433470D 32323630 T|D0 .Received 486 parameters AUTO> api start small_demo.py (If you see the messages below your vehicle is now happily talking to mavproxy/dronekit) AUTO> mode is AUTO Mode:VehicleMode:AUTO Location:Location:lat=0.0,lon=0.0,alt=1.38999998569,is_relative=False Attitude:Attitude:pitch=0.00390338362195,yaw=-1.69979262352,roll=-3.12372088432 Velocity: [0.0, 0.0, 0.0] GPS:GPSInfo:fix=0,num_sat=0 Armed:False groundspeed: 0.0 airspeed: 14.2826738358 Requesting 0 waypoints t=Fri Nov 28 19:42:14 2014 now=Fri Nov 28 19:42:14 2014 Home WP: MISSION_ITEM {target_system : 255, target_component : 0, seq : 0, frame : 0, command : 16, current : 0, autocontinue : 1, param1 : 0.0,param2 : 0.0,param3 : 0.0,param4 : 0.0,x : 0.0,y : 0.0,z : 0.0}。当前目的地: 0 解除警报...上膛重置 RC 通道 当前重置为{'1': 900, '4':1000}遥控回读:{'1':0, '3':0, '2':0, '5':0, '4':0, '7':0, '6':0, '8':0} 取消覆盖模式为自动 APIThread-0 退出...APM: command received:Got MAVLink msg: COMMAND_ACK {command : 400, result : 4}APM:Throttle armed!Got MAVLink msg: COMMAND_ACK {command : 400, result : 0} Got MAVLink msg: COMMAND_ACK {command : 11, result : 0} AUTO> edison@ubilinux:~/dronekit-python/example$

完成!现在,您可以在 Edison 上运行自己定制的 DroneKit 代码(更多信息,请参阅教程或文档)。