JetLinks
是一个物联网基础平台,用于快速建立物联网相关业务系统.
-
集成了各种常见的网络协议(HTTP,TCP,UDP,CoAP)等,并对其进行封装, 实现统一管理,监控,在线调试,在线启动,停止,更新等功能.大大降低网络编程的复杂度.
-
多消息协议支持,可在线配置消息解析规则,将自定义的消息解析为平台统一的消息格式.
-
统一的设备操作API,屏蔽各个厂家
不同协议
不同设备的差异,支持
跨服务
,同步(RRpc),异步的设备消息收发.
-
可视化拖拽规则引擎设计器,灵活可拓展的多种规则节点支持,可通过规则引擎在线动态配置数据,业务处理逻辑.
-
灵活的多维度权限控制,可支持
列
,
行
级别数据权限控制.
官方QQ群:
2021514
-
Spring Boot 2.2.x
-
Spring WebFlux
响应式Web支持
-
R2DBC
响应式关系型数据库驱动
-
Project Reactor
响应式编程框架
-
Netty
,
Vert.x
高性能网络编程框架
-
ElasticSearch
全文检索,日志,时序数据存储
-
PostgreSQL
业务功能数据管理
-
hsweb framework 4
业务功能基础框架
设备接入流程
jetlinks系统文档
$ git clone https://github.com/jetlinks/jetlinks-community.git && cd jetlinks-community
方式1:使用docker快速启动全部环境
$ cd docker/run-all
$ docker-compose up
方式2:使用docker启动开发环境,使用IDE中启动JetLinks服务.
步骤1: 启动环境
$ cd docker/dev-env
$ docker-compose up
步骤2: 启动JetLinks服务
项目导入IDE后执行jetlinks-standalone
模块下的org.jetlinks.community.standalone.JetLinksApplication
注意:项目需要使用最新的java8(小版本号大于200),如1.8.0_232
步骤3: 启动UI
可以通过UI源码自行构建.
或者使用docker
启动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
注意:环境变量API_BASE_PATH
为后台API根地址. 由docker容器内进行自动代理. 请根据自己的系统环境配置环境变量: API_BASE_PATH
方式3:非docker环境启动
请先安装以下服务: postgresql 11
,redis 5.x
,elasticsearch 6.7.2
.
提示:postgresql
可更换为mysql 5.7+
或者sqlserver
,只需要修改配置中的spring.r2dbc
和easyorm
相关配置项即可.
步骤1: 根据情况修改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 # 上传的文件访问根地址
步骤2: 从方式2
-步骤2
开始.
启动成功后访问系统
地址: http://localhost:9000
, 用户名:admin
,密码:admin
.
进入设备管理
-协议管理
,点击新建
.
- 协议名称:
演示协议
. - 类型:
jar
. - 类名:
org.jetlinks.demo.protocol.DemoProtocolSupportProvider
- 上传jar包: 选择项目内文件:
simulator/demo-protocol-1.0.jar
添加设备型号
进入设备管理
-型号管理
,点击导入配置
. 选择项目内文件: simulator/设备型号-演示设备.json
.
导入成功后,点击操作列
-发布
,如果状态为已发布
,则点击停用
后重新发布.
添加设备实例
进入设备管理
-设备实例
,点击新建
.
- 设备id:
demo-0
- 设备名称:
演示设备0
- 设备型号:
演示设备
点击确定,保存成功后, 点击操作列
-激活
. 点击查看
可查看设备的基本信息以及运行状态
设备基本信息
启动MQTT服务
进入网络组件
-组件管理
,点击新增组件
.
- 组件名称:
MQTT服务
- 组件类型:
MQTT服务
- 线程数:
4
可根据实际情况调整,一般不大于主机CPU核心数*2
- HOST:
0.0.0.0
- PORT:
1883
- TLS:
否
点击保存,保存成功后,点击启动状态
切换启动状态为启动.
启动设备网关
进入网络组件
-设备网关
,点击新建
.
- 名称:
MQTT网关
- 类型:
MQTT服务设备网关
- 网络组件:
MQTT服务
选择上一步创建的网络组件
点击确定,保存成功后,点击操作列中的启动
.
启动模拟器
进入项目目录:simulator
.
$ cd simulator
$ ./start.sh
启动成功后控制台应该会输出:
create mqtt client: 1 ok
开始上报设备事件
成功推送设备事件:1
查看设备数据
进入设备实例
,点击查看demo-0
设备,点击运行状态
,可看到设备上报的数据.
设备运行状态信息
设备上报的事件数据
JetLinks 是一个物联网基础平台,用于快速建立物联网相关业务系统. 集成了各种常见的网络协议(HTTP,TCP,UDP,CoAP)等,并对其进行封装, 实现统一管理,监控,在线调试,在线启动,停止,更新等功能.大大降低网络编程的复杂度. 多消息协议支持,可在线配置消息解析规则,将自定义的消息解析为平台统一的消息格式. 统一的设备操作API,屏蔽各个厂家不同协议不同设...