集成树莓派传感器数据 - 通过 MindConnect IoT Extension¶
本指南向您介绍了从树莓派到 MindConnect IoT Extension 传感器数据集成的基本概念,并通过使用 Data Explorer 演示了测量的可视化。Tinkerforge 传感器将被连接到树莓派上。传感器的测量值被传输到 MindConnect IoT Extension,用于进一步的数据收集和分析活动。您还可以扩展这种集成,以在 MindSphere 中创建更多的 aspects 和 assets,实时同步数据,并通过 Data Explorer 可视化和分析度量。
通用信息
持续时间: 60分钟
使用该 MindSphere 版本测试: 发布说明 19th December 2018。
先决条件¶
-
一个有 SD 卡的树莓派 3 模型B。
-
所有以下的 Tinkerforge 产品:
-
MindConnect IoT Extension Service 必须使用 MindConnect IoT Extension 激活。为激活此服务,请联系为您分配的 Account Executive 或 Account Executive 或支援者。
-
必须为您的用户分配以下角色
mdsp:core:TenantAdmin
, 分配在 Settings。mdsp:core:mcie.user
, 分配在 Settings。Devicemanagement User
, 分配在 MindConnect IoT Extension。
受支持的 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 版本。
- 准备树莓派:将显示器、键盘、鼠标、网线和 wifi适配器连接到设备。请先不要将树莓派连接到电源。
- 使用 NOOBS(新出的 Box Software)安装 Raspbian。详细信息请参考入门指南并遵循安装指导。
在安装之后,树莓派将启动到图形化桌面。 - 通过选择地方化参数(国家、语言和时区)来完成设置。创建一个新密码并建立网络连接。
- 检查软件升级,安装升级并重启树莓派。
-
通过**接口技术选项**启动 SPI 和 SSH 驱动程序:
- 打开终端并执行:sudo raspi-config
- 使用 arrow keys 导航到Interfacing Options
并按下回车键:
- 转到**SPI**, 按下回车键并在当询问您是否想要启动接口时点击**是**。在**SSH**中重复这个过程。
- 重新启动树莓派。 -
可选: 在安装之后通过以下内容编辑地方化设置:
sudo raspi-config
选择**本地化选项**,更改设置并点击**完成**。然后重新启动树莓派。
或者,使用树莓派菜单启动器: 偏好 / 树莓派配置 / 本地化 / 设置区域 / 确定。
树莓派
这类说明的更多详细内容,请参考树莓派入门指南。
检查 Java 版本¶
-
打开终端并执行:
java -version
-
验证至少 Java SE 版本7已经安装到树莓派上。
确定树莓派序列号¶
-
执行:
cat /proc/cpuinfo
-
记录序列号(这里是: 00000000fbdf4131)。
连接树莓派到 MindConnect IoT Extension¶
安装 Cumulocity 代理¶
为了连接到 MindConnect IoT Extension,您必须在树莓派上安装 Cumulocity 代理。
说明
在公司内网,您也许需要通过访客 Wi-Fi 或者移动电话 Wi-Fi 热点访问因特网。否则,防火墙将阻拦下载。
-
打开树莓派上的终端并下载代理通过执行:
wget http://resources.cumulocity.com/examples/cumulocity-rpi-agent-latest.deb
-
安装已下载的代理通过执行:
sudo dpkg -i cumulocity-rpi-agent-latest.deb
在 MindConnect IoT Extension 上注册树莓派¶
-
打开 MindConnect IoT Extension(
https://{tenant}.mciotextension.eu-central.mindsphere.io
)并使用您的凭证进行登陆。
如果您对登陆有任何问题,请联系租户管理员为您提供凭证。 -
打开 设备 > 注册**并点击 **注册设备。
-
选择 一般设备注册。
-
在**设备信息**选项卡的**设备 ID**项中,输入树莓派序列号并点击**下一步**。
您不必添加您的树莓派到现有的设备组。这是一个在 MindConnect IoT Extension 中结构设备概述的舒适性功能。
-
设备以**等待接受**状态成功注册。点击**完成**。
连接代理到 MindConnect IoT Extension¶
目前树莓派已经在 MindConnect IoT Extension 中注册但还没有连接。在**设备注册**选项卡中会显示**等待连接**状态。
添加主机 URL 到配置文件以连接树莓派:
-
打开终端并打开 "cumulocity.properties" 文件以进行编辑。
sudo nano /usr/share/cumulocity-rpi-agent/cfg/cumulocity.properties
-
使用 arrow keys 在文件中导航,并添加一行带有租户 MindConnect IoT Extension 主机 URL 的代码。不要进行更多的修改。
host = http://{tenant}.mciotextension.eu-central.mindsphere.io
说明
确保这行代码没有被
#
注释掉。
主机 URL 必须以http://
开头,而不是https://
。否则,设备不能进行连接。
**仅**在cumulocity.properties
中添加主机名称并且将凭证(租户、用户、密码)注释掉。 -
按下
<CTRL+X>
键来退出并按下Y
键来保存更改。 -
重新启动树莓派。
sudo reboot
-
打开 MindConnect IoT Extension (
https://{tenant}.mciotextension.eu-central.mindsphere.io
)并打开 设备 > 注册。新的设备状态为**等待接受**,并且**接受**按键会显示。 -
点击 接受.
-
打开 设备 > 所有设备 以验证注册。最新的可连接树莓派的设备已列出。
设备
如果您仍然不能在列表中找到已注册的设备,请执行下一部分中的替代方法。
应用针对注册/连接问题的替代方法¶
如果您的树莓派已经在**所有设备**中列出,请跳过这一部分。
修补已安装的 JDK 以修复树莓派子在 MindConnect IoT Extension 中不出现问题:
-
从Oracle中下载针对 Java 8 最新的 JDK,例如
JDK 8u200
、Linux ARM 32 Hard Float ABI
。 -
从下载的 JDK 文档中提取文件。
- 在树莓派上打开终端。
-
停止Cumulocity 服务。
sudo service cumulocity-agent stop
-
删除
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
-
验证
device.properties
文件已经删除:$ ls cumulocity.properties cumulocity.properties.template logback-debug.xml logback.xml
-
检查
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
-
如果
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
-
保存、关闭文件并重新启动树莓派
sudo reboot
-
-
导航到 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
-
移动
cacerts
文件到另一个目录(或者重命名这个文件):$ sudo mv ./cacerts ./cacertsbkup $ ls blacklist blacklisted.certs cacertsbkup java.policy java.security local_policy.jar trusted.librariesUS_export_policy.jar
-
从提取的的 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
在执行命令后,您应该看到相似的结果。
-
重新启动树莓派
sudo reboot
-
注册树莓派时重复这些步骤。
在 MindConnect IoT Extension 更改测量间隔 (可选)¶
注册后,树莓派可以发送测量数据到 MindConnect IoT Extension。当数据有重大改变或者每经过三分钟,更新将会触发。您可以在 MindConnect IoT Extension 中更改测量间隔,请按以下步骤:
- 打开 "设备 > 所有设备" 并从列表中选择树莓派设备。
- 选择"信息"选项卡。
- 在 "设备状态" 面板单击"所需间隔"的编辑按钮。
-
输入想要的间隔并保存更改。
从连接的 Tinkerforge 传感器中读取数据¶
安装 Tinkerforge 软件¶
-
安装 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 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
键。"点击这里查看安装过程的截图
树莓派的的 Tinkerforge
更多有关如何使用树莓派的 Bricks 和 Bricklets 信息, 请参考Tinkerforge。
测试 Tinkerforge 安装¶
-
连接 Tinkerforge 传感器到树莓派:
- 通过 USB 连接 Master Brick 到树莓派。
- 将气压表、温度计和运动检测器 Bricklets 连接到 Master Brick 一侧的端口。
-
启动 Brick Viewer:
bash brickv
-
点击 连接。
-
触发一些测量的更改,例如通过在运动检测器 Bricklet 上移动一个物体或将温度传感器 Bricklet 握在手中。
测试 MindConnect IoT Extension 中传感器的连接¶
- 打开 设备 > 所有设备 并选择树莓派设备。
-
打开 **子设备**选项卡。 Tinkerforge Bricklets 以子设备形式列出:
TFBarometerBricklet
TFMotionBricklet
TFTemperatureBricklet
检修传感器设备
如果
FBarometerBricklet
、TFMotionBricklet
和TFTemperatureBricklet
没有被列出,请执行以下步骤:- 测试是否所有 Bricklets 被正确地连接到Master Brick
- 重新启动树莓派
- 打开一个终端并执行:
bash brickv
- 打开第二个终端并执行以下命令:
sudo service cumulocity-agent stop
sudo service cumulocity-agent start
sudo service cumulocity-agent status
-
有关传感器的详细信息,请点击列表中的传感器,例如
TFBarometerBricklet
。-
为检查从气压计或温度计 Bricklet 收到的数据, 请切换到 测量 选项卡。
-
为查看从运动检测器收到的事件,例如
Motion detected
/Motion ended
,请切换到 事件 选项卡。
-
通过 Data Explorer 可视化传感器数据¶
本部分演示了如何将数据从 Device Management 转发到 MindConnect IoT Extension 中的 Data Explorer。Data Explorer 可视化来自连接设备的数据。
在 MindConnect IoT Extension 中发现 Data Explorer¶
-
打开 MindConnect IoT Extension 的 Cockpit。
-
选择 Data explorer 以可视化数据点。
Data Explorer 默认显示选中设备或组的前五个数据点。这些数据点被列在**数据点**面板中。 -
添加新的数据点到 Data Explorer, 通过点击面板**数据点**中的**添加数据点**。
- 寻找设备,例如
RaspPi
。 - 选择并添加气压计和温度计 Bricklet 中的数据点。
- 寻找设备,例如
-
启用面板**数据点**中的气压计和温度计 Bricklet 的数据点以可视化图表中的测量。
-
为获取运动检测器 Bricklet中的信息,通过点击面板**警告/事件**中的**添加警告/事件**添加事件跟踪。
- 寻找设备,例如
RaspPi
。 -
添加运动检测器 Bricklet 中的事件。
- 寻找设备,例如
-
从树莓派中选择数据点,查看可视化图表。
数据点可视化
可视化基于数据点性质生成。为调整一个数据点的可视化性质,在Data Explorer的面板**Data points**中展开适当的数据点。
下载一份数据报告¶
数据点的测量报告可以以 Excel 或 CSV 格式下载。
-
在 Data Explorer 顶部点击**更多...**。
-
选择**以 Excel 形式下载**并等待报告生成。
-
点击**下载**。
-
在 Excel 中打开报告。
创建 Smart Rule¶
MindConnect IoT Extension Cockpit 包含一份 Smart Rules 生成器,该生成器允许您创建模板的规则。
-
打开 配置 > 全局 Smart Rule 以显示一份所有可用的 Smart Rule 模板的概述。
-
选择一份 Smart Rule 模板, 例如**测量数据丢失时发出警报**。
- 点击**添加 Smart Rule**。
- 填写所需的参数:
- 检查创建的Smart Rule。
- 验证 Smart Rule 的执行。
- 打开 Device Management。
- 选择所创建 Smart rule 的目标设备,并检查新的警报通知。
说明
或者,您可以使用面板 Data points 中的数据点的操作菜单直接从 Data Explorer 中创建一个 Smart rule。
相关链接¶
- MindSphere 通用信息
- MindConnect 产品
- MindConnect IoT Extension
- MindConnect IoT Extension 文档
- MindConnect IoT Extension 入门指南