Skip to content

集成树莓派传感器数据 - 通过 MindConnect IoT Extension

本指南向您介绍了从树莓派到 MindConnect IoT Extension 传感器数据集成的基本概念,并通过使用 Data Explorer 演示了测量的可视化。Tinkerforge 传感器将被连接到树莓派上。传感器的测量值被传输到 MindConnect IoT Extension,用于进一步的数据收集和分析活动。您还可以扩展这种集成,以在 MindSphere 中创建更多的 aspects 和 assets,实时同步数据,并通过 Data Explorer 可视化和分析度量。

通用信息

持续时间: 60分钟
使用该 MindSphere 版本测试: 发布说明 19th December 2018

先决条件

受支持的 Tinkerforge Bricklets

目前支持的模块:
气压计、湿度传感器、环境光传感器、湿度传感器、距离传感器、电压传感器、电流传感器、温度传感器、PTC 传感器、液晶显示器、4x7段显示、远程开关、IO16、红外距离传感器、超声波距离传感器、GPS、双继电器、运动检测器。

可在以下目录中的最新版本树莓派的 Cumulocity 代理中,找到所有受支持的 Bricklets:

  • \cumulocity-rpi-agent-latest\data\usr\share\cumulocity-rpi-agent\lib\tinkerforge-2.1.2\com\tinkerforge
  • \cumulocity-rpi-agent-latest\data\usr\share\cumulocity-rpi-agent\lib\tinkerforge-driver-8.17.0-SNAPSHOT\c8y\tinkerforge

目前还不支持新版本的传感器。然而,这个项目是开源的,任何人都可以在这里贡献自己的力量。

准备树莓派

本部分描述了如何配置树莓派并检查主要参数和功能。

Linux 命令

在本指南中将使用表格提供的 Linux 命令。 若想了解其他 Linux 命令并得到更多额外的信息,请查看GNU Coreutils

命令 含义
sudo 以管理员身份执行命令
cat 连接并且显示文件的内容
wget 通过 HTTP, HTTPS 或者 FTP 来检索网络页面或文件
dpkg 安装、建造、移除和管理包
cd 更改目录
nano 使用命令行接口当作文本编辑器
ls 列出有关文件的信息
bash GNU Bourne-again shell
mv 移动或重命名文件或目录
cp 复制一个或多个文件到另一个位置
apt-get 查找或安装软件包
install 复制文件并设置属性

安装 Raspbian 并配置树莓派

如果您时第一次使用树莓派,在这一步有一些必须执行的通用准备。如果树莓派在之前已经准备好,您可以跳过这些步骤并跳到检查 Java 版本

  1. 准备树莓派:将显示器、键盘、鼠标、网线和 wifi适配器连接到设备。请先不要将树莓派连接到电源。
  2. 使用 NOOBS(新出的 Box Software)安装 Raspbian。详细信息请参考入门指南并遵循安装指导
    在安装之后,树莓派将启动到图形化桌面。
  3. 通过选择地方化参数(国家、语言和时区)来完成设置。创建一个新密码并建立网络连接。
  4. 检查软件升级,安装升级并重启树莓派。
  5. 通过**接口技术选项**启动 SPI 和 SSH 驱动程序:
    - 打开终端并执行: sudo raspi-config
    - 使用 arrow keys 导航到 Interfacing Options 并按下回车键:
    接口技术选项
    - 转到**SPI**, 按下回车键并在当询问您是否想要启动接口时点击**是**。在**SSH**中重复这个过程。
    - 重新启动树莓派。

  6. 可选: 在安装之后通过以下内容编辑地方化设置: sudo raspi-config
    选择**本地化选项**,更改设置并点击**完成**。然后重新启动树莓派。
    或者,使用树莓派菜单启动器: 偏好 / 树莓派配置 / 本地化 / 设置区域 / 确定。

树莓派

这类说明的更多详细内容,请参考树莓派入门指南

检查 Java 版本

  1. 打开终端并执行:

    java -version
    
  2. 验证至少 Java SE 版本7已经安装到树莓派上。

    检测 Java 版本

确定树莓派序列号

  1. 执行:

    cat /proc/cpuinfo
    
  2. 记录序列号(这里是: 00000000fbdf4131)。

    检测序列号

