开始使用 Intel® IoT Devkit 和 Intel® XDK IoT Edition





0/5 (0投票)
Intel 物联网开发套件 (IoTDK) 是一个完整的解决方案,用于为 Intel 物联网平台(如 Intel® Galileo 和 Edison 创客板)创建和测试应用程序。
引言
Intel 物联网开发套件 (IoTDK) 是一个完整的解决方案,用于为 Intel 物联网平台(如 Intel® Galileo 和 Edison 创客板)创建和测试应用程序。
完整的 IoTDK 为开发者提供了软件和硬件组件,以便使用 Galileo 板和 Grove 入门套件创建创新的项目。IoTDK 附带的软件包含三个主要部分:Intel® XDK IoT 版、Yocto Linux* 系统以及一套库。这些库旨在为开发者提供一种简单的方式来控制集成到 Intel 物联网平台中的硬件组件,并提供对多个传感器和执行器的访问。
Yocto Linux 是一个专门为嵌入式项目设计的元发行版。它是一个元发行版,因为它不仅仅是一个 Linux 发行版——Yocto 是一个用于生成定制的基于 Linux 的操作系统的环境。Yocto 提供了用于选择软件包、准备设置和创建可用于安装此定制操作系统的映像的工具。当您购买 Intel Galileo 板时,Yocto 是可用的操作系统。通过 IoTDK,还包含另一个版本,其中包含更多的库和资源,为开发者提供更多资源来使用他们喜欢的编程语言创建应用程序。此版本包括 GCC*、Python、Node.js、OpenCV 等。如果您想了解更多关于 Yocto 的信息,请访问 www.yoctoproject.org。
IoTDK 附带的Intel® XDK IoT 版允许您直接在 Intel 物联网平台上创建和运行应用程序。此版本的 Intel® XDK 还提供了创建新应用程序的模板,我们稍后将介绍如何使用它们。Intel® XDK IoT 版提供了远程调试应用程序的可能性,并允许您从自己的桌面运行它。由于 Intel Galileo 主要用于运行物联网项目,其处理能力有限,因此更大或更复杂的项目可以利用更强大的处理器来运行完整的开发环境。开发者不一定需要使用 Intel® XDK IoT 版,但它是一个很好的工具。
安装在 Intel Galileo 或 Edison 板上的 Yocto 系统提供了一套专为 IoTDK 和 Intel® XDK IoT 版设计的库。这些库是MRAA和UPM。MRAA是一个低级库,它提供了从通用输入/输出接口到 Intel Galileo 或 Edison 上可用引脚的翻译。因此,开发者无需读取 Linux 内核提供的 GPIO 模块的原始电平信息,而是可以轻松地选择引脚编号并直接使用它。MRAA 将处理底层细节。UPM是一个用 C++ 编写的传感器表示库,它利用 MRAA 来实现这一点。这两个库都有 C++ 绑定到 JavaScript。通过 Intel® XDK IoT 版,Node.JS用于与所有 GPIO 引脚、库和包进行通信。例如,GPIO 引脚 13 可以分配给一个有用的代码行,如 *var onboardLED = new mraa.Gpio(13);*
要求
- Intel Galileo(第一代或第二代)或 Intel Edison
- 如果使用 Intel Galileo 第一代或 Gen1:B9 母头转 3.5mm 串行线(请参阅 https://communities.intel.com/thread/46560 了解购买信息或 https://communities.intel.com/message/208514#208514 了解如何自行制作)
- 对于 Intel Galileo 第二代或 Gen2:USB 转 6 针 FTDI 串行线
- 对于 Intel Edison:USB Type A 转 Micro-B USB 线
- 桌面操作系统:Windows® 7 64 位、Apple® OS X、Ubuntu®
Components
以下强调了 IoTDK 的重要硬件组件。
- Intel® Galileo 板 或 Intel® Edison
- MicroSD 卡
- USB 转串行线
- 串行转 D9 线
- 以太网线
- Grove Starter Kit Plus
- 面向工程师和艺术家的模块化电子平台,用于将他们的想法变为现实。
- 它包括基础扩展板、传感器、按钮、继电器、伺服电机、LCD、LED 和连接线。
设置 Intel® Galileo 板
如果使用 Intel Galileo 板,我们的第一步是更新板载固件。
- 在 https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23171 下载适用于 Galileo 的 Arduino* 软件
- 将 Intel Galileo 板从 USB 主机端口连接到桌面系统的 USB 端口
- 启动 Arduino 软件
- 导航到 工具 > 主板 > Intel® Galileo 主板 或 Intel® Galileo Gen2
- 导航到 工具 > 串行端口 > COM?
- 注意:(Windows) 您可以在 Windows 设备管理器中找到此项
- 注意:(Apple OS X*) 您可以在 Apple 徽标 > 关于本机 > 系统报告 中找到此项
- 注意:(Ubuntu*) 您可以在终端中使用 *lsusb* 命令找到此项
- 导航到 帮助 > 固件更新
我们的第二步是准备好 Intel Galileo 板以供我们的 IoTDK 使用。如前所述,这意味着使用准备好的 Yocto 映像启动板。
从 https://software.intel.com/sites/landingpage/iotdk/board-boot-image.html 下载最新映像
Windows*
- 使用 7zip 或类似工具,在您的 Windows 系统上解压下载的映像文件 *.bz2。
- 将 micro-SD 卡插入 Windows 系统的相应卡槽。
- 下载 Win32DiskImager 工具并以管理员身份安装。成功安装后,以管理员身份运行 Win32DiskImager。
- 确保您已选择正确的设备驱动器以对应您插入的 micro-SD 卡进行写入。
OS X* 或 Linux*
- 在 OS X 命令行(终端应用程序)中,您可以将映像写入 SD 卡。
- 键入以下命令(示例)
- diskutil list
- 识别 SD 卡的磁盘(不是分区)。例如 disk4(不是 disk4s1)
- diskutil unmountDisk /dev/
- 例如:diskutil unmountDisk /dev/disk4
- sudo 3dbs=1m if=.img of=/dev/
- 例如:sudo 3dbs=1m if=iot-devkit-mmcblkp0.direct of=/dev/rdisk4
- (这需要几分钟时间)
将 Galileo 板连接到您的桌面
- 将准备好的 micro-SD 卡插入 Intel 物联网平台的 micro-SD 卡插槽
- 如果使用 Intel Galileo 板,请将相应的串行线(Gen1 为 B9,Gen2 为 FTDI)插入板上的相应端口。将另一端连接到桌面系统的 USB 端口。
- 将以太网线连接到 Intel Galileo 板,另一端连接到您的局域网,例如您的路由器
- 将电源线连接到 Intel Galileo 板,并连接到电源以启动它。
- 重要提示:请确保您拥有适合您板的电源线。Intel Galileo Gen2 的电源线与 Gen1 类似,但它提供 12V 而不是 5V,而 Gen1 未为此做好准备,这可能会损坏您的板。
完整的设置应如下所示
发现板的 IP 地址
Windows
- 使用终端模拟器(例如 Putty)打开与板的串行连接
- 首先,找到您的 Windows 系统识别为已连接到板的串行端口。打开“开始”->“设备和打印机”,您应该会看到一个 USB-串行条目。
- 打开您的终端模拟器(Putty),并设置以下配置
- Session
- 串行线:COM?
- 例如,COM12
- 速度:115200
- 连接类型:串行
- 串行线:COM?
- Session
- Window
- 串口
- 要连接的串行线:COM?
- 速度(波特率):115200
- 数据位:8
- 停止位:1
- 奇偶校验:1
- 流控制:XON/XOFF
- 串口
- 打开连接。如果您什么都看不到,请在键盘上按 Enter 键。
- 以 root 超级用户登录。密码为空。输入 root
- 使用命令 `ip a`,识别板正在使用的 IP 地址。它应该列在 `inet` 中,位于列出的第二个条目内。
OS X
使用 Bonjour Browser 查看本地网络上的所有 Bonjour 服务
- 启动 Bonjour Browser 应用程序
- 搜索 _xdk-app-daemon._tcp。
- 展开它以发现 IP 地址
设置 Intel® Edison 板
- Windows* 入门说明 - https://communities.intel.com/docs/DOC-23147
- Mac OS X* 入门说明 - https://communities.intel.com/docs/DOC-23148
- Linux* 入门说明 - https://communities.intel.com/docs/DOC-23149
亮点
- 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 的计算机的地址)
如果用户尝试从未经授权(又名不在白名单中)的主机连接到 Edison,将显示一条错误消息,其中包含有关如何将计算机的 IP 地址添加到白名单的说明。
xdk-whitelist 工具接受以下命令:
- --clear 从白名单中删除所有 IP 地址
- --add 将 IP 地址添加到白名单。[示例:xdk-whitelist --add <ip address>]
- --remove 从白名单中删除 IP 地址。[示例:xdk-whitelist --remove <ip address>]
- --list 显示白名单中的 IP 地址列表
注释
如果您遇到连接 Intel Edison 板或 Intel Galileo 板到 Intel XDK IoT Edition 的问题,请在 ssh 会话中运行以下命令:
- systemctl enable xdk-daemon
- systemctl restart xdk-daemon
如果您在 IoT Device 下拉菜单中看不到您的板自动出现,请点击手动添加连接。
- 在 Address: 字段中输入您的板的 IP 地址。
- 在 Port: 字段中输入您的板的端口 58888(默认情况下,Intel XDK 应用守护进程端口是 58888)。
如果您继续遇到与您的板或 Intel XDK 相关的网络连接问题:
- 对于 Edison,请在 ssh 终端中重启板或手动给板断电再通电。
- 对于 Intel XDK,请关闭应用程序并重新打开。
设置 Intel® XDK
- 在 http://software.intel.com/en-us/html5/xdk-iot 下载 Intel® XDK IoT Edition 到您的计算机。
- 双击 iot_web_<desiredOS>_master_<versionNumber> 文件以安装并启动 Intel® XDK IoT Edition 进行应用程序开发。
- 这将打开 Intel® XDK,其中包含各种项目创建选项,包括“使用 Node.js IoT 项目”选项。
- 选择“Internet of Things (IoT) with Node.js Projects”选项下的 *Start with a Sample or Template* 以打开用于开发 Node.js 应用程序的开发环境。最终结果应如下所示。
注意:在编辑 *Internet of Things (IoT) with Node.js Projects* 项目时,开发选项卡底部会出现一个工具栏。它包括左侧运行 IoTdevkit Linux* 映像的可访问和已连接板列表,以及右侧用于隐藏或显示命令行控制台的按钮。该工具栏还包括用于安装/构建 node 模块、上传、调试、停止和运行当前项目的.
- 让我们连接到 Intel Galileo 板。点击 Intel XDK 底部左角的 IoT Device 下拉列表。
- 在列表中选择 Intel Galileo (quark)。
- 将出现一个弹出窗口,显示 Intel Galileo 或 Edison 板的连接状态和 IP 地址。
运行示例应用程序
您可能已经注意到,Intel® XDK IoT Edition 已经内置了一些示例项目。执行一个简单的项目来测试一切是否已正确连接。
- 在 Projects 选项卡中,在 **Internet of Things (IoT) with Node.js Projects** 下,点击 Start with a Sample or Template。
- 选择项目类型
- 点击 Use This Template
- 输入名称并创建项目。这成为 Intel XDK 中的活动项目。
- 点击底部工具栏中的 IoT Device: 下拉菜单以连接到您的板。
- 点击 Toggle console window 按钮以显示控制台窗口。
- 点击底部工具栏中的 Manage your daemon/IoT device 菜单。选择 sync PC time w/ clock on target board 以避免计算机和设备计时问题。(上面图片中的 #1)
- 点击 Install/Build 以获取 package.json 中指定的 node 模块并在设备上安装它们。(上面图片中的 #2)
- 点击 Upload 以将当前项目上传到板。(上面图片中的 #3)
- 点击 Run 以在设备上运行项目。(上面图片中的 #4)
注意:如果您收到“找不到 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/en-us/html5/xdk-iot
- Intel® XDK IoT Edition node.js 模板文章:https://software.intel.com/en-us/html5/articles/intel-xdk-iot-edition-nodejs-templates
- Intel XDK IoT Edition 论坛:https://software.intel.com/en-us/forums/intel-xdk
Intel Developer Zone (IDZ) – Internet of Things (IoT) Zone
- JavaScript (Intel® XDK IoT Edition) Intel Galileo & Edison 安装 - https://software.intel.com/en-us/installation-for-javascript-intel-xdk-galileo-and-edison
- Intel® Developer Zone – IoT:https://software.intel.com/iot
- Intel® IoT Developer Kit:https://software.intel.com/en-us/iot/devkit
- Intel® IoT Developer Kit 传感器:https://software.intel.com/en-us/iot/sensors
- Intel Developer Zone – IoT 下载:https://software.intel.com/en-us/iot/downloads
- Intel® IoT Developer Kit 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