将Edgex网关接入Thingsboard物联网平台
将Edgex网关接入Thingsboard物联网平台
[toc]
系统环境准备
Thingsboard物联网平台
平台概述
在众多的开源物联网平台项目中,Thingsboard在体系架构先进性、功能完整性、文档完备性方面,应是首屈一指。
物联网平台ThingsBoard,作为大屏开发工具,只要拖拉一些内置控件或直接定制开发控件的方式,可快速提供较好的可视化效果。
更多详细参考官网
安装概述
1.参见官方文档
https://thingsboard.io/docs/user-guide/install/cluster/docker-compose-setup/
2.推荐参考
语雀文档 基于docker-compose部署步骤
https://www.yuque.com/qingchuntian/tfod6d/ktkxg2
Edgex foundry开源边缘计算物联网软件框架
Edgex foundry是一个Linux 基金会运营的开源边缘计算物联网软件框架项目,该项目的核心是基于与硬件和操作系统完全无关的参考软件平台建立的互操作框架,使能即插即用的组件生态系统,统一市场,加速物联网方案的部署。EdgeX Foundry 使有意参与的各方在开放与互操作的物联网方案中自由协作,无论他们是使用公开标准或私有方案。
安装文档参考官网,推荐docker方式。
https://cn.edgexfoundry.org/
建议安装版本不带token ,方便后面调试开发,如:yml文件带'no-secty.'关键字
curl https://raw.githubusercontent.com/edgexfoundry/edgex-compose/ireland/docker-compose-no-secty.yml -o docker-compose.yml; docker-compose up -d
将Edgex网关接入Thingsboard物联网平台的关键组件
LF Edge eKuiper - 超轻量物联网边缘数据分析软件
eKuiper安装确认
LF Edge eKuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。eKuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(比如 Apache Spark (opens new window),Apache Storm (opens new window)和 Apache Flink (opens new window)等)迁移到边缘端。eKuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于源 (Source)
,SQL (业务逻辑处理)
, 目标 (Sink)
的规则引擎来实现边缘端的流式数据处理。
该软件在安装Edgex foundry时候已经默认安装到docker里面
推荐看中文文档
https://docs.emqx.cn/kuiper/latest/
推荐安装eKuiper 管理控制台
从 eKuiper 0.9.1 版本开始,每发布一个 eKuiper 新版本,会随之发布对应版本的管理控制台。本文以一个实际例子来说明如何使用管理控制台对 eKuiper 节点进行操作与管理。有这个工具方便写eKuiper 处理规则,具备交互界面
1.使用docker安装需指定软件版本号,安装文档里面可能不是最新的版本,没有规则编辑界面的
2.安装说明
https://docs.emqx.cn/kuiper/latest/manager-ui/overview.html#%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1
docker run --name kuiperManager --network=home_edgex-network -d -p 9082:9082 emqx/kuiper-manager:1.2.1
- UI 端:可视化的界面,便于用户操作
- Kuiper-manager:管理控制台,本质是一个反向 HTTP 代理服务,提供用户管理,权限验证等服务。既可以部署在云端,也可以部署在边缘端
- eKuiper 实例,被管理的 eKuiper 节点实例,Kuiper-manager 可以同时管理多个 eKuiper 节点
登录 kuiper-manager
登录时需要提供 kuiper-manager 的地址,用户名、密码。如下图所示:
地址:
http://$yourhost:9082
用户名:admin
密码:public
使用该工具,直接管理现有docker内部的eKuiper 节点,端口是 59720 ;非官网教程那个端口
将 Edgex 设备数据上报关键步骤
主要参考文档
https://docs.edgexfoundry.org/2.2/examples/Ch-CommandingDeviceThroughRulesEngine/
核心思路:使用规则引擎eKuiper,基于Thingsboard物联网平台网关方式,使用规则引擎的数据格式模板生成平台所需格式json数据,采用mqtt接口把数据发送到Thingsboard物联网平台。
本文档不会涵盖 EdgeX 或 LF Edge eKuiper 的基本操作。读者应具备以下基本知识:
- 获取并启动 EdgeX。有关如何使用虚拟设备服务获取和启动 EdgeX,请参阅快速入门。
- 运行 eKuiper 规则引擎。请参阅EdgeX eKuiper 规则引擎教程以了解 eKuiper 和 EdgeX 的基础知识。
主要步骤
- Thingsboard平台创建网关设备,接收 EdgeX 端发送过来数据,并明确mqtt端口默认1883,同时复制网关token备用。
- 启动 eKuiper 并创建 EdgeX 流,在规则引擎中建立mqtt转发规则。
- 创建规则,使用模版生成Thingsboard平台所需格式json数据,并发送对应mqtt接口。
Thingsboard平台建立网关
创建 EdgeX 流并建立规则
创建 EdgeX 流并建立规则3种方式
1.通过命令方式,参考https://docs.edgexfoundry.org/2.2/examples/Ch-CommandingDeviceThroughRulesEngine/
2.通过Edgex foundry UI管理界面,通过交互界面的方式,建立EdgeX 流和规则,可查询规则状态等信息。但目前支撑简单规则,不支持数据模板规则。
3.在笔者实践中,通过eKuiper 管理控制台最新版本,可实现 eKuiper 规则引擎全面管理。
为方便大家阅读,下面以界面操作方式介绍
登录eKuiper 管理控制台
http://localhost:9082/
添加docker内的 eKuiper 规则引擎
链接成功后,建立流demo,选择流类型为edgex
建立规则,发送物联网平台
- 新建规则,id名称不能重复,sql规则按照业务需求取出监测指标和设备名称
更多sql参考
https://docs.emqx.cn/kuiper/latest/sqls/streams.html
关键说明:如何使用 meta 函数抽取在 EdgeX 消息总线中发送的其它信息?
SELECT Temperature,meta(DeviceName) AS DeviceName,tstamp() as tm FROM demo
动作可以有多个及多种类型,下图是动作发送物联网平台参数配置
1、第一个参数:物联网平台mqtt地址及端口
2、第二个参数: 默认物联网平台mqtt主题,不能改。 主题:v1/gateway/telemetry
3、第三个参数:物联网平台前面建立的网关设备的token
4、数据转换模板,需要参考说明 eKuiper 中使用 Golang 模版 (template) 定制分析结果
{"{{.DeviceName}}":[{"ts":{{.tm}}, "values": {"temperature": {{.Temperature}}}}]}
物联网遥测上传API参考说明
物联网MQTT 网关 API 参考
为了将设备遥测发布到 ThingsBoard 服务器节点,请将 PUBLISH 消息发送到以下主题:
Topic: v1/gateway/telemetry
信息:
{"Device A": [{"ts": 1483228800000,"values": {"temperature": 42,"humidity": 80}},{"ts": 1483228801000,"values": {"temperature": 43,"humidity": 82}}],"Device B": [{"ts": 1483228800000,"values": {"temperature": 42,"humidity": 80}}]
}
其中设备 A和设备 B是您的设备名称,温度和湿度是遥测键,ts是以毫秒为单位的 unix 时间戳。
来源 | 知识星球 | 物联网低代码平台的价值
诚邀你共建星球,畅融,共进,同享! 分享数据分析,快速可视化内容; 践行物联网低代码平台多场景应用, 分享开源项目Thingsboard的知识。<免费>
声明:如转载,请注明本文链接,谢谢合作。
本文由博客一文多发平台 OpenWrite 发布!
将Edgex网关接入Thingsboard物联网平台相关推荐
- MCU接入阿里物联网平台遇到的各种坑
使用阿里物联网sdk3.2.0 1.cJson相关坑,修改了cJSON_malloc和cJSON_free的指向以后,忘记修改realloc的指向了,结果csjon创建字符串的时候调用了系统的real ...
- 最佳实践 · 有人4G DTU接入 MODBUS 物联网平台
4G DTU是一种广泛用于工业物联网数据传输的终端设备,各类传感器串口原始数据通过RS485/232传输到DTU转4G网络,双向透明传输,支持Modbus RTU转TCP/MQTT.广泛应用于远程电力 ...
- 最佳实践 · 卓岚串口服务器接入 MODBUS 物联网平台
串口服务器是为RS-232/RS-485/RS-422终端到TCP/IP之间完成数据转换的通讯接口协议转换器.提供RS-232终端与TCP/IP网络的数据双向透明传输,提供串口转TCP/IP功能,RS ...
- Esp8266(NodeMcu)接入新大陆物联网平台并且上传温湿度
Esp8266[NodeMcu]接入新大陆物联网 1.平台注册和产品创建 2.代码协议部分2.1 连接请求协议:2.2 数据上报部分协议 3.完整代码部分 3.1 效果图: 使用Esp8266接入新大 ...
- 小米 ZigBee 设备接入 ThingsCloud 物联网平台实战
智能家居场景中,我们通过架设自己的 Zigbee 网关,可以将米家的 Zigbee 设备轻松接入 ThingsCloud.借助 ThingsCloud 平台的内置应用和开放性,我们可以在很多行业项目和 ...
- ESP8266 接入阿里物联网平台实现远程控制LED
上一篇我们介绍了阿里物联网平台的使用,并使用MQTT.fx软件来模拟实际的硬件设备.这一篇来实际操作如何使用esp8266接入到阿里物联网平台中,并控制一个LED灯.阿里物联网平台实际上是一个一站式的 ...
- thingsboard物联网平台编译安装一步到位
物联网平台thingsboard编译一步到位 物联网平台thingsboard编译一步到位 1.thingsboard简介 2.clone项目 3.前置准备 3.1 安装JDK11 3.2 安装Nod ...
- 【物联网 · 嵌入式】使用 ESP8266 接入 Blinker 物联网平台
一.介绍 Blinker 是一个简单易用的物联网平台,只需要几行代码,就可以开发出物联网应用. 这里我们使用 NodeMCU(一种基于esp8266的开发板)接入Blinker平台. NodeMCU ...
- Thingsboard 物联网平台 CoAP 协议介绍
可复制:121202538 中文社区:http://thingsboard.org.cn TB的MQTT设备协议 TB官网: https://thingsboard.io/ TB GitHub: ht ...
最新文章
- NDK/JNI demo ( 五 ) ORB_SLAM2在Android上的移植过程
- 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
- java学习笔记-4.7
- centos 6.5手动同步ntp时钟_如何安装和配置 Chrony 作为 NTP 客户端? | Linux 中国
- 抖音推荐机制与算法探讨
- 图像检索中BOW和LSH的一点理解
- 【算法】剑指 Offer 50. 第一个只出现一次的字符
- 云服务器部署项目:vue-cli 部署服务配置
- 【学习】——提问的智慧
- 用友u8反记账反结账如何处理
- G729调用方法及使用wavlib播放出现颤音的解决方法
- python软件工程师简历范文_嵌入式软件工程师完整简历范文
- centos7救援模式--rescue模式
- 数据库delete不释放空间处理方法
- 【科学文献计量】中英文文献标题及摘要分词字数与频数统计与可视化
- 区块链毕设开题技术路线
- 巴比特国际站观察 | 海外新晋“网红”亮相,数字人民币引密码社区热议
- mkv文件怎么无损转成mp4?
- echarts tree默认展开_Echarts树形图展开和收缩
- IDEA中出现乱码的处理