logo资料库

thingsboard源码分析,绝对有用.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
框架目录结构、技术及部署相关说明
参考资料
文档目的
声明
第一章: 项目框架整理说明
1.1项目框架说明
1.1.1package包功能描述
1.1.2thingsboard开发主要涉及到的包
1.1.3thingsboard代码类及接口说明
第二章: thingsboard涉及到的流程图
1.2物联网网关架构
1.3ThingsBoard微服务架构
1.4Thingsboard产品架构
1.5Thingsboard规则引擎
1.6ThingsBoard Architecture
第三章: 项目框架涉及到的第三方包或插件
数据库访问层,业务查询sql在thingsboard路径:
Jbcrypt-0.3m.jar 加解密工具 jBCrypt
ZooKeeper 3.5.4-beta.jar
xmlbeans-2.6.0.jar
JOpt Simple 4.6.jar
JOpt Simple 是一个简单的、测试驱动的命令行解析器,支持 POSIX getopt() 和
json-smart2.0.jar
javax.annotation-api-1.2.jar
Netty 可自定义通讯协议, 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你
Akka 用于演员系统实施,
第四章: ThingsBoard设备连接协议
1.7订阅消息传递协议(MQTT)
1.8请求响应模式(C
1.9请求响应模式(HTTP )
第五章: ThingsBoard打包
1.10后端打包
1.11前端打包方UI
第六章: ThingsBoard框架日志
第七章: ThingsBoard数据库
1.12关系数据库(使用了2个数据库)
1.13非关系数据库(redis)
第八章: 官网主要文档目录
1.14官网主要目录说明
第九章: 前端技术概述
1.15前端包括哪些技术点
1.16前端技术描述
第十章: 关于Thingsboard开发环境部署
第十一章:数据库表结构
公司 Logo 内部文件:[输入文件名和版本号] 框架目录结构、技术及部署相关说明 目 录 目录  参考资料...........................................................................................................................................3  文档目的...........................................................................................................................................3  声明...................................................................................................................................................3 第一章: 项目框架整理说明.....................................................................................................................4 1.1 项目框架说明............................................................................................................................4 表 1- 1 [代码包其功能一览表]...........................................................................................4 1.1.1 package 包功能描述........................................................................................................4 1.1.2 thingsboard 开发主要涉及到的包..................................................................................6 1.1.3 thingsboard 代码类及接口说明......................................................................................7 第二章: thingsboard 涉及到的流程图......................................................................................................8 1.2 物联网网关架构........................................................................................................................8 1.3 ThingsBoard 微服务架构.........................................................................................................9 1.4 Thingsboard 产品架构............................................................................................................. 9 1.5 Thingsboard 规则引擎........................................................................................................... 10 1.6 ThingsBoard Architecture..................................................................................................... 11 第三章: 项目框架涉及到的第三方包或插件.......................................................................................12 第四章: ThingsBoard 设备连接协议......................................................................................................16 1.7 订阅消息传递协议(MQTT)....................................................................................................16 请求时返回错误代码:............................................................................................................16 1.8 请求响应模式(CoAP).............................................................................................................17 请求时返回错误代码:............................................................................................................17 4.00 错误请求 - 无效的 URL,请求参数或正文。............................................................17 1.9 请求响应模式(HTTP )........................................................................................................... 17 请求时返回错误代码:............................................................................................................17 第五章: ThingsBoard 打包......................................................................................................................18 1.10 后端打包............................................................................................................................... 18 1.11 前端打包方 UI...................................................................................................................... 18 第六章: ThingsBoard 框架日志..............................................................................................................18 第七章: ThingsBoard 数据库..................................................................................................................18 1.12 关系数据库(使用了 2 个数据库)................................................................................... 18 1.13 非关系数据库(redis)............................................................................................................ 18 第八章: 官网主要文档目录...................................................................................................................18 1.14 官网主要目录说明............................................................................................................... 19 第九章: 前端技术概述...........................................................................................................................19 1.15 前端包括哪些技术点........................................................................................................... 19 1.16 前端技术描述....................................................................................................................... 19 第 1 页 共 21 页
公司 Logo 内部文件:[输入文件名和版本号] 第十章: 关于 Thingsboard 开发环境部署............................................................................................ 19 第十一章:数据库表结构................................................................................................................ 20 第 2 页 共 21 页
公司 Logo 内部文件:[输入文件名和版本号] 版本 0.01 发布时间 20190218 修订章节 作者 [对修订章节的描述从最近的一次修订开始] Zhaoh 参 考 资 料 1. 运 行 thingsboard 环 境 后 地 址 栏 输 入 :http://localhost:8080/swagger-ui.html ( 进 入 swagger 接口说明) 2. [列出参考资料名称,需增加参考资料项,请在行末回车] 文 档 目 的 编写此文档的目的是使开发人员快速对 thingsboard 框架的理解. 声 明 [对本文档内容进行声明] 第 3 页 共 21 页
公司 Logo 内部文件:[输入文件名和版本号] 第一章: 项目框架整理说明 [对项目框架整体进行描述.] 1.1 项目框架说明 框架包含了 11 外层包,其含义如下: 表 1- 1 [代码包其功能一览表] 包名 包简说明 描述 涉及到的技术 备注 Application 应用相关 Common Dao 公共部分 业务层 新增 thingsboard 接口,或后端添加业 务查询 thingsboard 基础方法 可修改 不可修改 接口,实现,数据访问层 Data-jpa 注解 可修改 Docker 打包,及虚拟部署 打包或虚拟部署 docker Img Msa Netty-mqtt 图片 分布式 协议 Rule-engine 规则引擎 Tools 工具类 Transport 应用层实现 Logo.png 图片 规则引擎 系统工具类 三种请求协议 coap,http mqtt,提供使 用(不可修改,可自定义协议,系统提 供的三种协议) Netty、MQTT 开发无需修 改此包, 可添加 不可修改 开发无需修 改此包, 开发无需修 改此包, 可修改添加 不可修改 UI 前端界面 后台管理系统界面 Angularjs 、 ES6、Reactjs、 webpack、node 可修改 日志 系统日志 系统错误日志收集器,会以年月日展 示 Logback 不可修改 1.1.1 package 包功能描述 [描述.] Application 第 4 页 共 21 页
公司 Logo 内部文件:[输入文件名和版本号] 应用相关类: appaction.main.java.org.thingsboard.server ThingsboardServerApplication.java(启动类) install exception controller service config thingsboard 服务开启相关配置、异常和调用 thingsboard 响应错误及错误逻辑处理 thingsboard 页面展示必要的 系统数据 接口 为 controller 提供支持 为同源策略、swagger、webSocket、消息及安全配置注册 spring bean Common data 用于与不同 db 之间的中间数据结构。 message 定义不同的消息类型。 transport 定义一个公共的接口,供与客户端的 transport 层使用 Dao dao 抽象了对不同数据库的统一接口。dao 的接口数据一般都 data,根据不同的数据库 在不同的接口中转换为对应的实体类与数据库交互.通过@ConditionalOnProperty(prefix = "database", value = "type", havingValue = "cassandra")动态注入不同的数据库 Docker 系统发布资源类 Img 系统图片类 Msa black-box-tests 黑盒测试 js-executor javascript 执行器 Netty-mqtt 数据交互协议 Rule-engine 规则引擎相关代码 第 5 页 共 21 页
内部文件:[输入文件名和版本号] 公司 Logo Tools 系统工具类 Transport http coap mqtt Thingsboard 的 http 传输协议启动类 Thingsboard 的 coap 传输协议启动类 Thingsboard 的 mqtt 传输协议启动类 UI 使用到的前端技术: Angularjs、ES6、Reactjs、webpack 前端 MVC、MVVM 框架 设计到前端打包配置文件:server.js, webpack.*.js 1.1.2 thingsboard 开发主要涉及到的包 [参考性] 如需在 thingsboard 添加新的接口 可参考:Usercontroller.java 类 包:application 1: Controller 2: dao 3: sql 第 6 页 共 21 页
公司 Logo 内部文件:[输入文件名和版本号] 1.1.3 thingsboard 代码类及接口说明 [相关代码类 controller 说明 , 文档使用了 swagger] 1: 管理控制器(admin-controller):管理控制器显示 2: 报警控制器(alarm-controller):报警控制器显示 3: 资产控制器(asset-controller):资产控制器显示 4: 审核日志控制器(audit-log-controller):审核日志控制器显示 5: 身份验证控制器(auth-controller):身份验证控制器显示 6: 组件描述符控制器(component-descriptor-controller):组件描述符控制器显示 7: 客户控制器(customer-controller):客户控制器显示 8: 仪表板控制器(dashboard-controller):仪表板控制器显示 9: 设备 API 控制器(device-api-controller):设备 API 控制器显示 10: 设备控制器(device-controller):设备控制器显示 11: 实体关系控制器(entity-relation-controller):实体关系控制器显示 12: 实体视图控制器(entity-view-controller):实体视图控制器显示 13: 事件控制器(event-controller):事件控制器显示 14: RPC 控制器(rpc-controller):RPC 控制器显示 第 7 页 共 21 页
公司 Logo 内部文件:[输入文件名和版本号] 15: 规则链控制器(rule-chain-controller):规则链控制器显示 16: 遥测控制器(telemetry-controller):遥测控制器显示 17: 租户控制器(tenant-controller):租户控制器显示 18: 用户控制器(user-controller):用户控制器显示 19: 控件类型控制器(widget-type-controller):控件类型控制器显示 20: 控件束控制器(widgets-bundle-controller):控件束控制器显示 详情运行 thingsbroads 开发环境后:输入地址查阅 http://localhost:8080/swagger-ui.html 第二章: thingsboard 涉及到的流程图 [输入正文] 1.2 物联网网关架构 对平台来说网关是一个设备:只不过网关的消息体和其他设备不一样 网关监听的是消息代理发送的消息针对 MQTT 来说,网关只不过选择性监听了 topic,构建 了一个映射“map”关系 网关详情:https://thingsboard.io/docs/iot-gateway/what-is-iot-gateway/ 第 8 页 共 21 页
分享到:
收藏