连接树莓派到 MindConnect IoT Extension

安装 Cumulocity 代理

为了连接到 MindConnect IoT Extension,您必须在树莓派上安装 Cumulocity 代理。

说明

在公司内网,您也许需要通过访客 Wi-Fi 或者移动电话 Wi-Fi 热点访问因特网。否则,防火墙将阻拦下载。

  1. 打开树莓派上的终端并下载代理通过执行:

    wget http://resources.cumulocity.com/examples/cumulocity-rpi-agent-latest.deb
    

    下载代理

  2. 安装已下载的代理通过执行:

    sudo dpkg -i cumulocity-rpi-agent-latest.deb
    

    安装代理

在 MindConnect IoT Extension 上注册树莓派

  1. 打开 MindConnect IoT Extension(https://{tenant}.mciotextension.eu-central.mindsphere.io)并使用您的凭证进行登陆。
    如果您对登陆有任何问题,请联系租户管理员为您提供凭证。

    登陆 mciot

  2. 打开 设备 > 注册**并点击 **注册设备

    注册设备

  3. 选择 一般设备注册

    一般设备注册

  4. 在**设备信息**选项卡的**设备 ID**项中,输入树莓派序列号并点击**下一步**。

    设备 id

    您不必添加您的树莓派到现有的设备组。这是一个在 MindConnect IoT Extension 中结构设备概述的舒适性功能。

  5. 设备以**等待接受**状态成功注册。点击**完成**。

    等待接受

连接代理到 MindConnect IoT Extension

目前树莓派已经在 MindConnect IoT Extension 中注册但还没有连接。在**设备注册**选项卡中会显示**等待连接**状态。

等待连接

添加主机 URL 到配置文件以连接树莓派:

  1. 打开终端并打开 "cumulocity.properties" 文件以进行编辑。

    sudo nano /usr/share/cumulocity-rpi-agent/cfg/cumulocity.properties
    
  2. 使用 arrow keys 在文件中导航,并添加一行带有租户 MindConnect IoT Extension 主机 URL 的代码。不要进行更多的修改。

    host = http://{tenant}.mciotextension.eu-central.mindsphere.io
    

    说明

    确保这行代码没有被#注释掉。
    主机 URL 必须以http:// 开头,而不是https://。否则,设备不能进行连接。
    **仅**在cumulocity.properties中添加主机名称并且将凭证(租户、用户、密码)注释掉。

    更改 cumulocity 属性

  3. 按下<CTRL+X>键来退出并按下Y键来保存更改。

  4. 重新启动树莓派。

    sudo reboot
    
  5. 打开 MindConnect IoT Extension (https://{tenant}.mciotextension.eu-central.mindsphere.io)并打开 设备 > 注册。新的设备状态为**等待接受**,并且**接受**按键会显示。

    接受设备

  6. 点击 接受.

  7. 打开 设备 > 所有设备 以验证注册。最新的可连接树莓派的设备已列出。

    所有设备

设备

如果您仍然不能在列表中找到已注册的设备,请执行下一部分中的替代方法。

应用针对注册/连接问题的替代方法

如果您的树莓派已经在**所有设备**中列出,请跳过这一部分。

修补已安装的 JDK 以修复树莓派子在 MindConnect IoT Extension 中不出现问题:

  1. Oracle中下载针对 Java 8 最新的 JDK,例如 JDK 8u200Linux ARM 32 Hard Float ABI

    下载 jdk

  2. 从下载的 JDK 文档中提取文件。

  3. 在树莓派上打开终端。
  4. 停止Cumulocity 服务。

    sudo service cumulocity-agent stop
    
  5. 删除 device.properties 文件。

    $ cd /usr/share/cumulocity-rpi-agent/cfg/
    $ ls
    cumulocity.properties cumulocity.properties.template device.properties logback-debug.xmllogback.xml
    sudo rm device.properties
    
  6. 验证 device.properties 文件已经删除:

    $ ls
    cumulocity.properties cumulocity.properties.template logback-debug.xml logback.xml
    
  7. 检查 JAVA_HOME variable 是否已经设置:

    JAVA_HOME-bash
    

    如果该 variable 已经设置,结果应和以下内容相似:

    JAVA_HOME-bash: /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt: Is a directory

    或者结果为:

    JAVA_HOME environment variable is not set

  8. 如果 JAVA_HOME variable 没有被设置,执行以下步骤:

    • pi@raspberrypi 中打开一个新设比并且确保 Java 已经安装:

      java –version
      
    • 确定 Java 可执行文件的位置:

      whereis java
      
    • 运行

      sudo nano ~/.profile
      

      打开配置文件

    • 通过添加一行指定 Java 执行文件为hi的代码来设置JAVA_HOME variable,例如:

      JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt
      

      设置 java home variable

    • 保存、关闭文件并重新启动树莓派

      sudo reboot
      
  9. 导航到 Java **安全**目录并检查 cacerts文件是否出现:

    $ cd /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/security/
    $ ls
    blacklist blacklisted.certs cacerts java.policy java.security local_policy.jar trusted.librariesUS_export_policy.jar
    
  10. 移动 cacerts 文件到另一个目录(或者重命名这个文件):

    $ sudo mv ./cacerts ./cacertsbkup
    $ ls
    blacklist blacklisted.certs cacertsbkup java.policy java.security local_policy.jar trusted.librariesUS_export_policy.jar
    
  11. 从提取的的 JDK 下载中复制新的 cacerts 文件到 安全 目录中:

    $ cd /home/pi/Downloads/jdk1.8.0_191/jre/lib/security
    $ ls
    blacklist blacklisted.certs cacerts cacertsbkup java.policy java.security jartrusted.libraries
    $ sudo cp ./cacerts /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/security//jre/lib/security/
    $ cd /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/security/
    $ ls
    blacklist blacklisted.certs cacerts cacertsbkup java.policy java.security local_policy.jartrusted.libraries US_export_policy.jar
    

    在执行命令后,您应该看到相似的结果。 复制新的 cacerts

  12. 重新启动树莓派

    sudo reboot
    
  13. 注册树莓派时重复这些步骤。

在 MindConnect IoT Extension 更改测量间隔 (可选)

注册后,树莓派可以发送测量数据到 MindConnect IoT Extension。当数据有重大改变或者每经过三分钟,更新将会触发。您可以在 MindConnect IoT Extension 中更改测量间隔,请按以下步骤:

  1. 打开 "设备 > 所有设备" 并从列表中选择树莓派设备。
  2. 选择"信息"选项卡。
  3. 在 "设备状态" 面板单击"所需间隔"的编辑按钮。
  4. 输入想要的间隔并保存更改。

    更改测量间隔

从连接的 Tinkerforge 传感器中读取数据

安装 Tinkerforge 软件

  1. 安装 Brick Daemon 软件到树莓派:

    sudo apt-get install libusb-1.0-0 libudev0 pm-utils
    wget http://download.tinkerforge.com/tools/brickd/linux/brickd_linux_latest_armhf.deb
    sudo dpkg –i brickd_linux_latest_armhf.deb
    

    如果需要,请按 Y 键。

    点击这里查看安装过程的截图

    下载 Brick Daemon 1

    下载 Brick Daemon 2

    下载 Brick Daemon 3

  2. 安装 Brick Viewer 软件到树莓派。

    sudo apt-get install python-qt4 python-qt4-gl python-opengl python-serial python
    wget http://download.tinkerforge.com/tools/brickv/linux/brickv_linux_latest.deb
    sudo dpkg –i brickv_linux_latest.deb
    

    如果被问及是否继续,请按 Y 键。

    "点击这里查看安装过程的截图

    下载 Brick Viewer 1

    下载 Brick Viewer 2

    下载 Brick Viewer 3

树莓派的的 Tinkerforge

更多有关如何使用树莓派的 Bricks 和 Bricklets 信息, 请参考Tinkerforge

测试 Tinkerforge 安装

  1. 连接 Tinkerforge 传感器到树莓派:

    • 通过 USB 连接 Master Brick 到树莓派。
    • 将气压表、温度计和运动检测器 Bricklets 连接到 Master Brick 一侧的端口。

    连接概述

  2. 启动 Brick Viewer:

    bash brickv
    
  3. 点击 连接

    连接 Brick Viewer

  4. 触发一些测量的更改,例如通过在运动检测器 Bricklet 上移动一个物体或将温度传感器 Bricklet 握在手中。

    Master Brick 数据 Barometer 数据 温度计数据 运动检测器数据

测试 MindConnect IoT Extension 中传感器的连接

  1. 打开 设备 > 所有设备 并选择树莓派设备。
  2. 打开 **子设备**选项卡。 Tinkerforge Bricklets 以子设备形式列出:

    • TFBarometerBricklet
    • TFMotionBricklet
    • TFTemperatureBricklet

    子设备

    检修传感器设备

    如果 FBarometerBrickletTFMotionBrickletTFTemperatureBricklet 没有被列出,请执行以下步骤:

    • 测试是否所有 Bricklets 被正确地连接到Master Brick
    • 重新启动树莓派
    • 打开一个终端并执行:
      bash brickv
    • 打开第二个终端并执行以下命令:
      sudo service cumulocity-agent stop
      sudo service cumulocity-agent start
      sudo service cumulocity-agent status
  3. 有关传感器的详细信息,请点击列表中的传感器,例如 TFBarometerBricklet气压计传感器信息

    • 为检查从气压计或温度计 Bricklet 收到的数据, 请切换到 测量 选项卡。 气压计测量

    • 为查看从运动检测器收到的事件,例如 Motion detected/Motion ended,请切换到 事件 选项卡。 运动检测器测量

通过 Data Explorer 可视化传感器数据

本部分演示了如何将数据从 Device Management 转发到 MindConnect IoT Extension 中的 Data Explorer。Data Explorer 可视化来自连接设备的数据。

在 MindConnect IoT Extension 中发现 Data Explorer

  1. 打开 MindConnect IoT Extension 的 Cockpitcockpit

  2. 选择 Data explorer 以可视化数据点。
    Data Explorer 默认显示选中设备或组的前五个数据点。这些数据点被列在**数据点**面板中。

  3. 添加新的数据点到 Data Explorer, 通过点击面板**数据点**中的**添加数据点**。

    • 寻找设备,例如RaspPi
    • 选择并添加气压计和温度计 Bricklet 中的数据点。

    添加数据点

  4. 启用面板**数据点**中的气压计和温度计 Bricklet 的数据点以可视化图表中的测量。

    选择数据点

  5. 为获取运动检测器 Bricklet中的信息,通过点击面板**警告/事件**中的**添加警告/事件**添加事件跟踪。

    • 寻找设备,例如RaspPi
    • 添加运动检测器 Bricklet 中的事件。

      添加事件

  6. 从树莓派中选择数据点,查看可视化图表。

    可视化

数据点可视化

可视化基于数据点性质生成。为调整一个数据点的可视化性质,在Data Explorer的面板**Data points**中展开适当的数据点。

下载一份数据报告

数据点的测量报告可以以 Excel 或 CSV 格式下载。

  1. 在 Data Explorer 顶部点击**更多...**。

  2. 选择**以 Excel 形式下载**并等待报告生成。

  3. 点击**下载**。 mciot 数据 报告

  4. 在 Excel 中打开报告。 报告

创建 Smart Rule

MindConnect IoT Extension Cockpit 包含一份 Smart Rules 生成器,该生成器允许您创建模板的规则。

  1. 打开 配置 > 全局 Smart Rule 以显示一份所有可用的 Smart Rule 模板的概述。 全局 Smart Rule

  2. 选择一份 Smart Rule 模板, 例如**测量数据丢失时发出警报**。

  3. 点击**添加 Smart Rule**。
  4. 填写所需的参数:
    smart rule 1 smart rule 2
  5. 检查创建的Smart Rule。 smart rule 信息
  6. 验证 Smart Rule 的执行。
    • 打开 Device Management。
    • 选择所创建 Smart rule 的目标设备,并检查新的警报通知。

说明

或者,您可以使用面板 Data points 中的数据点的操作菜单直接从 Data Explorer 中创建一个 Smart rule。

相关链接


Last update: March 22, 2023