项目简介
本项目是基于物联网的环境监测系统,借助MQTT协议和RIOT操作系统达成环境传感器数据的收集与发布。项目覆盖从模拟数据生成到真实传感器数据采集的完整流程,利用Thingsboard云平台进行数据可视化。项目包含Node.js客户端模拟、RIOT OS设备通信、LoRaWAN传感器节点实现以及基于HTML5的加速度计数据采集与处理四个主要部分。
项目的主要特性和功能
- 基于Node.js的模拟客户端:用Node.js编写两个模拟设备(Device1和Device2),生成随机环境数据(如温度、湿度等),并通过MQTT协议将数据发送到Thingsboard云平台,在Web仪表板实时展示。
- 基于RIOT OS的MQTT - SN客户端:使用RIOT操作系统开发多个MQTT - SN客户端,模拟和真实设备可通过PAHO透明网关与MOSQUITTO代理通信,支持在IoT - Lab测试平台运行,能从真实硬件传感器获取数据并发送到Thingsboard。
- LoRaWAN传感器节点:实现基于LoRaWAN协议的传感器节点,可生成随机数据或从真实传感器获取数据,数据通过LoRaMAC协议发送到TheThingsNetwork,再经Thingsboard进行数据可视化。
- 基于HTML5的加速度计数据采集:开发Web应用,通过Generic Sensors API访问用户加速度计数据,数据在Thingsboard进行云端处理,在Web页面展示活动识别算法结果。
安装使用步骤
环境准备
确保已安装Node.js、RIOT OS、MOSQUITTO代理和Thingsboard平台,复制本项目到本地。
运行Node.js模拟客户端
- 进入项目根目录,找到
Device1.js
和Device2.js
。 - 修改文件中的MQTT配置(如Thingsboard的访问令牌)。
- 运行以下命令启动设备:
bash node Device1.js node Device2.js
配置和运行RIOT OS设备
- 进入
Devices/RIOT_OS_Client_1
和Devices/RIOT_OS_Client_2
目录。 - 修改
main.c
文件中的MQTT - SN配置。 - 使用RIOT OS的编译工具链编译并烧录到目标设备。
- 启动PAHO透明网关,确保设备能够通过MQTT - SN与MOSQUITTO代理通信。
配置LoRaWAN设备
- 进入
Devices/LoRaWAN_Nodes
和Devices/LoRaWAN_Sensors
目录。 - 修改
main.c
文件中的LoRaWAN配置。 - 使用RIOT OS的编译工具链编译并烧录到LoRaWAN设备。
- 在TheThingsNetwork中注册设备,并配置Thingsboard集成。
运行加速度计Web应用
- 进入
Accelerometer
目录,打开index.html
文件。 - 在浏览器中运行该文件,允许访问加速度计传感器。
- 数据将自动发送到Thingsboard,并在Web页面中展示。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】