如果要自己搭建物联网平台,国内外有哪些用户体验比较好的开源物联网平台?
ThingLinks平台简介
ThingLinks采用Spring Cloud 微服务架构,一款高性、高吞吐量、高扩展性的物联网平台! 单机可以支持百万链接,同时支持自定义扩展功能多种协议交互,支持插件化开发;向下支持连接海量设备,采集设备数据上云;向上提供北向输出功能和系统API,服务端可通过调用API将指令下发至设备端,实现远程控制。
系统技术架构
技术栈
1、采用前后端分离的模式,前端框架VUE。
2、后端采用Spring Boot、Spring Cloud & Alibaba。
3、MqttBroker(支持集群化部署)基于Netty、Reactor3、Reactor-netty。
4、注册中心、配置中心选型Nacos,权限认证使用Redis。
5、流量控制框架选型Sentinel,分布式事务选型Seata。
6、时序数据库采用TDengine开源、高效的物联网大数据平台、处理物联网海量数据写入与负载查询。
基础架构图
核心特性
设备连接:支持统一产品模型管理,多种设备,多种厂家,统一设备连接管理,多协议适配(MQTT,WebSocket,TCP,UDP,CoAP,HTTP等)。
规则引擎:设备告警,消息通知,数据转发。
可视化:设备地理位置可视化查看,可视化大屏。
时序数据库:TDengine时序数据库超级表设计概念:每个设备一张表,每类设备一个超级表。
系统模块
com.mqttsnet.thinglinks ├── thinglinks-ui // 前端框架 [19000]├── thinglinks-gateway // 网关模块 [19100]、[sentinel:19101]├── thinglinks-auth // 认证中心 [19200]├── thinglinks-api // 接口模块│ └── thinglinks-api-system // 系统接口├── thinglinks-common // 通用模块│ └── thinglinks-common-core // 核心模块│ └── thinglinks-common-datascope // 权限范围│ └── thinglinks-common-datasource // 多数据源│ └── thinglinks-common-job // 分布式定时任务│ └── thinglinks-common-kafka // kafka消息服务│ └── thinglinks-common-log // 日志记录│ └── thinglinks-common-redis // 缓存服务│ └── thinglinks-common-rocketmq // rocketmq消息服务│ └── thinglinks-common-security // 安全模块│ └── thinglinks-common-swagger // 系统接口├── thinglinks-modules // 业务模块│ └── thinglinks-modules-file // 文件服务 [19300]│ └── thinglinks-modules-gen // 代码生成 [19301]│ └── thinglinks-modules-job // 定时任务 [19302]│ └── thinglinks-modules-system // 系统模块 [19303]│ └── thinglinks-modules-tdengine // TDengine服务 [19304]│ └── thinglinks-modules-link // Link服务 [19305]│ └── thinglinks-modules-broker // broker服务 [19306]、[MQTT-TCP:11883]、[MQTT-SSL:18443]、[MQTT-WS:18999]│ └── thinglinks-modules-protocolAnalysis // 协议解析服务 [19307]、[TCP-IP:18901]、[UDP-IP:18902] └── thinglinks-modules-rule // 规则模块 [19308]├── thinglinks-registry // 注册中心微应用├── thinglinks-visual // 图形化管理模块│ └── thinglinks-visual-monitor // 监控中心 [19400]│ └── thinglinks-visual-collection // 服务器监控采集服务 [19401]├──pom.xml // 公共依赖
核心功能列表
系统管理:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理
系统监控:在线用户、定时任务、Sentinel控制台、Nacos控制台、Admin控制台、任务调度管理
系统工具:表单构建、代码生成、系统接口
设备集成:设备管理(支持MQTT协议、WebSocket协议、TCP-IP协议设备接入)、子设备管理、产品管理、协议管理、规则引擎(设备联动)
设备调试:实时日志、命令下发
规则引擎消息转发:支持KAFKA节点、HTTP节点、PREDICATE节点、ROCKET_MQ节点、RABBIT_MQ节点、MYSQL节点、MQTT节点、TOPIC节点、LOG节点
设备管理列表
添加设备信息
设备详情
子设备管理
设备影子
产品管理
产品模型信息
CAS规则管理
编译打包
确认生产环境配置文件是否正确(很重要)
maven编译
创建目录
mkdir -p /home/thinglinksmkdir -p /home/thinglinks/thinglinks-authmkdir -p /home/thinglinks/thinglinks-gatewaymkdir -p /home/thinglinks/thinglinks-modules-systemmkdir -p /home/thinglinks/thinglinks-modules-genmkdir -p /home/thinglinks/thinglinks-modules-jobmkdir -p /home/thinglinks/thinglinks-modules-filemkdir -p /home/thinglinks/thinglinks-modules-tdenginemkdir -p /home/thinglinks/thinglinks-modules-linkmkdir -p /home/thinglinks/thinglinks-modules-brokermkdir -p /home/thinglinks/thinglinks-modules-protocolAnalysismkdir -p /home/thinglinks/thinglinks-modules-rulemkdir -p /home/thinglinks/thinglinks-visual-monitor
上传jar包
构建镜像
#举例(这里拿thinglinks-auth)#切换目录cd /home/thinglinks/thinglinks-auth# build(注意命令有后面有个点)docker build --build-arg JAR_FILE=thinglinks-auth.jar -t thinglinks-auth:latest .
查看镜像
docker images
演示地址: http://thinglinks.mqttsnet.com
账号密码: admin/adminthinglinks
源码地址: http://thinglinks.mqttsnet.com
还没有任何评论,你来说两句吧