专栏名称: GitHub好项目
GitHub上好项目分享;分享 GitHub 上知名的 Python、Java、Web、AI、数据分析等多个领域的优质学习资源、开源项目及开发者工具,为 GitHub 开发者提供优质编程资讯。
目录
相关文章推荐
募格学术  ·  DeepSeek王炸登场!AI的神级应用被发 ... ·  昨天  
小张聊科研  ·  2月19日(周三)晚20:00直播预告 | ... ·  2 天前  
国家知识产权局  ·  关于申报2025年度课题研究项目的通知 ·  4 天前  
51好读  ›  专栏  ›  GitHub好项目

一个具有工业实力的开源物联网应用的平台

GitHub好项目  · 公众号  ·  · 2024-05-21 00:00

正文

大家好,我是GitHub好项目君,每天分享GitHub上的好项目

主要分享GitHub上有趣、有意义、重要的项目

SiteWhere 是一个具有工业实力的开源物联网应用支持平台,可促进大规模物联网设备数据的摄取、存储、处理和集成。

源代码:

http://www.gitpp.com/digital-twin/sitewhere

SiteWhere 的介绍

SiteWhere作为一个工业级的、开源的物联网(IoT)应用支持平台,其功能主要围绕物联网设备数据的摄取、存储、处理和集成展开。以下是SiteWhere的主要功能:

  1. 设备数据摄取 :SiteWhere提供了从物联网设备中收集数据的能力。这些数据可能包括设备状态、传感器读数、位置信息等。

  2. 数据存储 :收集到的设备数据需要被安全、可靠地存储起来,以便后续的分析和处理。SiteWhere提供了持久化存储的功能,可以确保数据的安全性和可访问性。

  3. 数据处理 :除了存储数据外,SiteWhere还提供了对设备数据进行处理的能力。这包括数据清洗、转换、聚合等操作,以便将原始数据转换为更有价值的信息。

  4. 数据集成 :SiteWhere支持与其他系统和应用程序的集成,以便将物联网设备数据与业务流程、决策支持系统等进行连接。通过API和消息队列等机制,SiteWhere可以实现与各种系统和服务的无缝集成。

  5. 微服务架构 :SiteWhere基于微服务架构构建,这使得平台具有高度的可扩展性和灵活性。通过模块化设计,SiteWhere可以轻松地添加新的功能和服务,以满足不同项目的需求。

  6. 支持多种协议 :SiteWhere支持多种物联网通信协议,如MQTT、CoAP、HTTP等。这使得平台可以与各种物联网设备和传感器进行通信,无论它们使用何种协议。

  7. 提供开发者工具 :SiteWhere为开发者提供了一整套工具和框架,以便他们可以轻松地构建和部署物联网应用程序。这些工具包括设备管理、数据可视化、事件处理等功能。

  8. 多租户支持 :SiteWhere支持多租户架构,这使得平台可以同时支持多个独立的项目或客户。每个租户都可以拥有自己独立的数据和配置,从而实现资源的隔离和共享。

SiteWhere 作为一个开源的物联网应用支持平台,具有高度的灵活性和可扩展性,适用于各种物联网应用场景,如智能家居、工业制造、智慧城市、能源管理等。通过使用 SiteWhere,用户可以快速构建适合自己的物联网解决方案,实现设备连接、数据分析和应用开发等功能。

功能特性:

  • 可以在单个SiteWhere实例上运行任意数量的IoT应用程序。

  • 提供了Spring框架配置。

  • 使用MQTT、AMQP、Stomp等协议连接设备。

  • 通过自助注册、REST服务或批量添加设备。

  • 可以与第三方集成框架集成,如Mule AnyPoint。

  • 默认的存储数据库是MongoDB。

  • 使用Eclipse Californium实现CoAP消息传递。

  • 使用InfluxDB存储事件数据。

  • SiteWhere数据可视化。

  • 支持使用HBase存储非关系数据。


以下是SiteWhere的一些主要使用场景:

1. 物联网设备管理 :SiteWhere 可以用来管理和控制连接的物联网设备,收集设备数据,并将其用于进一步的处理和分析。

2. 数据收集与处理 :在物联网环境中,SiteWhere 可以作为数据收集和处理的中介,将来自不同设备和传感器的数据集中起来,并进行预处理和格式化。

3. 实时分析与决策支持 :SiteWhere 提供了实时数据处理和分析的能力,可以帮助企业和组织从物联网设备收集的数据中提取有价值的洞察,以便做出实时决策。

4. 应用程序开发 :开发者可以使用SiteWhere来构建和部署物联网应用程序,包括设备管理、数据分析和用户界面等。

5. 集成第三方服务: SiteWhere 可以集成第三方服务和APIs,允许企业将物联网解决方案与现有的业务系统和服务无缝集成。

6. 多租户支持:SiteWhere 支持多租户架构,允许多个用户或组织在同一平台上运行不同的应用程序。

7. 可扩展性和高可用性:SiteWhere 设计用于可扩展性,可以处理大量的数据和用户,并且提供了高可用性的支持。

8. 安全性:SiteWhere 提供了内置的安全性,包括用户认证、授权和数据加密,以确保物联网应用程序的安全。

总的来说SiteWhere 适用于需要处理大量物联网数据、实现实时分析和决策支持以及构建复杂的物联网应用程序的场景。

SiteWhere采用了运行在Kubernetes上的分布式架构,并提供了highly-available数据库和MQTT代理等基础设施以及微服务,以促进物联网项目开发的各个方面。该平台采用框架方法构建,使用明确定义的API,以便随着物联网生态系统的发展,新技术可以轻松集成。

该平台利用了cutting-edge技术(如Kubernetes、Istio和Kafka)之上的微服务架构,以便有效地扩展到大型物联网项目的预期负载。

部署和协调

SiteWhere由Java-based微服务组成,这些服务被构建为Docker映像并部署到Kubernetes进行编排。为了简化安装和配置,Helm用于为各种部署场景提供标准模板。Helm图表提供了运行完整站点部署所需的微服务和依赖关系。基础设施组件包括Apache Zookeeper和Kafka等技术,高可用性数据库,如MongoDB、InfluxDB和Cassandra,以及其他支持技术,如MQTT代理。

Microservices


SiteWhere不是使用单一方法,而是基于许多作为分布式系统运行的微服务。每个微服务都是一个完全self-contained实体,它有自己的配置模式、内部组件、数据持久性以及与事件处理管道的交互。微服务构建在一个定制的微服务框架之上,并作为独立的Spring引导进程运行,每个进程都包含在自己的Docker映像中。







请到「今天看啥」查看全文