威连通科技股份有限公司(QNAP Systems, Inc.) - 网络存储装置(NAS) - 首页

Language

Support

通过 QIoT Suite Lite 将 Raspberry Pi 连接到 QNAP NAS

开始使用 Raspberry Pi (Nodejs)

在本教程中,您将了解有关使用 Raspberry Pi(运行基于 Debian 的 Raspbian)的基本知识。之后,您还会了解如何使用 QIoT Suite Lite 将您的设备连接到 QNAP NAS。

请确保您的 Raspberry Pi 与 NAS 在同一 LAN 中。

第 1 课:配置您的设备

本节课中,您将为 Raspberry Pi 设备配置操作系统、设置开发环境,并将应用程序部署到 Raspberry Pi。

1.1 所需内容

  1. Raspberry Pi
  2. 安装了 NOOBS 的 SD 卡(建议使用 8GB 4 级 SD 卡)。
  3. HDMI 显示器。
  4. USB 键盘和鼠标。
  5. 电源:对于 3B 型号,Pi 需要至少为 5V、2A 的 USB 微型电源;对于更早的型号,需要 5V、700mA 的 USB 微型电源。 

1.2 安装 Raspbian

  • 将含有已解压 NOOBS 文件的 SD 卡插入 Raspberry Pi 中
  • 将键盘、鼠标和 HDMI 显示器连接到 Raspberry Pi。插入电源适配器。Raspberry Pi 没有电源开关,连接适配器后会自动接通电源。
  • 此时会出现一个菜单,询问您要安装的操作系统以及要使用的语言和键盘布局。选中 Raspbian 旁的框,然后单击“Install”(安装)。
  • 此安装过程最长可能需要 20 分钟,完成后会重新启动并显示 Raspbian 桌面。
  • 配置 Wi-Fi – 在桌面环境中,找到右上角菜单中的“Wireless Network”(无线网络)图标,然后单击此图标以查看可用 Wi-Fi 网络的列表。
  • 要从其他设备连接到您的 Raspberry Pi,必须知道此 Pi 的 IP 地址。使用终端(按 Ctrl + Alt + t 打开终端)输入 hostname -I
  • 有关 Raspberry Pi 安装指南的更多信息,请访问以下网址:https://www.raspberrypi.org/learning/software-guide/

1.3 安装 Nodejs 和所需的库

  • 按 Ctrl + Alt + t 打开终端。
  • 安装最新的 nodejs
    pi@raspberrypi:~ $ sudo apt update
    pi@raspberrypi:~ $ sudo apt install nodejs
  • 输入以下命令来安装 MQTT 库和 Promises 库。
    pi@raspberrypi:~ $ npm install mqtt
    pi@raspberrypi:~ $ npm install q

第 2 课:在 QIoT Suite Lite 中创建设备

本节课中,您将置备 QNAP QIoT Suite Lite 软件,并在 QIoT Suite Lite 中创建您的第一个设备。

2.1 安装 QIoT Suite Lite

  • 您可以从 App Center 安装 QIoT Suite Lite。
  • 启动 QIoT Suite Lite 并登录。默认用户名和密码均为“admin”。

2.2 创建新 IoT 应用程序

IoT 应用程序由多个物项、规则和仪表板构成。建议您先在 IoT 应用程序中创建 “IoT 设备”。使用此 IoT 应用程序可以记录连接到 NAS 的所有设备。

使用规则可以构建 IoT 应用程序,从而对已连接设备所生成的数据进行收集、处理、分析和操作。规则可以应用到一个或多个设备所生成的数据,并且可以并行执行一个或多个操作。

仪表板可以将您的数据转换为分析和报告,让您掌握实时信息。

所有这些元素共同为用户提供了一个完整的 IoT 应用程序环境。 

如果您是首次使用 QIoT Suite Lite,请使用“QIoT Quick Setup”(QIoT 快速安装)来指导您完成 IoT 应用程序的快速安装。阅读简介后,单击“Next”(下一步)。


