关于edge:将Edgex网关接入Thingsboard物联网平台

56次阅读

共计 3251 个字符,预计需要花费 9 分钟才能阅读完成。

零碎环境筹备

Thingsboard 物联网平台

平台概述

​ 在泛滥的开源物联网平台我的项目中,Thingsboard 在体系架构先进性、性能完整性、文档齐备性方面,应是名列前茅。

​ 物联网平台 ThingsBoard,作为大屏开发工具,只有利落一些内置控件或间接定制开发控件的形式,可疾速提供较好的可视化成果。

更多具体参考官网

装置概述

1. 参见官网文档

https://thingsboard.io/docs/u…

2. 举荐参考

语雀文档 基于 docker-compose 部署步骤

https://www.yuque.com/qingchu…

Edgex foundry 开源边缘计算物联网软件框架

​ Edgex foundry 是一个 Linux 基金会经营的开源边缘计算物联网软件框架我的项目,该项目标外围是基于与硬件和操作系统齐全无关的参考软件平台建设的互操作框架,使能即插即用的组件生态系统,对立市场,减速物联网计划的部署。EdgeX Foundry 使无意参加的各方在凋谢与互操作的物联网计划中自在合作,无论他们是应用公开规范或公有计划。

装置文档参考官网,举荐 docker 形式。

https://cn.edgexfoundry.org/

倡议装置版本不带 token , 不便前面调试开发,如:yml 文件带 ’no-secty.’ 关键字

curl https://raw.githubusercontent… -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/l…

举荐装置 eKuiper 治理控制台

​ 从 eKuiper 0.9.1 版本开始,每公布一个 eKuiper 新版本,会随之公布对应版本的治理控制台。本文以一个理论例子来阐明如何应用治理控制台对 eKuiper 节点进行操作与治理。有这个工具不便写 eKuiper 解决规定,具备交互界面

1. 应用 docker 装置需指定软件版本号,装置文档外面可能不是最新的版本,没有规定编辑界面的

2. 装置阐明

https://docs.emqx.cn/kuiper/l…

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…

外围思路:应用规定引擎 eKuiper,基于 Thingsboard 物联网平台网关形式,应用规定引擎的数据格式模板生成平台所需格局 json 数据,采纳 mqtt 接口把数据发送到 Thingsboard 物联网平台。

本文档不会涵盖 EdgeX 或 LF Edge eKuiper 的基本操作。读者应具备以下基本知识:

  • 获取并启动 EdgeX。无关如何应用虚构设施服务获取和启动 EdgeX,请参阅疾速入门。
  • 运行 eKuiper 规定引擎。请参阅 EdgeX eKuiper 规定引擎教程以理解 eKuiper 和 EdgeX 的基础知识。

次要步骤

  1. Thingsboard 平台创立网关设施,接管 EdgeX 端发送过去数据,并明确 mqtt 端口默认 1883,同时复制网关 token 备用。
  2. 启动 eKuiper 并创立 EdgeX 流,在规定引擎中建设 mqtt 转发规定。
  3. 创立规定,应用 模版 生成 Thingsboard 平台所需格局 json 数据,并发送对应 mqtt 接口。

Thingsboard 平台建设网关

创立 EdgeX 流并建设规定

创立 EdgeX 流并建设规定 3 种形式

1. 通过命令形式,参考 https://docs.edgexfoundry.org…

2. 通过 Edgex foundry UI 治理界面,通过交互界面的形式,建设 EdgeX 流和规定,可查问规定状态等信息。但目前撑持简略规定,不反对数据模板规定。

3. 在笔者实际中,通过 eKuiper 治理控制台最新版本,可实现 eKuiper 规定引擎全面治理。

为不便大家浏览,上面以界面操作形式介绍

登录 eKuiper 治理控制台

http://localhost:9082/

增加 docker 内的 eKuiper 规定引擎

链接胜利后,建设流 demo,抉择流类型为 edgex

建设规定,发送物联网平台

  • 新建规定,id 名称不能反复,sql 规定依照业务需要取出监测指标和设施名称

更多 sql 参考

https://docs.emqx.cn/kuiper/l…

要害阐明:如何应用 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 工夫戳。

申明:如转载,请注明本文链接,谢谢合作。

正文完
 0