零碎环境筹备

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 工夫戳。

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