简介
英特尔物联网开发套件 (IoTDK)是一款完备的解决方案,可用于创建和测试针对英特尔® 物联网平台(比如英特尔® Galileo 和 Edison maker 开发板)的应用。
完整的 IoTDK 可提供软件和硬件组件,支持开发人员使用 Galileo 开发板和 Grove* 入门套件(面向新手)开发创新项目。 随 IoTDK 提供的软件包括 三个主要部分:Intel® XDK IoT Edition,Yocto Linux* 系统和一套通用库。 这些通用库可提供一种简单的方法来控制与 Galileo 开发板相集成的硬件组件,并支持对传感器和制动器的高级别访问。
Yocto Linux 是一种元发行版 (meta distribution),专门针对嵌入式项目而设计。 之所以称之为元发行版,是因为 Yocto 不仅支持 Linux 发行版,还是创建基于 Linux 的定制操作系统的理想环境。 Yocto 可提供不同的工具,支持选择软件包、准备设置以及创建用于安装定制操作系统的映像。 购买英特尔 Galileo 开发板后,您就可拥有 Yocto 操作系统。 除 IoTDK 外,还提供另外一种版本,该版本能够为开发人员提供更多通用库和资源,从而支持他们使用钟爱的编程语言创建应用。 版本包括 GCC*、Python*、Node.js*,OpenCV* 等。 如欲了解更多关于 Yocto 的信息,请访问 www.yoctoproject.org。
随 IoTDK 一同发布的 Intel® XDK IoT Edition 可支持您直接在英特尔物联网平台上创建和运行应用。 该版本的 Intel® XDK 还提供模板以支持新应用的创建,稍后我们将介绍这些模板的使用方法。 Intel® XDK IoT Edition 能够通过您的桌面远程调试和运行应用。 由于 Galileo 主要用于运行物联网项目,其处理能力有限,因此,规模较大或更复杂的项目可采用能力更为出色的处理器,以运行完整的开发环境。 开发人员并非必须使用 Intel® XDK IoT Edition,但它的确是一款理想的强大工具。
安装在 Intel Galileo 或 Edison 开发板上的 Yocto 系统可提供一套专为 IoTDK 和 Intel® XDK IoT Edition 而设计的通用库, 包括 MRAA和 UPM。 MRAA是一种低级别通用库,可将通用输入/输出接口转换成 pin,以供 Galileo 或 Edison 使用。 因此,开发人员无需再从 Linux 内核的 GPIO 模块中读取原始信息,而是轻松选择一个 pin 号码并直接使用。 MRAA 负责处理基本的详细信息。 UPM是关于传感器表示资源库,用 C++ 编写而成,并使用 MRAA。 两种库均包含针对 JavaScript 的 C++ 绑定。 借助 Intel® XDK IoT Edition 外,Node.JS 可用来与所有 GPIO Pin、通用库和代码包进行通信。 例如,用户可以为 GPIO Pin 13 分配一个有用的代码行:var onboardLED = new mraa.Gpio(13);
要求
- 英特尔 Galileo(第 1 代或第 2 代)或英特尔 Edison
- 如果为第一代英特尔 Galileo 或 Gen1: B9 Female to 3.5mm Serial Cable(购买信息请访问https://communities.intel.com/thread/46560,构建信息请访问 https://communities.intel.com/message/208514#208514)
- 如果为第二代英特尔 Galileo或 Gen 2: USB 转 6 针 FTDI 串行电缆
- 如果为英特尔 Edison: USB Type A 转 Micro-B USB 线缆
- 桌面操作系统: Windows® 7 64-bits,Apple® OS X,Ubuntu®
组件
以下为 IoTDK 的重要硬件组件。
- 英特尔® Galileo 开发板或 英特尔® Edison
- MicroSD Card
- USB 转串行电缆
- 串口转 D9 电缆
- 以太网线缆
- Grove 入门套件附加工具包
- 可帮助工程师与艺术家将创意变为现实的模块化电子平台。
- 该平台由基础护盾(shield)、传感器、按钮、继电器、伺服器、LCD、LED 和连接电缆组成。
设置英特尔® Galileo 开发板
如果使用英特尔 Galileo 开发板,第一步为更新板载固件。
- 下载面向 Galileo 的 Arduino*软件,网址为https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23171
- 将英特尔 Galileo 开发板从 USB 主机端口连接至台式机系统的 USB 端口。
- 启动 Arduino 软件
- 导航至 "Tools"(工具) > Board (开发板) > Intel® Galileo Board or Intel® Galileo Gen2 (英特尔® Galileo 开发板或 Intel® Galileo Gen2)
- 导航至 "Tools"(工具) > Serial Port(串行端口)> COM?
- 注: Windows 位于 Windows 设备管理器的下方
- 注: Apple OS X* 位于 Apple Logo(Apple 标识)> About This Mac(关于 Mac) > System Report(系统报告)
- 注: (Ubuntu*) 使用 Terminal 中的 lsusb 命令即可找到
- 导航至 Help(帮助) > Firmware Update (固件更新)
第二步,完成准备工作,确保英特尔 Galileo 开发板与 IoTDK 一起使用。 如上所述,使用准备好的 Yocto 映像启动开发板。
从 https://software.intel.com/sites/landingpage/iotdk/board-boot-image.html下载最新映像
Windows*
- 使用 7zip或类似工具在 Windows 系统中提取已下载的映像文件*.bz2。
- 将 micro-SD Card 插入 Windows 系统内合适的卡槽。
- 下载 Win32DiskImager实用程序,并以管理员 (Administrator) 身份安装该程序。 成功安装后,以管理员身份运行 Win32DiskImager。
- 确保您所选择的是与插入的待写 micro-SD 卡相对应的 Device Drive。
OS X* 或 Linux*
- 您可在 OS X 命令行(Terminal 应用)中将映像写入 SD 卡。
- 输入下列命令(示例)
- diskutil list
- identify the disk (not partition) of your SD card. e.g. disk4 (not disk4s1)
- diskutil unmountDisk /dev/
- e.g. diskutil unmountDisk /dev/disk4
- sudo 3dbs=1m if=.img of=/dev/
- e.g. sudo 3dbs=1m if=iot-devkit-mmcblkp0.direct of=/dev/rdisk4
- (这可能需要几分钟的时间)
连接 Galileo 开发板和台式机
- 将准备好的 micro-SD 卡插入英特尔 IoT 平台上的 micro-SD 卡槽
- 如果使用英特尔 Galileo 开发板,请将串行电缆(B9 对应 Gen1,FTDI 对应Gen2)插入开发板上相对应的端口。 将另一端连接至台式机系统的 USB 端口。
- 用以太网电缆将英特尔 Galileo 开发板连接至 LAN(比如路由器)
- 用电源线将英特尔 Galileo 开发板连接至电源并启动系统。
- 重要提示:请确保电源线适合开发板。 Intel Galileo Gen2 的电源线与 Gen1 类似,但电压由 Gen1 的 5V 换成了 12V,用错电源线可能会造成开发板损坏。
完整的设置应如下图所示:
发现开发板的 IP 地址
Windows
- 使用终端模拟器(比如,Putty),打开用于开发板的串行连接:
- 首先,找到 Windows 系统认定的将连接至开发板的串行端口。 选择 "Start"(开始)-> Devices and Printers(设备和打印机),将看到 USB-Serial 项。
- 打开终端模拟器 (Putty),设置以下配置:
- 会话
- 串行线: COM?
- 例如,COM12
- 速率: 115200
- 连接方式: 串行
- 串行线: COM?
- 会话
- 窗口
- 串行
- 串行线连接至: COM?
- 速率(波特):115200
- 数据位: 8
- 停止位: 1
- 奇偶校验: 1
- 流控制: XON/XOFF
- 串行
- 打开连接。 如果未出现任何内容,按键盘上的 “Enter” 键。
- 以根超级用户身份登录。 密码为空 输入根
- 使用命令 `ip a` 识别开发板将要使用的 IP 地址。 IP 地址应在第二个条目中以 inet 的形式列出。
OS X
使用 Bonjour 浏览器查看本地网络的所有 Bonjour 服务:
- 启动 Bonjour 浏览器应用
- 搜索 _xdk-app-daemon._tcp。
- 将其展开并查找 IP 地址。
设置英特尔® Edison 开发板
- Windows*入门须知 - https://communities.intel.com/docs/DOC-23147
- Mac OS X*入门须知 - https://communities.intel.com/docs/DOC-23147
- Linux*入门须知 - https://communities.intel.com/docs/DOC-23147
Higlight
- NDG Edison 映像 (Rel-1-Maint-WW42+)
- 最新 NDG Edison 映像 (Rel-1-Maint-WW42, https://communities.intel.com/docs/DOC-23242) 预装有 XDK 后台程序 0.0.19
后台程序 0.0.19 利用远程调试功能修复稳定性漏洞,并添加必选 IP 地址白名单。
为连接运行 XDK 后台程序的 Edison,用户必须首先从 Edison 的 Linux* 终端运行以下命令。
xdk-whitelist --add <ip address> (其中<ip address> 应为运行 Intel® XDK IoT Edition 的计算机的地址)
如果用户试图从未授权主机(未列入白名单的 aka)连接 Edison,将会显示错误信息,并提示用户如何将计算机 IP 地址添加至白名单。
xdk-whitelist 实用程序接受以下命令:
- --clear (删除白名单中的所有 IP 地址)
- --add (在白名单中添加 IP 地址) [例如: xdk-whitelist --add <ip address> ]
- --remove(删除白名单中的某个 IP 地址) [例如: xdk-whitelist --remove <ip address> ]
- --list (显示白名单中的 IP 地址列表)
注:
如果您在连接英特尔 Edison 开发板或将英特尔 Galileo 开发板连接至 Intel XDK IoT Edition 时遇到问题,请在 ssh 会话中运行以下命令:
- systemctl enable xdk-daemon
- systemctl restart xdk-daemon
如果 您的开发板未自动显示在 “IoT Device ”(物联网设备)的下拉菜单中,请点击 “Add Manual Connection”(添加手动连接):
- 在 "Address "(地址)栏中输入开发板的 IP 地址:
- 在 “Port:” 栏中输入 58888 (Intel XDK 应用后台程序端口默认为 58888)
如果您的开发板或 Intel XDK 仍遇到网络连接问题:
- 如果是 Edison,在 ssh 终端中重启开发板,或手动重启开发板
- 如果是 Intel XDK,请关闭应用,然后重新打开
设置 Intel® XDK
- 将 Intel® XDK IoT Edition 下载至您的计算机,网址为 http://software.intel.com/zh-cn/html5/xdk-iot
- 双击文件 iot_web_<desiredOS>_master_<versionNumber>,安装并启动用于应用开发的 Intel® XDK IoT Edition。
- 启动后将打开带有不同项目创建选项的 Intel® XDK,其中包括 Work from an IoT with Node.js Template 选项。
- 选择 Internet of Things (IoT) with Node.js Projects 选项下方的 “Start with a Sample or Template”,打开适用于您的开发板的 Node.js 应用开发环境。 最终结果应如下图所示:
注: 编辑Internet of Things (IoT) with Node.js Projects 项目时,Develop 选项卡底部将出现工具栏。 工具栏左侧包含运行 IoTdevkit Linux* 映像的可访问和已连接开发板,右测的按钮用于隐藏或显示命令控制台。 工具栏还具有安装/创建节点模块、上传、调试、停止和运行活跃项目 (active project) 的功能。
- 连接英特尔 Galileo 开发板。 点击 Intel XDK 左下角的 “IoT Device”(物联网设备)下拉列表。
- 选择列表中的英特尔 Galileo (quark)。
- 将弹出一个窗口,显示 Intel Galileo 或 Edison 开发板的连接状态和 IP 地址。
运行范例应用
您可能已经注意到,Intel® XDK IoT Edition 已内建部分示例项目。执行一个简单的项目,测试所有组件是否已成功连接。
- 在 Internet of Things (IoT) with Node.js Projects 下方的 Projects 选项卡中点击 “Start with a Sample or Template”。
- 选择项目类型
- 点击 “Use This Template”(使用这个模板)
- 输入 “Name” (名称),并创建项目。 该项目已成为 Intel XDK 中的活跃项目 (active project)。
- 点击 IoT Device (物联网设备): 下拉工具栏中的菜单,连接开发板
- 点击 Toggle 控制台窗口按钮,显示控制台窗口
- 点击底部工具栏中的 Manage your daemon/IoT device (管理后台程序/物联网设备)菜单。 选择与目标开发板上的时钟同步的 PC 时间,避免出现计算机和设备的计时问题。 (上图中 #1)
- 点击安装/创建,获取并安装 package.json 中指定的节点模块。 (上图中 #2)
- 点击上传,将当前项目上传至开发板。 (上图中 #3)
- 点击运行,在设备上运行该项目。 (上图中 #4)
注:如果收到错误信息提示 "can not find mraa"(无法找到 mraa),请使用 ssh 会话连接开发板,并运行:
- echo "src maa-upm http://iotdk.intel.com/repos/1.1/intelgalactic"> /etc/opkg/intel-iotdk.conf
- opkg update
- opkg upgrade
相关链接与资源:
- MRAA Github 资源库: https://github.com/intel-iot-devkit/mraa
Intel XDK
- Intel XDK IoT Edition: http://software.intel.com/zh-cn/html5/xdk-iot
- Intel® XDK IoT Edition node.js 模板文章: https://software.intel.com/zh-cn/html5/articles/intel-xdk-iot-edition-nodejs-templates
- Intel XDK IoT Edition 论坛: https://software.intel.com/zh-cn/forums/intel-xdk
英特尔® 开发人员专区(IDZ) – 物联网 (IoT) 专区
- 安装 JavaScript (Intel® XDK IoT Edition) Intel Galileo & Edison - https://software.intel.com/zh-cn/installation-for-javascript-intel-xdk-galileo-and-edison
- 英特尔® 开发人员专区 – IoT: https://software.intel.com/zh-cn/iot
- 英特尔® 物联网开发人员套件: https://software.intel.com/zh-cn/iot/devkit
- 英特尔® 物联网开发人员套件传感器: https://software.intel.com/zh-cn/iot/sensors
- 英特尔® 开发人员专区 – IoT 下载: https://software.intel.com/zh-cn/iot/downloads
- 英特尔® 物联网开发人员套件 Linux* 映像: https://software.intel.com/sites/landingpage/iotdk/board-boot-image.html
Intel Edison
- Intel Edison 社区: https://communities.intel.com/community/makers/edison
- Edison 软件下载: https://communities.intel.com/docs/DOC-23242