在“IoT Application”(IoT 应用程序)选项卡中,为您的 IoT 应用程序输入名称。规则和仪表板名称将根据 IoT 应用程序名称自动生成。单击“Next”(下一步)。

在“Thing”(IoT 设备)选项卡中,单击“Add”(添加)。在“Add”(添加)属性中输入设备名称并提供设备信息(例如,序列号和制造商)。如果您的设备已受 QIoT 支持,请选择一个预定义的“Thing Type”(物项类型)。单击“Add”(添加)以添加设备。


输入设备的“IP address”(IP 地址)、“User Name”(用户名)和“Password”(密码),然后单击“Connect”(连接)图标。QIoT Suite Lite 将检查设备的连接。验证连接后,单击“Next”(下一步)。

在“Resource”(资源)选项卡中,单击“Add Resource”(添加资源)。在“资源名称”(Resource Name)和“资源 ID”(Resource ID)中,输入传感器的名称和 ID。请注意,此资源 ID 将用于在 QIoT 代理中创建主题。此 ID 应该对设备唯一,不允许对同一设备使用重复的 ID。


在设备上添加了所有资源(传感器)后,单击“Next”(下一步)。

如果要将 QIoT 仪表板小组件嵌入网页中,或者要从第三方应用程序访问 QIoT API,请转到“API Keys”(API 密钥)选项卡并单击“Generate New API Key”(生成新 API 密钥)。单击“Done”(完成)。

现在,系统将创建 IoT 应用程序。Node.js 示例代码和相关文件(证书、资源信息)将上传到设备上的指定路径。

系统将创建一个示例仪表板。

转到“Rule”(规则)选项卡,以定义流或者有关如何处理设备发送的数据以及如何在仪表板上呈现数据的规则。

第 3 课:使用 MQTTS 将设备连接到 QIoT Suite Lite

本节课中,您将在 QIoT Suite Lite 中生成证书、下载 SDK,并将 Raspberry Pi 连接到 QIoT Suite Lite。

3.1 在 QIoT Suite 内生成证书和资源信息。

  • 在 Raspberry Pi 上,打开终端。
  • 转到 QIoT Suite Lite 将示例代码上传到的目标目录。
  • 运行示例应用程序。
    pi@raspberrypi:~ $ cd bundle/nodejs/device/raspberry/examples/DHT11
    pi@raspberrypi:~ $ node qiot-DHT11-example.js

第 4 课:集成 Power BI

4.1 获取第一个 Power BI 帐户

4.2 设置流数据集 API

转到左侧菜单中的“Datasets -> Streaming datasets”(数据集 -> 流数据集),然后单击右上角的“+ Add streaming dataset”(+ 添加流数据集)。

选择“API”作为数据源,然后单击“Next”(下一步)。

定义流中的值,文本框中将显示 JSON 结果。我们使用此 JSON 代码来将数据推送到 IoT 应用程序。单击“Create”(创建)完成操作。

创建了数据流后,您将获得一个 REST API URL,IoT 应用程序可以使用 POST 请求来调用此 URL,以将您的实时数据推送到您所创建的流数据数据集中。

4.3 在 IoT 应用程序中配置 Node-RED 节点

在 QIoT Suite 中创建一个 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 添加磁贴以显示实时数据

转到“Dashboards +”(仪表板 +)以创建您的第一个仪表板,然后单击“+ Add tile”(+ 添加磁贴)以配置小组件。

选择“CUSTOM STREAMING DATA”(自定义流数据),然后单击“Next”(下一步)。

选择数据集,然后单击“Next”(下一步)。

您将获得可供使用的流数据集,以及如下所示的实时仪表。

发布日期: 2017-05-16
您觉得这篇文章对您有帮助吗?
谢谢您,我们已经收到您的意见。
谢谢您,我们已经收到您的意见。若有任何问题,欢迎来信 support@qnap.com 。