关于2022 EdgeX中国挑战赛
2022 EdgeX中国挑战赛暨中关村国际前沿科技创新大赛EdgeX专题赛正式拉开帷幕。大赛由北京市科委、中关村管委会指导,由Linux基金会主办,由阿里云、百度智能云、EMQ、GSMA 5G IN、英特尔、InnoSpace、中科创达、VMware、紫竹ET孵化器等联合承办单位共同支持,将在线上线下同步开赛。
本次大赛分设两大赛道:医疗、教育、消费行业赛道和能源、工业、供应链赛道。大赛致力于构建一个物联网及边缘计算的学习和分享平台,基于EdgeX Foundry,针对不同赛道的多个应用场景,以共享技术投资解决行业技术问题。除了40w+人民币总奖励,参赛者还可以获得技术、资本、市场等一系列参赛回报。

为帮助参赛选手更好地了解并运用相关技术,本次大赛将在7月至9月持续开展3轮技术培训,涵盖初、中、高不同层级,帮助开发者系统学习智能边缘系统知识。我们邀请到来自英特尔、VMware、阿里云等多家机构的技术专家进行分享。

中级培训第五场由EMQ边缘计算领域资深技术专家黄济泳为我们带来。本次培训的主题为:EdgeX规则引擎eKuiper实战。本篇推文是中级培训系列课程回顾的第四辑。(点此回顾:中级培训第三场-EdgeX应用落地-零售、能源行业)

1. eKuiper简介与快速启动

1.1 eKuiper简介

图注:eKuiper引擎技术架构

eKuiper是Linux基金会旗下LF Edge的Stage1项目,设计目的为轻量物联网边缘数据流处理引擎。

eKuiper具有以下一系列优势与特点:
超轻量:10MB级别,足够小,可以部署在边缘网关甚至端设备上
快速:就近处理,超低延时通用计算,大吞吐量
整合:承上启下,连接各种协议的南桥北桥
进化:高可扩展性,轻松适配外部生态和算法

图注:eKuiper引擎功能结构

eKuiper根据其功能架构,具备以下四点主要特性。
基于SQL/Flow编辑器的业务规划
丰富的源和目标支持(内置标准MQTT消息服务器,EdgeX消息总线,定时拉取HTTP服务)
易扩展(支持插件机制,支持流定义函数(UDF)等等)
敏捷运维(支持各种平台二进制,规则热创建,热更新)

eKuiper是EdgeX Foundry的默认规则引擎。根据EdgeX的主要应用场景(通用工业IOT边缘物联网设备),eKuiper的主要业务即表现为:

  • 接入EdgeX Foundry消息总线,进行数据分析和导出
  • 作为EdgeX Foundry规则引擎,支持场景联动,按规则控制设备
  • 写入EdgeX Foundry,起到类似设备的作用

1.2 eKuiper快速启动


图注:eKuiper快速启动代码

  • 官方docker compose

    • docker compose up -d
  • 配置

    • 文件etc目录下
    • 环境变量
  • Image

    • alpine
    • 需要插件用slim
    • slim-python

在此基础上,黄济泳专家为我们带来了两个eKuiper应用示例Demo。
图注:Demo 0:变更启动镜像
使用slim版本(可使用1.6.1版本之前预编译插件)
添加eKuiper manager(更新更快的图形界面)


