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,屏蔽各个厂家不同协议不同设...