基于 IoT+TSDB+Quick BI 云产品架构的楼宇环境监控实战——实践类

今天给大家带来基于阿里云 IoT 物联网平台 + TSDB 时序时空数据库 + Quick BI 报表三大云产品组合实现楼宇环境监控端到端开发实战。


少啰嗦,先看效果。


部署后效果


   0.技术架构   


本次 IoT 物联网开发实战我们在室内部署 4 个温湿度传感器,实时采集数据,每10秒发送到阿里云 IoT 物联网平台,通过规则引擎写入 TSDB时序数据库。在Quick BI 工作台,创建数据报表以分钟维度展示室内温湿度变化曲线。

技术架构如下:



   1.物联网平台开发   


1.1.免费开通阿里云 IoT物联网云服务

https://www.aliyun.com/product/iot-deviceconnect/>

1.2.创建产品室内温湿度计器,选择自定义品类,直连设备,定义物模型,包含2个属性温度,湿度:

1.3.注册设备,获取身份三元组。

1.4.配置规则引擎,实时流转数据到 TSDB中

1.5.完成设备端开发,实时上报温湿度数据。

我们以Node.js脚本来模拟设备上报,代码如下:

// 依赖mqtt库
const mqtt = require('aliyun-iot-mqtt');
// 设备身份
var options = {
    productKey: "device productKey",
    deviceName: "device deviceName",
    deviceSecret: "device deviceSecret",
    regionId: "cn-shanghai"
};

// 建立连接
const client = mqtt.getAliyunIotMqttClient(options);

//模拟 设备 上报数据(原始报文)
setInterval(function() {
    client.publish(
        `/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`
        , getPostData()
        );

}, 10 * 1000);

// 模拟 温湿度
function getPostData() {

    const payload = {
        id: Date.now(),
        version:"1.0",
        params: {
            temperature: 10+Math.floor(Math.random() * Math.floor(50)),
            humidity: 10+Math.floor(Math.random() * Math.floor(50))
        },
        method: "thing.event.property.post"
    }

    console.log("payload=[ " + payload + " ]")
    return JSON.stringify(payload);
}

   2.TSDB数据库   


2.1.创建时序数据库,并开通公网 TSQL 连接串



2.2.IoT设备数据写入TSDB的记录


  3.Quick BI   


3.1.开通Quick BI服务,添加数据源,输入TSDB连接参数。


数据源添加成功


3.2.基于数据源的温度和湿度指标,创建数据集。



3.3.创建数据仪表板,并根据业务需求编辑图表。



3.4.发布仪表板。



3.5.在浏览器中查看楼宇环境监控报表。


【往期回顾】
1、39张IoT传感器工作原理GIF图汇总
2、IoT 设备发送 MQTT 请求的曲折经历
3、20元体 Arduino 环境监测仪开发
4、智能手持测温枪开发实践
5、JMeter 压测 MQTT 服务性能实战


物联网平台产品介绍详情:物联网平台_设备接入_设备管理_监控运维_数据分析-阿里云
 
阿里云物联网平台客户交流群

对不起,我无法提供具体的基于阿里云物联网平台的单片机代码示例,因为这通常涉及底层硬件操作和私有服务集成,这些内容通常是企业级项目的专有信息,并不适合公开分享。不过我可以给你大致讲解一个概念性的框架。 一个简单的基于物联网设备(如Arduino或ESP8266等单片机)配合阿里云IoT平台的环境监测系统,一般会包括以下几个步骤: 1. **硬件连接**:将传感器模块(例如温湿度传感器、光照传感器等)连接到单片机,通过WiFi模块与端通信。 2. **数据采集**:编写单片机程序读取传感器的数据并处理,形成适合上传的数据结构。 3. **数据传输**:利用Wi-Fi或蓝牙连接,通过MQTT协议将数据发送到阿里云IoT的设备管理平台。 4. **端部署**:在阿里云上创建设备和订阅主题,配置好规则来接收来自单片机的数据。 5. **端处理**:在端,数据会被存储并分析,可能还会触发警报或其他自动化功能。 ```c //简化示例 #include <WiFi.h> #include "AliyunIoTDevice.h" void setup() { // 硬件初始化 WiFi.begin("your_wifi", "your_password"); DeviceClient deviceClient; if (!deviceClient.connect("your_device_name", "your_product_key", "your_device_secret")) { Serial.println("Error connecting to IoT platform"); } } void loop() { float temperature = readTemperature(); // 模拟从传感器获取温度 float humidity = readHumidity(); // 模拟从传感器获取湿度 Data data; data.temperature = temperature; data.humidity = humidity; if (deviceClient.isConnected()) { if (!deviceClient.publishEvent("environment_monitor", data)) { Serial.println("Failed to publish data"); } else { Serial.println("Data sent successfully"); } } } // ...其他部分的函数定义,比如连接阿里云的API接口等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值