当前位置: 首页 > >

IOT学*笔记(二):ThingsBoard开发环境搭建(macOS)

发布时间:



IOT学*笔记(二):ThingsBoard环境搭建
1.版本说明2.环境搭建2.1 系统环境2.2 源码拉取及编译2.3 IDEA导入源码2.4 代码结构2.5 数据库安装2.6 运行程序



1.版本说明

????????ThingsBoard(以下简称tb),在官网看到一共有两个版本的tb,分别为Community Edition和Professional Edition两个版本,从名字就可以看出来,前一个是社区版,后一个是专业版。以下是对比。


1.社区版支持不全的功能:(basic版本,具体缺啥咱也不明白)
(1)NB-IoT,SigFox,LoRaWAN support()
(2)Rule Engine:Components(引擎规则)
2.社区版不支持的功能:
(1)Entity groups(实体组)
(2)Advanced RBAC for IoT
(3)Scheduler(调度器)
(4)Reporting(报告)
(5)Multi-tenant configurable white-labeling(多租户可配置白标签)
(6)CSV/XLS data export(数据导出)
(7)Platform Integrations(*台集成)


2.环境搭建

首先说明,这里搭建的是开发环境,不是运行环境,关于运行环境,运行环境在官网有详细说明,包含win,mac,CentOS,Ubuntu及阿里云,亚马逊云等服务器的部署教程,TB推荐使用docker,所以部署起来相当方便,基本上不用配置什么就可以跑起来。
这里详细说明的是开发环境的搭建。


2.1 系统环境

以下是需要的系统环境,实测可以运行通过;
(1)MacOS 10.14.5
(2)JDK 1.8.0_144:网上有人说必须是1.8,1.9编译不通过,我只安装了1.8,所以1.9没有测试;
(3)Maven 3.6.1
(4)Git 2.8.1
(5)nodejs v9.5.0
(6)IDEA 191.7479.19


2.2 源码拉取及编译

git地址:https://github.com/thingsboard/thingsboard/


mvn clean install -DskipTests
//说明:首次编译时间非常长,我的编译了快一个小时,编译成功会出现下图所示。


2.3 IDEA导入源码


选择Maven,一路点击next,然后进入IDEA主界面,等待编译完成;


2.4 代码结构
模块1模块2说明代码量
application应用网关(主要代码)19200
commondata用于不同数据库之间的数据结构5294
message定义不同的消息类型2520
transport定义一个公共的接口,共客户端调用1107
dao抽象了对不同数据库的统一接口
netty-mqtt1703
rule-enginerule-engine-api907
rule-engine-components4643
tools分别调用不同协议的后端服务224
transportcoap基于californium934
http基于rest的http服务389
mqtt基于netty开发1645

有好多我还不知道是做什么的,后续研究明白补充。


2.5 数据库安装

TB使用的数据库是postgresql,大家自行搜索安装;
安装完成后需要将数据库文件执行,将表填充;
sql文件位置:

然后将thingsboard.yml文件中修改三处数据库配置:

(1)数据库名;
(2)用户名;
(3)密码;


2.6 运行程序

入口程序路径:Application->src->main->java->org.thingsboard.server->ThingsboardServerApplication
右键运行就可以了;
提示:
我运行后出现了两个错误:
(1)org.thingsboard.server.config.ThingsboardMessageConfiguration类:L87,内部类SpringResourceLoader需要改写成static,否则报错;
(2)org.thingsboard.server.service.mail.DefaultMailService类:L78,updateMailConfiguration()方法,获取邮箱配置为null,代码这时候抛出异常,我注销掉了,应该是还需要配置一下邮箱,暂时没找到,先注释掉;


改完这两个,再次运行,完美启动;
浏览器输入:http://localhost:8080,打开如下界面:

用户名:sysadmin@thingsboard.org
密码:sysadmin
进入后是如下界面:

折腾一天,终于正常运行了,欢迎大家提出问题。



友情链接: year2525网 工作范文网 QS-ISP 138资料网 528200 工作范文网 baothai 表格模版