后端环境准备如下:
-
硬件资源最低要求4c8G,硬盘40G。
-
JDK 1.8.0_2xx (需要小版本号大于200)
下载jdk
。
-
Maven3.6.3。(IDEA启动时使用IDEA默认自带的版本即可)。
启动JetLinks之前,请先确定已经安装好以下基础服务:
开发者根据自身环境情况选择参考
离线基础服务部署
或
Docker基础服务部署
文档。
-
Redis 5.x。
-
PostgreSQL 11 或者 mysql 5.7 +。
-
ElasticSearch 6.8-7.17.5
下载
。
前端环境准备如下:
-
NodeJs v18.14.0 +
-
Yarn v1.22.19 +
-
Nginx 1.24.0
后端项目层级架构
**
--jetlinks-community
------|----docker
------|------|----dev-env # 启动开发环境
------|------|----run-all # 启动全部,通过http://localhost:9000 访问系统.
------|----jetlinks-components # 公共组件模块
------|-------|----common-component # 通用组件.
------|-------|----configuration-component # 通用配置.
------|-------|----dashboard-component # 仪表盘.
------|-------|----datasource-component # 数据源.
------|-------|----elasticsearch-component # elasticsearch集成.
------|-------|----gateway-component # 网关组件,消息网关,设备接入.
------|-------|----io-component # IO 组件,Excel导入导出等.
------|-------|----logging-component # 日志组件
------|-------|----network-component # 网络组件,MQTT,TCP,CoAP,UDP等
------|-------|----notify-component # 通知组件,短信,右键等通知
------|-------|----protocol-component # 协议组件
------|-------|----relation-component # 关系组件
------|-------|----rule-engine-component # 规则引擎
------|-------|----script-component # 脚本组件
------|-------|----timeseries-component # 时序数据组件
------|-------|----tdengine-component # TDengine集成
------|-------|----things-component # 物组件
------|----jetlinks-manager # 业务管理模块
------|-------|----authentication-manager # 用户,权限管理
------|-------|----device-manager # 设备管理
------|-------|----logging-manager # 日志管理
------|-------|----network-manager # 网络组件管理
------|-------|----notify-manager # 通知管理
------|-------|----visualization-manager # 数据可视化管理
------|-------|----rule-engine-manager # 规则引擎管理
------|----jetlinks-standalone # 服务启动模块
------|----simulator # 设备模拟器
首先访问项目的github地址:https://github.com/jetlinks/jetlinks-community,复制项目github的下载地址https://github.com/jetlinks/jetlinks-ui-components.git

用idea拉取项目源码
等待项目初始化完毕,如果遇到依赖下载不下来的情况需要将setting.xml中配置的国内镜像地址注释,使用maven默认的地址即可
项目初始化完毕后,修改配置文件,需要配置数据库,这里我用的是mysql,并使用内嵌的elasticsearch(在硬件条件较差时,可以使用内嵌的ElasticSearch,不用单独安装。)

创建对应的数据库
启动项目
如果出现java: 程序包jdk.nashorn.internal.runtime不存在
需要把java版本改为1.8

如果提示Error running 'JetLinksApplication': Command line is too long. Shorten command line for JetLinksApplication or also for Spring Boot default configuration?
参考【IDEA提示:Error running ‘JetLinksApplication’: Command line is too long. Shorten command line for JetLinksApplication or also for Spring Boot default configuration?】的解决办法

项目启动成功后,会自动往数据库中生成表结构并插入数据,到这里后端搭建就完成了
前端有2个代码库,ant版本(旧) 和 vue版本(新),这里我使用vue版本
首先访问项目的github地址:https://github.com/jetlinks/jetlinks-ui-vue,复制项目github的下载地址https://github.com/jetlinks/jetlinks-ui-vue.git

我习惯用idea写前端所以用idea拉取项目源码
官方文档提供了下面几个命令
yarn dev
yarn add jetlinks-ui-components@latest
yarn dev:force
执行完yarn
命令后修改后端的连接地址,改为localhost即可,端口号需要与之对应
执行yarn dev
命令
通过http://localhost:5173/
访问页面,默认的用户名密码为admin,admin

设置系统初始信息后即可正常使用
import React from "react" ;
import ReactDOM from "react-dom" ;
import { useObservable } from "rxjs-hooks" ;
import { interval } from "rxjs" ;
import { map } from "rxjs/operators" ;
function App ( ) {
const value =
JetLinks 物联网基础平台
JetLinks 是一个物联网基础平台,用于快速建立物联网相关业务系统.
集成了各种常见的网络协议(HTTP,TCP,UDP,CoAP)等,并对其进行封装, 实现统一管理,监控,在线调试,在线启动,停止,更新等功能.大大降低网络编程的复杂度.
多消息协议支持,可在线配置消息解析规则,将自定义的消息解析为平台统一的消息格式.
统一的设备操作API,屏蔽各个厂家不同协议不同设备的差异,支持跨服务,同步(RRpc),异步的设备消息收发.
可视化拖拽规则引擎设计器,灵活可拓展的多种规则节点支持,可通过规则引擎在线动态配置数据,业务处理逻辑.
灵活的多维度权限控制,可支
设备消息协议解析SDK
平台封装了网络通信,但是具体的数据由消息协议进行解析.协议(ProtocolSupport)主要由认证器(Authenticator),
消息编解码器(DeviceMessageCodec),消息发送拦截器(DeviceMessageSenderInterceptor)以及配置元数据(ConfigMetadata)组成.
认证器(Authenticator)是用于在收到设备请求(例如MQTT)时,对客户端进行认证时使用,不同的网络协议(Transport)使用不同的认证器.
接口定义:
public interface Authenticator {
JetLinks 物联网基础平台
JetLinks 是一个物联网基础平台,用于快速建立物联网相关业务系统.
集成了各种常见的网络协议(MQTT,HTTP,TCP,UDP,CoAP)等,并对其进行封装,
实现统一管理,监控,在线调试,在线启动,停止,更新等功能.降低网络编程的复杂度.
灵活的设备接入方式. 动态配置设备网关服务.
多消息协议支持,可在线配置消息解析规则,将自定义的消息解析为平台统一的消息格式.
统一的设备操作API,屏蔽各个厂家不同协议不同设备的差异,支持跨服务,同步(RRpc),异步的设备消息收发.
可视化拖拽规则引擎设计器,灵活可拓展的多种规则节点支持,可通过规则引擎在线动态
物联网平台基于Java8、Spring Boot 2.x、WebFlux、Netty、Vert.x、Reactor等开发,是一个开箱即用,可二次开发的企业级物联网基础平台。平台实现了物联网相关的众多基础功能,能帮助你快速建立物联网相关业务系统。
JetLinks开源物联网平台核心特性:
支持统一物模型管理,多种设备,多种厂家,统一管理。
统一设备连接管理,多协议适配(TCP、MQTT、UDP、CoAP、HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议的设备。
灵活的规则引擎,设备告警,消息通知,数据转发。可基于SQL进行复杂的数据处理逻辑。
地理位置:统一管理地理位置信息,支持区域搜索。
数据可视化:实现拖拽配置数据图表,设备组态等。