飞道的博客

快速搭建JetLinks物联网基础平台

466人阅读  评论(0)
  • 集成了各种常见的网络协议(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系统文档

快速开始

下载代码


  
  1. $ git clone https: //github.com/jetlinks/jetlinks-community.git && cd jetlinks-community

方式1:使用docker快速启动全部环境


  
  1. $ cd docker/run-all
  2. $ docker-compose up

方式2:使用docker启动开发环境,使用IDE中启动JetLinks服务.

步骤1: 启动环境


  
  1. $ cd docker/dev-env
  2. $ 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中相关配置.


  
  1. spring:
  2. redis:
  3. host: 127.0 .0 .1 # redis配置
  4. port: 6379
  5. r2dbc:
  6. url: r2dbc:postgresql: //127.0.0.1:5432/jetlinks # 数据库postgresql数据库配置
  7. username: postgres
  8. password: jetlinks
  9. easyorm:
  10. default-schema: public # 数据库默认的schema
  11. dialect: postgres #数据库方言
  12. elasticsearch:
  13. client:
  14. host: 127.0 .0 .1 # elasticsearch
  15. port: 9200
  16. hsweb:
  17. file:
  18. upload:
  19. static-file-path: ./ static/upload # 上传的文件存储路径
  20. 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.


  
  1. $ cd simulator
  2. $ ./start.sh

启动成功后控制台应该会输出:


  
  1. ...
  2. create mqtt client: 1 ok
  3. ...
  4. 开始上报设备事件
  5. 成功推送设备事件: 1

查看设备数据

进入设备实例,点击查看demo-0设备,点击运行状态,可看到设备上报的数据.

设备运行状态信息

设备上报的事件数据


转载:https://blog.csdn.net/qq_36598097/article/details/105229317
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场