• 集成了各种常见的网络协议(HTTP,TCP,UDP,CoAP)等,并对其进行封装, 实现统一管理,监控,在线调试,在线启动,停止,更新等功能.大大降低网络编程的复杂度.

  • 多消息协议支持,可在线配置消息解析规则,将自定义的消息解析为平台统一的消息格式.

  • 统一的设备操作API,屏蔽各个厂家 不同协议 不同设备的差异,支持 跨服务 ,同步(RRpc),异步的设备消息收发.

  • 可视化拖拽规则引擎设计器,灵活可拓展的多种规则节点支持,可通过规则引擎在线动态配置数据,业务处理逻辑.

  • 灵活的多维度权限控制,可支持 , 级别数据权限控制.

官方QQ群: 2021514

  1. Spring Boot 2.2.x
  2. Spring WebFlux 响应式Web支持
  3. R2DBC 响应式关系型数据库驱动
  4. Project Reactor 响应式编程框架
  5. Netty , Vert.x 高性能网络编程框架
  6. ElasticSearch 全文检索,日志,时序数据存储
  7. PostgreSQL 业务功能数据管理
  8. 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.r2dbceasyorm相关配置项即可.

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