Fledge:开源物联网与雾计算平台
项目地址:https://gitcode.com/gh_mirrors/fled/fledge
项目介绍
Fledge 是一个开源的物联网(IoT)平台,同时也是雾计算(Fog Computing)中的关键组件。它采用模块化的微服务架构,涵盖了传感器数据采集、存储、处理以及向历史记录系统、企业系统和云服务的转发。Fledge 能够在高可用性、独立、无人值守的环境中运行,并假设网络连接可能不可靠。
Fledge 还提供了一种缓冲来自传感器的数据并将其转发到高级存储系统的方法。它假设底层网络层并不总是连接或可能不可靠。传感器数据可以在 Fledge 中存储数天,然后从 Fledge 存储中清除。在此期间,数据可以发送到一个或多个历史记录系统,也可以通过 REST API 访问,供本地分析应用程序使用。
项目技术分析
Fledge 的核心架构基于微服务设计,主要由以下几个服务组成:
- 核心服务:负责管理其他服务、外部 REST API、调度任务和监控活动。
- 南向服务:负责 Fledge 与传感器/执行器之间的通信。
- 存储服务:负责配置和指标的持久化以及传感器数据的缓冲。
此外,Fledge 还通过插件组件来增加灵活性:
- 南向插件:用于扩展 Fledge 以处理新的南向设备和连接总线。
- 北向插件:用于连接不同的历史记录系统。
- 数据存储插件:允许 Fledge 使用不同的存储机制来持久化元数据和传感器数据。
Fledge 还广泛使用了调度进程的概念,核心服务中的调度器可以根据时间表或事件触发来执行特定操作。
项目及技术应用场景
Fledge 适用于以下场景:
- 工业物联网:在工业环境中,传感器数据需要被采集、处理并转发到企业系统或云服务。
- 雾计算:在雾计算架构中,Fledge 作为边缘节点,负责数据的初步处理和缓冲,减轻云端负担。
- 无人值守环境:Fledge 可以在网络连接不可靠的环境中运行,确保数据的可靠采集和存储。
项目特点
- 模块化设计:采用微服务架构,易于扩展和维护。
- 插件支持:通过插件机制,可以轻松扩展南向和北向设备的支持。
- 高可用性:能够在不可靠的网络环境中运行,确保数据的可靠传输和存储。
- 灵活的调度机制:支持基于时间或事件触发的任务调度,满足不同应用场景的需求。
- 跨平台支持:支持在多种 Linux 发行版上运行,包括 Ubuntu、Raspbian 和 Coral Mendel。
Fledge 是一个功能强大且灵活的物联网平台,适用于各种复杂的物联网应用场景。无论是在工业自动化、智能城市还是其他物联网领域,Fledge 都能提供可靠的数据采集、处理和存储解决方案。