Skip to content

🔥 OpenEmber is an embedded linux distributed application group framework

License

Notifications You must be signed in to change notification settings

openember/openember

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenEmber

OpenEmber 是一个专用于嵌入式 Linux 系统的应用程序开发框架,它也是 OpenEmber Core 规范 的标准 C 实现,另一个 C++ 实现是 OpenEmber-Plus

OpenEmber 框架包含设备端应用程序常见的模块,包括消息通信、设备管理、数据采集、协议解析、状态监控、配置管理、日志记录、远程升级、图形界面等功能模块。模块之间采用消息通信机制进行同步,天生支持分布式部署,也就是说,功能模块可以部署在不同的硬件平台(包括异构多核平台)。

项目起源

我们曾经用 Linux 系统做过许多嵌入式/物联网项目,包括工业控制设备、通信终端、数据采集仪、高精传感器、物联网、车联网等。在多次重复开发之后,觉得有必要将一些通用的功能模块抽象出来,方便大家复用,加速开发更多有趣的项目。因此,我们创建了 OpenEmber 项目。

OpenEmber 项目默认实现了 Linux 系统监控功能,可通过 Web 查看系统状态。

框架结构

模块功能

模块名称 简介 说明
Log 日志服务系统 抽象日志输入接口,实现日志的统一管理,包括定时冲刷、自动滚动、磁盘管理等。
OTA 远程升级 包括在线升级、离线升级、状态脚本等功能
MSG 消息服务 支持 DBus、MQTT、ZeroMQ、rabbitMQ、DDS 等底层消息服务

开发计划

See TODO

应用案例

OpenEmber 适用于需要长期运行的智能设备,这些设备通常有这些特点:7×24 运行,有状态、有配置,模块长期在线,需要远程运维,升级、监控、日志比“算得快”更重要。例如无人值守终端(洗衣 / 充电 / 储物)、工业网关(Modbus / CAN / OPC UA 聚合)等。

下面是一些客户案例:

另外,OpenEmber 可作为 ROS 的“硬件隔离层”,ROS 通过 OpenEmber 的通信模块拿数据、控制硬件。

Releases

No releases published

Packages

No packages published