开始使用 Intel Edison (Node.js)
在本教程中,您将了解有关使用 Intel Edison(在基于 Linux 的 Yocto 上运行)的基本知识。之后,您还会了解如何使用 QIoT Suite Lite 将您的设备无缝连接到 QNAP NAS。
请确保您的 Intel Edison 与 NAS 在同一 LAN 中。
1.配置您的设备
为 Intel Edison 配置操作系统、设置开发环境,并将应用程序部署到 Intel Edison。
1.1 下载 Intel Edison 驱动程序
根据主机 PC,下载 Intel Edison 的驱动程序:
Windows 用户
Mac 用户
Linux 用户
1.2 配置并测试您的设备
开始使用 Intel Edison
如果您是第一次使用 Intel Edison,则必须按照相关步骤对其进行组装。
请按照说明中的第 1 步到第 3 步进行操作。
- 第 1 步:组装开发板和传感器。
- 第 2 步:运行安装工具。
通过一个便捷的向导,使用安装工具将最新固件闪存到 Intel Edison 开发板上。使用此安装工具,还可以通过 SSH 和 Wi-Fi* 连接到主板,具体如下所述。
- 第 3 步:下载开发环境。
下载 Intel® XDK 跨平台集成开发环境
验证 onBoardBlink 项目并将其上传到 Intel Edison
- 创建项目
- 启动 Intel XDK。
- 按照屏幕说明登录 Intel® XDK 帐户,或者注册新的 Intel XDK 帐户。
- 在“Projects”(项目)选项卡上,单击左下角的“Start a New Project”(开始新项目)。此时将打开“Start a New Project”(开始新项目)页面。
- 在左侧的“Internet of Things Embedded Application”(物联网嵌入式应用程序)列表中,单击“Templates”(模板)。右侧将显示模板列表。
- 选择“Onboard LED Blink”(板载 LED 闪烁)模板,然后单击“Continue”(继续)。
- 您可以在“Project Directory”(项目目录)中修改项目存储目录。
- 在“Project Name”(项目名称)中输入项目名称。
连接到开发板
在左下角的“IoT Device”(IoT 设备)下拉列表中,选择您的开发板。此时将打开“Connect to your IoT Device”(连接到 IoT 设备)对话框。
- 如果下拉列表中没有您的开发板,您必须手动连接到您的开发板。选择“Add Manual Connection”(添加手动连接)并在“Address”(地址)中输入开发板的 IP 地址。
- 如果您已创建用于登录开发板的用户名和密码,请将其输入到“User Name”(用户名)和“Password”(密码)中。否则,保留默认值。
- 单击“Connect”(连接)。
- 如果守护程序已过时,必须对其进行更新。这会断开与开发板的连接,因为需要重新启动守护程序。出现提示时,请按照说明重新连接。
- 如果开发板上的时钟与 Intel XDK IoT Edition 不同步,请单击“Sync”(同步)。
- 此时会出现一条确认消息,显示开发板的连接状态和 IP 地址。单击“Dismiss”(解除)。此时,便已完成与开发板的连接。
上传并运行项目
- 转到“Develop”(开发)选项卡,在窗口底部找到 IoT 工具栏。
- 单击“Upload”(上传)图标 将项目上传到开发板。
- 单击“Run”(运行)图标 运行代码。此时开发板上的 LED 应该在闪烁。
- 单击“Stop”(停止)图标 停止 LED。
恭喜,您已使用 Intel XDK IoT Edition 运行了您的第一个 IoT 应用程序,请参见 https://software.intel.com/en-us/get-started-edison-windows
1.3 安装 Node.js 和所需的库
在计算机上打开一个终端应用程序,并连接到 Intel Edison。
安装最新的 Node.js
2.在 QIoT Suite Lite 中创建设备
2.1 安装 QIoT Suite Lite
- 您可以从 App Center 安装 QIoT Suite Lite。
- 启动 QIoT Suite Lite 并登录。默认用户名和密码均为“admin”。
2.2 创建新 IoT 应用程序
IoT 应用程序由多个 IoT 设备、规则和仪表板构成。建议您先在 IoT 应用程序中创建“IoT 设备”。使用此 IoT 应用程序可以记录连接到 NAS 的所有设备。
使用规则可以构建 IoT 应用程序,从而对已连接设备所生成的数据进行收集、处理、分析和操作。规则可以应用到一个或多个设备所生成的数据,并且可以并行执行一个或多个操作。
仪表板可以将您的数据转换为分析和报告,让您掌握实时信息。
所有这些元素共同为用户提供了一个完整的 IoT 应用程序环境。
- 如果您是首次使用 QIoT Suite Lite,请使用“QIoT Quick Setup”(QIoT 快速安装)来指导您完成 IoT 应用程序的快速安装。阅读简介后,单击“Next”(下一步)。
- 创建新 IoT 应用程序
- 输入 IoT 应用程序名称(例如:“app_1”)。
- “Rule Name”(规则名称)和“Dashboard Name”(仪表板名称)将根据 IoT 应用程序名称自动生成。
- 单击“Next”(下一步)。
- 单击“+ Add”(+ 添加)以添加此应用程序的设备。
- 单击“+ Add”(+ 添加)后,在“Add Thing”(添加 IoT 设备)中完成以下操作:
- 输入设备名称(例如:“edison”)在“Add”(添加)属性中输入设备信息(例如,序列号和制造商)。
- 如果您的设备以受 QIoT 支持(Arduino Yun、Raspberry Pi、Edison 和 Linkit 7688 (Duo)),选择一种预定义的“Thing Type”(IoT 设备类型)。
- 单击“Add”(添加)。
- 输入设备的“IP address”(IP 地址)、“User Name”(用户名)和“Password”(密码),然后单击“Connect”(连接)图标。QIoT Suite Lite 将检查设备的连接。验证连接后,单击“Next”(下一步)。
- 在“Resources”(资源)中,单击“Add Resource”(添加资源)。
- 在“Add Thing Resource”(添加 IoT 设备资源)中:
- 在“资源名称”(Resource Name)和“资源 ID”(Resource ID)中,输入传感器的名称和 ID。请注意,此资源 ID 将用于在 QIoT 代理中创建主题。此 ID 应该对设备唯一,不允许对同一设备使用重复的 ID。
- 在“资源名称”(Resource Name)和“资源 ID”(Resource ID)中,输入传感器的名称和 ID。请注意,此资源 ID 将用于在 QIoT 代理中创建主题。此 ID 应该对设备唯一,不允许对同一设备使用重复的 ID。
- 在“API Keys”(API 密钥)中:
- 如果要将 QIoT 仪表板小组件嵌入网页中,或者要从第三方应用程序访问 QIoT API,请转到“API Keys”(API 密钥)选项卡并单击“Generate New API Key”(生成新 API 密钥)。单击“Done”(完成)。
- 如果要将 QIoT 仪表板小组件嵌入网页中,或者要从第三方应用程序访问 QIoT API,请转到“API Keys”(API 密钥)选项卡并单击“Generate New API Key”(生成新 API 密钥)。单击“Done”(完成)。
- 现在,系统将创建 IoT 应用程序。Node.js 示例代码和相关文件(证书、资源信息)将上传到设备上的指定路径。
- 系统将创建一个示例仪表板
- 转到“Rule”(规则)选项卡,以定义流或者有关如何处理设备发送的数据以及如何在仪表板上呈现数据的规则。
3.使用 MQTTS 将设备连接到 QIoT Suite Lite
3.1 运行示例代码
- 在 PC 上打开一个终端应用程序(例如,PuTTY)。使用 SSH 连接到您的设备,然后输入存储示例代码的文件夹(例如:/home/root/bundle)。
- 要安装示例代码需要的程序,输入以下命令:
- 运行示例代码
- 设备会向“temp”(临时)主题(或您定义的主题)发送消息。
3.2 使用其他协议
- 单击“Connect a Device”(连接设备)。
- 您可以选择其他协议。
- 使用 SSH 连接到您的设备,并输入以下命令:
4.集成 Power BI
4.1 获取第一个 Power BI 帐户
- 在以下网址注册一个免费的 PowerBI 帐户:https://powerbi.microsoft.com/en-us/
- 完成一系列注册步骤后,会转到以下页面,您可以按“My workspace”(我的工作区),随即将显示“skip for now”(现在跳过)按钮。您可以单击“skip for now”(现在跳过),开始创建数据集。
4.2 设置流数据集 API
- 创建“Datasets”(数据集)
- 单击右上角的“Create”(创建)
- 单击“Streaming dataset”(流数据集)
- 选择“API”作为数据源,然后单击“Next”(下一步)。
- 定义流中的值(例如 temp、max、min),文本框中将显示 JSON 结果。我们使用此 JSON 代码来将数据推送到 QIoT Suite Lite 应用程序。单击“Create”(创建)完成操作。
- 创建了数据流后,您将获得一个 REST API URL,IoT 应用程序可以使用 POST 请求来调用此 URL,以将您的实时数据推送到您所创建的流数据数据集中。
4.3 在 IoT 应用程序中配置 Node-RED 节点
- 在 QIoT 套件中创建 IoT 应用程序。
- 下图是您的第一个 Node-RED 流,因此,您可以开始创建自己的 IoT 流。有关 Node-RED 的更多信息,请访问 https://nodered.org/
- 在开始将实时数据推送到 Power BI 之前,我们需要一个“function”(函数)节点来将 IoT 数据转换为流数据数据集。您可以将 msg.payload 替换为您自己的 JSON 数据集。
- 函数代码如下所示:
- 我们需要一个“http request”(http 请求)节点来帮助将实时数据推送到 Power BI。只需拖放“http request”(http 请求)节点将其连接到“function”(函数)节点后即可。
- 复制并粘贴您从 Power BI 控制台获取的 REST API URL,并将 http 方法设置为 POST。单击“Deploy”(部署)以保存更改。
- 您的 Node-RED 流将如下所示。
4.4 添加磁贴以显示实时数据
- 创建“Dashboard”(仪表板)。
- 单击屏幕右上角的“Create”(创建)
- 然后单击“Dashboard”(仪表板)
- 输入仪表板的名称,然后单击“Create”(创建)完成仪表板的创建。
- 单击屏幕右上角的“Add tile”(添加磁贴)
- 选择“CUSTOM STREAMING DATA”(自定义流数据),然后选择“Next”(下一步)按钮。
- 选择数据集,然后单击“Next”(下一步)。
- 选择可视化类型(例如,仪表),并设置值、最小值和最大值。
- 您将获得可供使用的流数据集,以及如下所示的实时仪表。
请访问 QNAP github 查阅 QIoT Suite Lite 示例代码“QNAP-Github”
留言列表