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

Language

Support

通过 QIoT Suite Lite 将 Arduino Yun 连接到 QNAP NAS

开始使用 Arduino Yun (Python)

在本教程中,您将了解有关使用 Arduino Yun(运行 Linux)的基本知识。之后,您还会了解如何使用 QIoT Suite Lite 将您的设备无缝连接到 QNAP NAS。本示例使用 DHT11 湿度温度传感器

第 1 课:配置您的设备

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

1.1 下载 Arduino IDE

1.2 配置并测试您的设备

如果您是第一次使用 Arduino Yun,则需要按照相关步骤对其进行组装。

  • 使用 USB 将 Arduino Yun 连接到 PC。
  • 打开 Arduino IDE 并找到“Blink”(闪烁)示例。
  • 配置开发板:
  • 配置端口:
  • 验证“Blink”(闪烁)示例并将其上传到 Arduino Yun
     
  • 将代码上传到 Arduino Yun 后,检查 Arduino Yun,此时,您应该会看到 L13 在闪烁:
  • 将 DHT11 传感器分别连接到 Arduino Yun 上的“Ground”(接地)、“5V”、“Pin 2(Digital)”(针脚 2(数字))端口。

1.3 获取 Arduino Yun 的 IP 地址

  • 按住 Wi-Fi 重置按钮 5 秒钟。
  • 转到 Wi-Fi 设置,选择“Arduino-Yun-XXXXXXX”(“XXXXXXX”是 Arduino Yun 的 MAC 地址)。
  • 打开浏览器,转到“http://192.168.240.1”或“http://arduino.local”。默认密码为“arduino”。
  • 完成板设置,并将 Arduino Yun 连接到您正在使用的路由器。跳过“API setting”(API 设置),单击“save”(保存)。
  • 在 PC 上,将 Wi-Fi 网络更改为您的路由器,现在,NAS 和 Arduino 便位于同一个网络中。

1.4 为 Arduino Yun 安装开发工具

  • 从以下网址打开终端:http://arduino.local
  • 输入登录帐户“root”和密码。默认密码为“arduino”。

输入以下命令来安装 PIP 和 MQTT 库。

root@arduino:~# opkg update
root@arduino:~# opkg install distribute
root@arduino:~# opkg install python-openssl
root@arduino:~# easy_install pip
root@arduino:~# easy_install paho-mqtt

第 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 应用程序环境。

  • 单击“Add IoT Application”(添加 IoT 应用程序),并为您的 IoT 应用程序输入名称。规则和仪表板名称将根据 IoT 应用程序名称自动生成。

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

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

  • 输入资源相关信息。

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

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

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

  • 在 QIoT Suite Lite 中单击“Thing Information”(物项信息)图标,转到“Connect a Device”(连接设备),单击“Generate a Device Certificate”(生成设备证书)。

  • 此时将出现如下所示的弹出窗口。单击三个链接以下载“Device Certificate”(设备证书)、“CA Certificate”(CA 证书)和“Private Key”(私钥),然后单击“OK”(确定)。
  • 随后,将显示一个包含大量代码的页面。单击“Download JSON file”(下载 JSON 文件)。文件名为“resourceinfo.json”。

3.2 下载 SDK 示例代码

从以下网址下载 SDK 示例代码:
https://drive.google.com/open?id=0B5f8WeH2QCp2WWFaRzZrNG44RFU

确保您下载的是“QNAPIoT_Python_Test.py”和“DHT-sensor-library-master. zip”

3.3 将 Arduino Yun 连接到 NAS

  • 打开 http://arduino.local/,找到“File Manager”(文件管理器)
  • Arduino Storage 下创建一个新文件夹(例如:“123”)。
  • 在“123”下创建文件夹“res”和“ssl”。
  • 复制文件“QNAPIoT_Python_Test_MQTTS.py”并粘贴到“123”中。
  • 将文件“resourceinfo.json”上传到“res”,并将 3 个证书上传到“ssl”。
  • 打开 Arduino IDE。找到“DHT-sensor-library-master.zip”文件,并将其包括在内。
  • 通过 Arduino IDE 打开“QNAPIoT_Arduino_Test.ino”,并上传您的 Arduino 示例代码。

3.4 更改连接类型

QIoT 支持诸如 MQTT、MQTTS 和 HTTP 等协议。

3.4.1 MQTT 和 MQTTS

  • 下载“QNAPIoT_Python_Test_MQTT.py”并将其打开。MQTT 和 MQTTS 在 OpenSSL 上有所不同。
  • 要使用 MQTT,请打开 QIoT Suite Lite,找到“Connect a Device”(连接设备)。选择 MQTT,并单击“Next”(下一步)。
  • 下载 JSON 文件,并将其上传到 Arduino Yun 的“res”文件夹。
  • 要运行 python 代码,请打开您的终端,输入以下命令:
    root@arduino:~# python QNAPIoT_Python_Test_MQTT.py 或
    root@arduino:~# python QNAPIoT_Python_Test_MQTTS.py

3.4.2 HTTP

  • 找到“QNAPIoT_Python_Test_HTTP.py”示例代码。
  • 使用以下命令运行此示例代码:
    root@arduino:~# python QNAPIoT_Python_Test_HTTP.py

第 4 课:集成 Power BI

4.1 获取第一个 Power BI 帐户

在以下网址注册一个免费的 PowerBI 帐户:https://powerbi.microsoft.com/en-us/


注册后,将显示以下页面:

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-12
您觉得这篇文章对您有帮助吗?
谢谢您,我们已经收到您的意见。
谢谢您,我们已经收到您的意见。若有任何问题,欢迎来信 support@qnap.com 。
100% 的人认为有帮助。