今天跟大家分享一個開源物聯網基礎平台,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
對整個項目感到興趣的小夥伴,快來擷取項目位址吧~