公司 Logo
内部文件:[输入文件名和版本号]
目录
目录 .................................................................................................................................................... 1
参考资料 ............................................................................................................................ 4
文档目的 ............................................................................................................................ 5
第一章 项目框架整理说明 .............................................................................................................. 6
1.1 项目框架说明 ................................................................................................................ 6
1.1.1
package 包功能描述.......................................................................................7
1.1.2
thingsboard 开发主要涉及到的包............................................................... 9
1.1.3
thingsboard 代码类及接口说明 ....................................................................9
第二章 thingsboard 涉及到的流程图........................................................................................11
2.1 物联网网关架构 .......................................................................................................... 11
2.2
ThingsBoard 微服务架构 .........................................................................................12
2.3
Thingsboard 产品架构 .............................................................................................12
2.4
Thingsboard 规则引擎 .............................................................................................13
2.5
ThingsBoard Architecture......................................................................................14
第三章 项目框架涉及到的第三方包或插件 ................................................................................16
3.1
Thingsboard 包 ........................................................................................................16
第四章 ThingsBoard 设备连接协议 ...........................................................................................22
4.1 订阅消息传递协议(MQTT) ........................................................................................22
4.2 请求响应模式(CoAP) .................................................................................................22
4.3 请求响应模式(HTTP )................................................................................................23
第 1 页 共 31 页
公司 Logo
内部文件:[输入文件名和版本号]
第五章 ThingsBoard 打包 ........................................................................................................... 24
5.1 后端打包 ...................................................................................................................... 24
5.2 前端打包方 UI.............................................................................................................24
第六章 ThingsBoard 框架日志 ................................................................................................... 25
第七章 ThingsBoard 数据库 ....................................................................................................... 26
7.1 关系数据库(使用了 2 个数据库)......................................................................... 26
7.2 非关系数据库(redis) .................................................................................................. 26
第八章 官网主要文档目录 ............................................................................................................ 27
第九章 前端技术概述 .................................................................................................................... 28
9.1 前端包括哪些技术点 ..................................................................................................28
9.2 前端技术描述 .............................................................................................................. 28
第十章 关于 Thingsboard 开发环境部署 ..................................................................................29
第十一章 数据库表结构 ................................................................................................................ 31
第 2 页 共 31 页
公司 Logo
内部文件:[输入文件名和版本号]
版本
发布时间
修订章节
作者
0.01
20190318
[对修订章节的描述从最近的一次修订开始]
Majp
第 3 页 共 31 页
公司 Logo
内部文件:[输入文件名和版本号]
参考资料
1. 运行 thingsboard 服务后,在浏览器地址栏输入:
http://localhost:8080/swagger-ui.html (进入 swagger 接口说明);
2. https://thingsboard.io/docs/ 官方文档;
3. https://github.com/thingsboard/thingsboard Github 地址;
第 4 页 共 31 页
公司 Logo
内部文件:[输入文件名和版本号]
文档目的
编写此文档的目的是让开发人员对 thingsboard 框架快速的理解。
第 5 页 共 31 页
公司 Logo
内部文件:[输入文件名和版本号]
第一章 项目框架整理说明
1.1 项目框架说明
框架包含了 11 个一级包,其含义如下:
包名
包简说明
描述
涉及到的技术
备注
Application 应用相关
查询
新增 thingsboard 接口,或后端添加业务
Common
公共部分
thingsboard 基础方法
Dao
业务层
接口\实现\数据访问层
Data-jpa
注解
Docker
docker 部署 打包或虚拟部署
Img
Msa
图片
Logo.png 图片
分布式
Netty-mqtt 协议
Rule-engine 规则引擎
规则引擎
Tools
工具类
系统工具类
第 6 页 共 31 页
可修改
不可修改
可修改
开发无需修
改此包,
可添加
不可修改
开发无需修
改此包,
开发无需修
改此包,
可修改添加
公司 Logo
内部文件:[输入文件名和版本号]
三种请求协议 coap,http mqtt,提供使
Transport
应用层实现
用(不可修改,可自定义协议,系统提供的
不可修改
三种协议)
UI
前端界面
后台管理系统界面
Angularjs、
ES6、Reactjs、
webpack、
node
可修改
Log
系统日志
系统错误日志收集器,以年月日展示
Logback
不可修改
表 1- 1 [代码包及功能一览表]
1.1.1 package 包功能描述
1.1.1.1 Application 应用相关类
appaction.main.java.org.thingsboard.server ThingsboardServerApplication.java(启
动类)
install
thingsboard 服务开启相关配置、异常和调用
exception
thingsboard 响应错误及错误逻辑处理
controller
thingsboard 页面展示必要的 系统数据 接口
service
config
为 controller 提供支持
为同源策略、swagger、webSocket、消息及安全配置注册 spring bean
1.1.1.2 Common
Data
用于与不同 db 之间的中间数据结构。
Message
定义不同的消息类型。
第 7 页 共 31 页
公司 Logo
内部文件:[输入文件名和版本号]
Transport
定义一个公共的接口,供与客户端的 transport 层使用
1.1.1.3 Dao
dao 抽象了对不同数据库的统一接口。dao 的接口数据一般都 data,根据不同的数据库在
不同的接口中转换为对应的实体类与数据库交互.通过@ConditionalOnProperty(prefix =
"database", value = "type", havingValue = "cassandra")动态注入不同的数据库
1.1.1.4 Docker
系统发布资源类
1.1.1.5 Img
系统图片类
1.1.1.6 Msa
black-box-tests
黑盒测试
js-executor
javascript 执行器
1.1.1.7 Netty-mqtt
数据交互协议
1.1.1.8 Rule-engine
规则引擎相关代码
1.1.1.9 Tools
系统工具类
1.1.1.10 Transport
http
coap
mqtt
Thingsboard 的 http 传输协议启动类
Thingsboard 的 coap 传输协议启动类
Thingsboard 的 mqtt 传输协议启动类
第 8 页 共 31 页