项目简介
本项目是一个基于Azure IoT Plug and Play的EnOcean多传感器连接系统示例代码及说明文档。实现了EnOcean能量采集多传感器与Azure IoT Central的连接,支持温度、湿度、加速度、照度、开关等数据的采集和传输。示例代码适用于PC Linux (Ubuntu 18.04) 和Raspberry pi,同时提供模拟器程序,可在不使用传感器和网关的情况下进行IoT Central和IoT Plug and Play的操作验证。
项目的主要特性和功能
- 多传感器数据采集:支持温度、湿度、加速度、照度、开关等多种传感器数据的采集。
- Azure IoT Central连接:通过网关将传感器数据传输到Azure IoT Central平台,实现数据的可视化和管理。
- 模拟器程序:提供模拟器程序,可在不使用传感器和网关的情况下进行操作验证。
- 支持多种环境:支持在Raspberry Pi系列和Ubuntu 18.04 x86_64 PC上运行。
安装使用步骤
前提条件
- 具有Internet连接的Raspberry Pi系列微控制器板或运行Ubuntu 18.04的x86_64 PC。
- 能够访问Azure IoT Central的浏览器环境(推荐Windows 10 + New Edge)。
- USB400J EnOcean USB网关或具有同等功能的设备(模拟器运行时不需要)。
- STM550J多传感器(模拟器运行时不需要)。
模拟器运行步骤
- 准备工作
- 下载并复制对应架构的模拟器二进制程序到合适的目录。
- 安装Node.js后,执行
npm i -g dps-keygen
安装dps-keygen。 - 按照「Azure IoT Central アプリケーションの作成」创建自定义应用程序。
- 生成设备密钥
- 按照「デバイス キーの生成」步骤,在Azure IoT Central中获取主密钥和ID范围。
- 执行
dps-keygen -di:enocean-001 -mk:{主密钥}
生成设备密钥,并保存设备ID、ID范围和设备密钥。
- 运行程序
在Linux shell中执行
./simulatepnp [设备ID] [ID范围] [设备密钥]
启动模拟器程序。 - 验证操作 打开Azure IoT Central应用程序的设备页面,等待一段时间后,确认设备和模板自动创建,并查看传感器数据的可视化展示。
- 结束操作 在启动的Linux Shell画面中输入「Control - C」结束模拟器程序。
真机运行步骤
- 准备工作
- 下载并复制对应架构的真机运行程序和EnOcean网关程序到合适的目录。
- 安装dps-keygen(如果之前未安装)。
- 创建或使用已有的Azure IoT Central自定义应用程序。
- 准备STM550J和USB400J(或同等设备),并将USB400J连接到运行环境的机器上。
- 使用EnOcean Dolphin View Advance工具进行确认。
- 生成设备密钥 同模拟器运行步骤。
- 传感器注册
在运行环境中以管理员权限执行
sudo ./dpride -c -r
启动EnOcean网关程序的「传感器注册模式」。 按下多传感器的「LEARN按钮」完成设备注册。 输入「Control - C」结束网关程序。 - 运行程序
先执行
./dpride -o
启动EnOcean网关程序。 打开另一个Shell画面,执行./enoceanpnp [设备ID] [ID范围] [设备密钥]
启动Plug and Play执行程序。 - 验证操作 同模拟器运行步骤,可几乎实时确认加速度传感器和开关传感器的数据。
- 结束操作 在dpride和enoceanpnp程序的启动画面中输入「Control - C」结束程序。
开发步骤
- 准备必要的软件:在Windows上使用VS Code。
- 开发流程
- 按照「チュートリアル:デバイス機能モデルを使用して IoT プラグ アンド プレイ (プレビュー) デバイスを作成し、IoT Central アプリケーションに接続する」在Windows上使用VS Code生成IoT PnP代码。
- 在目标Linux环境上进行代码的修正和构建。
详细的开发步骤和注意事项请参考IoT PnP デバイス・ファームウェア 開発手順。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】