天天看點

一款完整開源的物聯網基礎平台

今天跟大家分享一個開源物聯網基礎平台,JetLinks

一款完整開源的物聯網基礎平台

JetLinks,是一個基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor的那個多種技術開發的企業級物聯網平台。其功能豐富強大,不僅可以支援統一物模型管理,還可以對靈活接入不同廠家不同協定等裝置,實作實時資料處理,裝置告警,消息通知,資料轉發。地理位置,資料可視化等衆多功能,讓使用者快速建立一整套物聯網相關業務系統。并且所有代碼都開源,除了即插即用,對于有想法的小夥伴也可以進行個性化的二次開發。

JetLinks用的主要技術棧及架構示意如下:

  • Spring Boot 2.3.x
  • Spring WebFlux 響應式Web支援
  • R2DBC 響應式關系型資料庫驅動
  • Project Reactor 響應式程式設計架構
  • Netty ,Vert.x 高性能網絡程式設計架構
  • ElasticSearch 全文檢索,日志,時序資料存儲
  • PostgreSQL 業務功能資料管理
  • hsweb framework 4 業務功能基礎架構
一款完整開源的物聯網基礎平台

對于如何接入裝置有疑問的小夥伴,也可以通過下面這張流程圖略知一二:

一款完整開源的物聯網基礎平台

感興趣的小夥伴可以通過多種不同的方式快速開始:

1、使用docker快速啟動全部環境

$ cd docker/run-all
$ docker-compose up      

2、使用docker啟動開發環境,使用IDE中啟動JetLinks服務.

# 啟動環境
$ cd docker/dev-env
$ docker-compose up      

在項目導入IDE後執行​

​jetlinks-standalone​

​​子產品下的​

​org.jetlinks.community.standalone.JetLinksApplication​

​完成JetLinks服務的啟動,然後啟動UI

$ docker run -it --rm -p 9000:80 -e "API_BASE_PATH=http://host.docker.internal:8848/" registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-ui-antd      

3、非docker環境啟動

先安裝以下服務:​

​postgresql 11,redis 5.x,elasticsearch 6.7.2​

然後根據情況修改​

​jetlinks-standalone​

​​子產品下的配置檔案:​

​application.yml​

​中相關配置.

spring:
  redis:
    host: 127.0.0.1 # redis配置
    port: 6379
  r2dbc:
    url: r2dbc:postgresql://127.0.0.1:5432/jetlinks  # 資料庫postgresql資料庫配置
    username: postgres
    password: jetlinks
easyorm:
  default-schema: public # 資料庫預設的schema
  dialect: postgres #資料庫方言
elasticsearch:
  client:
    host: 127.0.0.1   # elasticsearch
    port: 9200
hsweb:
  file:
    upload:
      static-file-path: ./static/upload   # 上傳的檔案存儲路徑
      static-location: http://127.0.0.1:8848/upload # 上傳的檔案通路根位址      

然後跟前面一樣,在項目導入IDE後執行​

​jetlinks-standalone​

​​子產品下的​

​org.jetlinks.community.standalone.JetLinksApplication​

​完成JetLinks服務的啟動,然後啟動UI。

啟動成功後可以通路環境進行各種操作:位址: http://localhost:9000, 使用者名:admin,密碼:admin

對整個項目感到興趣的小夥伴,快來擷取項目位址吧~