基于 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 服务性能实战
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云AIoT 经典基础知识 快问快答
业务数据流程 我的传感设备,IoT平台,业务服务器,App之间是什么关系? 上行数据链路: 设备以MQTT协议建立和 IoT 物联网平台的长连接,异步PUBLISH数据(Topic和Payload)到 IoT 平台 IoT 平台根据配置的规则引擎,处理数据后,流转到 数据库DB,消息队列MQ,函数计算FC 或者 通过AMQP协议流转到你的ECS服务器上 下行数据链路: ECS服务器程序调用HTTPS的Pub API,发送数据到 IoT 平台 IoT 平台通过MQTT协议,PUBLISH数据到设备端(指定Topic和Payload) FAQ 1.为什么设备无法上报数据? 您需要先定义具有发布权限的通信Topic 2.为什么设备无法接收数据? 您需要先定义具有订阅权限的通信Topic,并且设备主动subscribe此通信Topic定义Topic设备订阅Topic成功 3.设备一定要预先烧录三元组吗? 不需要,参考这个方案 https://developer.aliyun.com/article/770299 4.接入电信NB-IoT设备能对接到阿里云IoT吗? 可以,参考这个方案https...
- 下一篇
详解:Drools规则引擎探究以及在IOT的应用
作者|刘欢(流欢) 编辑|橙子君出品|阿里巴巴新零售淘系技术 前言:我上家公司是做物联网的,任职在IOT部门,业务上针对不同类型的燃气表,水表,报警器等有不同协议,其中又包含不同厂家的表和自己公司的表。针对不同的协议,如何解析不同的协议头帧,根据头帧进行不同的复杂业务处理,后来引入了Drools规则引擎,通过规则的逻辑和数据的分离以及可扩展解决问题。 目前所处为淘系技术部负责天猫奢品的业务,业务背景如下:业务包含天猫奢品频道,奢品折扣频道,天猫奢品官方直营旗舰店,魅力惠旗舰店,魅力惠APP等。基于业务场景下会员分为店铺会员,APP会员,天猫奢品行业会员等,而业务需要进行会员精细化的运营,通过不同的会员等级享受不同的权益,而相同的等级还需要做到根据偏好做到千人多权,如何根据复杂的业务需求变化更加精准的进行匹配,考虑Drools规则的逻辑数据的分离和可扩展性,接下来也会在天猫奢品的相关的会员模块中和组内成员探讨是否适合引入。下面是一些基于业务场景的总结和分享。 引入 ▐ 问题引入 天猫奢品业务方为了吸引更多的新客,和提高会员的活跃度,做了一期活动,通过购买天猫奢品频道内的任意商品就赠送特殊...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Red5直播服务器,属于Java语言的直播服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 2048小游戏-低调大师作品