谷动谷力

 找回密码
 立即注册
查看: 1684|回复: 0
打印 上一主题 下一主题
收起左侧

thingsboard代码及原理分析--源码及环境准备

[复制链接]
跳转到指定楼层
楼主
发表于 2020-12-8 14:24:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

参考网址:https://thingsboard.io/docs/getting-started-guides/helloworld/

github地址:https://github.com/thingsboard/thingsboard 国外的慢如牛,可以用码云的快

gitee地址:https://gitee.com/mirrors/ThingsBoard

演示环境:https://demo.thingsboard.io/login。注册时总提示“请确认不是机器人”

开发环境教程:

使用技术(https://thingsboard.io/docs/reference/architecture/):

actor模型:akka

用作服务调度:zookeeper

远程调用:gRPC,thrift

持久化:Cassandra(https://cassandra.apache.org/数据存储),datastax(数据访问)


1:环境搭建(Mac)

Eclipse Luna。由于thingsboard使用了jdk1.8的一些技术,所以使用Eclipse Luna,因为该版本支持1.8编译。

lombok插件安装:thingsboard使用了lombok的@Getter @Setter注解。所以需要安装lombok插件.

下载https://projectlombok.org/downloads/lombok.jarhttps://projectlombok.org/all-versions

双击运行lombok.jar或者执行java -jar lombok.jar.选择需要安装lombok的eclipse,点击install/update。

成功后会在eclipse.ini的同目录下生成lombok.jar.并且在eclipse.ini中添加-javaagent:lombok.jar

重启eclipse。


包括模块:

application

common(data,message,transport):data用于与不同db之间的中间数据结构。message定义不同的消息类型。transport定义一个公共的接口,供与客户端的transport层使用

dao:dao抽象了对不同数据库的统一接口。dao的接口数据一般都data,根据不同的数据库在不同的接口中转换为对应的实体类与数据库交互.通过@ConditionalOnProperty(prefix = "database", value = "type", havingValue = "cassandra")动态注入不同的数据库

tools:

extensions(extension-kafka,extension-mqtt,extension-rabbitmq,extension-rest-api-call):分别调用不同协议的后端服务

extensions-api:定义aciton,filter,plugin,processor及其他基本对象

extensions-core:实现一些公用aciton,filter,plugin,processor

tools:

transport(http,caop,mqtt):mqtt基于netty开发mqtt服务器。http提供基于rest的http服务。基于californium搭建coap服务。对不同的客户端设备提供不同类型的接口.同时将消息转换成不同的message,通过DefaultActorService与后端的actor交互

ui:使用nodejs开发。


Attributes(https://thingsboard.io/docs/user-guide/attributes/):设备属性:

Telemetry(https://thingsboard.io/docs/user-guide/telemetry/):设备数据

RPC(https://thingsboard.io/docs/user-guide/rpc/):服务器与设备间通信


规则引擎:规则与插件。基于actors执行。

规则包含Filters,Processors,Action


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-5-6 21:27 , Processed in 0.085885 second(s), 34 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表