图注:Demo 1:创建第一个规则
使用EdgeX UI
使用eKuiper manager
(http://edgex-kuiper:59720)

2. eKuiper处理EdgeX消息实战

2.1 eKuiper与EdgeX的集成

eKuiper通过三种方式与EdgeX集成通信:

  • 接入EdgeX消息总线(提供EdgeX Source,自动解析数据)
  • 发送EdgeX消息总线(提供EdgeX Sink,传输结果到总线)
  • 规则触发EdgeX服务,如触发command服务控制设备
    图注:EdgeX到eKuiper的数据流动

EdgeX到eKuiper数据流通:

  • 默认通过app-service-rules
  • 可配置app service的变换
  • 可配置多stream

详细教程:
https://ekuiper.org/docs/en/latest/edgex/edgex_source_tutorial.html


图注:利用app service按照设备过滤数据

Source配置流程如下

  • eKuiper中edgex.yaml配置

    • 可通过docker compose配置
  • 创建处理Random-Integer-Device设备的流
CREATE STREAM edgeInt() with (FORMAT = "JSON", TYPE = "edgex", CONF_KEY = "device_conf")

图注:source配置示例,默认选择edgex总线


图注:eKuiper到EdgeX使用场景示例

eKuiper到EdgeX使用场景:

  • 扩展EdgeX数据来源,连接异构系统

    • MQTT→eKuiper→EdgeX
    • HTTP→eKuiper→EdgeX
    • Private protocol→eKuiper→EdgeX
  • 消息处理完后,Republish
  • 配置元数据:profile,device etc.


图注:Demo:MQTT消息导入EdgeX
流:MQTT topic demo的数据,模拟外部数据
规则逻辑:采集输入中的温湿度数据
输出:类似device数据发送至EdgeX中

eKuiper规则输出
可同时输出到多个目的,例如:MQTT、REST
格式化利器:DataTemplate

2.2 eKuiper数据分析能力

时间窗口

  • Tumbling / Hopping / Sliding / Session / Count
    多流Join

丰富内置函数

  • 数据去重、数字、字符、转换和hash等函数
  • JSON Path

常见SQL语句支持

  • WHERE
  • CASE WHEN
  • GROUP BY
  • ORDER BY
  • HAVING

2.3 eKuiper扩展能力


图注:eKuiper外部扩展能力

支持的扩展类型

  • Go原生
  • 外部服务定义
  • 自研多语言插件框架

Go原生插件痛点

  • 编译和运行诸多限制
  • 无法热插拔

Portable插件框架

  • 支持Source/Sink/Function
  • 支持Go/Python
  • 可扩展到更多语言
  • 基于NNG协议,IPC通信

————————————————

最后,让我们一起来看看今天的练习题吧~ (答案于文章最后公布)

01(多选)下列关于eKuiper的说法正确的是?
A、EdgeX Foundry的第三方微服务
B、由EdgeX Foundry团队开发
C、开源软件
D、闭源商业软件
E、与EdgeX Foundry同样属于LF Edge基金会
F、提供免费UI

02(多选)eKuiper如何与EdgeX整合?
A、可读取EdgeX消息总线
B、可读取EdgeX数据库
C、可读取 EdgeX app service 的输出
D、可写入 EdgeX 消息总线
E、可调用 command service 控制设备
F、可作为device service

03(多选)eKuiper能做什么?
A、数据清洗
B、实时分析
C、过滤和告警
D、持续存储
E、图像处理
F、AI推理

————————————————

2022 EdgeX中国挑战赛已于8月3日盛大开幕,EdgeX中文社区将在接下来的日子里为大家带来更多边缘计算讲座分享和赛事进度更新。在这个盛夏,让我们一起展现风采,从自身所学的领域出发,为物联网、边缘计算市场提供更多更好的解决方案,展望一个更好的科技未来。

第三届EdgeX中国挑战赛,邀您来赛

多场景落地前景可期
全链条助阵生态共建
阶梯式培训同期推进
大奖与荣誉虚位以待

2022EdgeX中国挑战赛正在火热报名中,报名时间:2022年8月3日00:00 - 9月5日24:00。参与大赛,共同推动万物互联,请即刻联系我们。

大赛官网:https://www.edgex-challenge.com/


————————————————
答案: 1. ACEF 2.ACDE 3. ABCEF

技术分享 | EdgeX 规则引擎 eKuiper 实战相关推荐

  1. 技术分享 | mysql Federated 引擎最佳实战

    作者:马文斌 MySQL OCP 认证,PostgresSQL PGCA 认证,擅长 MySQL.PostgreSQL.dble 等开源数据库相关产品的备份恢复.读写分离.SQL 调优.监控运维.高可 ...

  2. 技术分享|单元测试推广与实战-在全新的DDD架构上进行单元测试

    源宝导读:单元测试是伴随软件工程出现和发展的,怎么做大家可能各有见解.本文介绍了单元测试中的反模式,强调了可测试性的重要性,并以 DDD 架构项目的迭代进程作为示例,演示了单元测试的组织过程,展示了单 ...

  3. 第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器

    文章目录 9. Drools实战 9.1 个人所得税计算器 9.1.1 名词解释 9.1.2 计算规则 9.1.2.1 新税制主要有哪些变化? 9.1.2.2 资较高人员本次个税较少,可能到年底扣税增 ...

  4. 技术分享 | EdgeX应用落地——零售、能源行业创新业务

    关于2022 EdgeX中国挑战赛 2022 EdgeX中国挑战赛暨中关村国际前沿科技创新大赛EdgeX专题赛正式拉开帷幕.大赛由北京市科委.中关村管委会指导,由Linux基金会主办,由阿里云.百度智 ...

  5. drools规则引擎技术指南_物联网规则引擎技术

    物联网应用程序设计与典型的IT解决方案大不相同,因为它将物理操作技术(OT)与传感器.致动器和通信设备连接起来,并将数字信息技术(IT)与数据.分析和工作流连接起来. 在企业环境中,物联网非常复杂,这 ...

  6. Drools规则引擎平台如何进行架构

    在<Drools7 规则引擎视频教程>的交流群中,有同学提出这样的问题:如果不想使用Drools官方提供的Workbench和KIE-Server进行规则的管理,而自行进行相应系统研发,该 ...

  7. 技术分享|明源云天际集成开放平台接口中心基于IdentityServer4的鉴权机制

    源宝导读:企业数字化生态建设中为解决集成多样性和资源统一管理的痛点引入企业级网关,网关作为资源访问的大门,身份认证鉴权是其业务的重中之重,本文将介绍企业级网关-天际集成开放平台是如何通过Identit ...

  8. springboot之ice规则引擎探索

    突然发现一个非常棒的框架,迫不及待的想要和大家分享一下 规则引擎 什么是规则引擎 规则引擎是一种工具,它使得这种计算模型编程变得更容易.它可能是一个完整的开发环境,或者一个可以在传统平台上工作的框架. ...

  9. Java规则引擎工作原理及其应用

    摘 要 Java规则引擎是一种嵌入在Java程序中的组件,它的任务是把当前提交给引擎的Java数据对象与加载在引擎中的业务规则进行测试和比对,激活那些符合当前数据状态下的业务规则,根据业务规则中声明的 ...

最新文章

  1. webservice发送字符串
  2. android studio 2.1 ndk,Android studio 2.1编辑器(CLint)无法找到使用原生(ndk)插件的模块的标题...
  3. linux代码签名,浅谈Linux容器和镜像签名(示例代码)
  4. MATLAB函数记录
  5. scrapy的post登录:renren
  6. 学习iOS最权威的网站
  7. deepin安装zsh以及简单配置
  8. Ubuntu18.04 evo安装
  9. php区分字符串数字,php如何判断字符串是不是数字
  10. VirtualBox 中安装 Win10
  11. 小爱mini改aux立体声_DIY移动的智能助手-------将小爱音箱搬到爱车上
  12. (c语言详解)06-图3 六度空间 (30分)(详细解释)
  13. 全面改革个税关乎民生和正义
  14. 【Python军火库】smtplib+email:一起来用Python发送电子邮件吧!
  15. Linux tac命令
  16. unsw计算机专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名新南威尔士大学排名第76-100...
  17. for循环实现-水仙花
  18. ORACLE从一列包含中文以及数字的数据中筛选出中文/或者筛选出包含英文的列
  19. ROS学习笔记(八)—— moveit!概述
  20. 最美的七律却不讲规则

热门文章

  1. 如何编写功能测试报告
  2. 电路图中R1,D1有什么作用 ?
  3. android 日期 转换成字符串,android JAVA字符串转日期或日期转字符串(转)
  4. ROS学习笔记3_发布者Publisher
  5. 非线性控制1.2——LaSalle不变集原理
  6. 苹果X屏黑了-苹果x屏幕黑屏也无法开机怎么回事?
  7. python身份证识别
  8. java、redis、mysql归纳总结
  9. 李政軒Cheng-Hsuan Li的关于机器学习一些算法的中文视频教程
  10. webmail lite php,WebMail Lite - 从Gmail,Yahoo,Outlook和其他管理和下载邮件