当前位置:网站首页>物联网基础知识学习
物联网基础知识学习
2022-08-11 05:24:00 【Three Big Stones】
1、编解码
编解码插件是供物联网平台调用,可以完成二进制格式与JSON、JSON与JSON之间的格式相互转换。
数据上报:设备上报二进制码流数据,物联网平台调用编解码插件,将数据解码为JSON数据,发送给应用服务器。
数据下发:应用服务器发送JSON数据,物联网平台调用编解码插件,将JSON数据编码为二进制码流,下发给设备。
2、设备影子
设备影子是一个JSON文件,存储设备的在线状态、最近一次上报的设备属性值、应用服务器期望下发的配置。
数据上报:设备上报数据,将更新影子设备report区的属性值
数据下发:应用服务器下发数据时,将更新影子设备desired区的属性值,若设备在线,则将期望值同步到设备;若设备不在线,则等设备在线后,在同步期望值到设备。
3、规则引擎
规则引擎是指用户可以在物联网平台上对接入平添的设备设定相应的规则,在条件满足设定的规则后,平台会触发相应的动作来满足用户需求。包括以下两种类型:
1)设备联动
设备联动指通过条件触发,基于预设的规则,引发多设备的协同反应,实现设备联动、智能控制。如温度感应器上报温度超过50度,自动发送邮件或短信,或者平台自动下达命令给设备,执行关闭动作。
2)数据转发
数据转发无缝与华为云其他服务对接,实现设备数据的存储、计算、分析的全栈服务。
创建数据转发规则时,需要编写SQL来解析和处理设备上报的JSON数据。
3)SQL语句
由SELECT子句和WHERE子句组成,设备消息上报的SQL源数据实例:
{
"resource" : "device.message",
"event" : "report",
"event_time" : "20151212T121212Z",
"notify_data" : {
"header" : {
"device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"product_id" : "ABC123456789",
"app_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"gateway_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"node_id" : "ABC123456789",
"tags" : [ {
"tag_value" : "testTagValue",
"tag_key" : "testTagName"
} ]
},
"body" : {
"topic" : "topic",
"content" : {
"temperature" : 40,
"humidity" : 24
}
}
}
}
在源数据中,body中的content是设备消息上报的数据,设置当设备上报数据中temperature大于38时触发条件,并筛选出device_id、content,不需要任何其他字段时,SQL语句示例如下:
SELECT notify_data.header.device_id AS device_id, notify_data.body.content WHERE notify_data.body.content.temperature > 38
当设备上报消息中temperature大于38度时,会触发转发,转发后的数据格式如下:
{
"device_id": "d4922d8a-6c8e-4396-852c-164aefa6638f",
"notify_data.body.content" : {
"temperature" : 40,
"humidity" : 24
}
}
边栏推荐
- Diagnostic Log and Trace——为应用程序和上下文设置日志级别的方法
- CVPR2020: Seeing Through Fog Without Seeing Fog
- CMT2380F32模块开发8-Base Timer例程
- win10 配置tensorflow(GPU) anaconda3 cuda9.0 cudnn for 9.0
- AIDL 简介以及使用
- CVPR2022——A VERSATILE MULTI-VIEW FRAMEWORK
- 安全帽识别系统-为安全生产保驾护航
- The selection points you need to know about the helmet identification system
- Maykel Studio - Django Web Application Framework + MySQL Database Fourth Training
- CMT2380F32模块开发10-高级定时器例程
猜你喜欢
随机推荐
The selection points you need to know about the helmet identification system
架构设计杂谈
梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第四次培训
第七届集美大学程序设计竞赛(个人赛)题解
LiDAR Snowfall Simulation for Robust 3D Object Detection
梅科尔工作室-Pr第二次培训笔记(基本剪辑操作和导出)
CMT2380F32模块开发10-高级定时器例程
博客目录
Androd 基本布局(其一)
微信小程序canvas画图,保存页面为海报
咕咚vs悦跑圈的竞品分析
【高德地图】易采坑合集
LiDAR Snowfall Simulation for Robust 3D Object Detection
梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第三次培训
HTTP缓存机制详解
关于mmdetection框架实用小工具说明
CMT2380F32模块开发0-总览
动画(其一)
Pay “Attention” to Adverse Weather
音乐竞品分析:酷狗、QQ音乐、网易云、酷我、汽水音乐