thingsboard 是一款优秀的物联网平台软件,具体介绍请登录 查看, 赞美的话不多少,这里主要是编译代码,搭建 debug 环境,这里的环境是指 windows 环境、
thingsboard 还在活跃中,本文采用的代码是截止到 2018.8.10 的代码, 用 tortoisegit clone 代码到本地目录即可
让 node 运行起来 代码 clone 到本地后,在根目录下执行 mvn clean install 指令, 但很有可能会报错
netty-mqtt
common
rule-engine
dao
transport
ui
tools
application
从 pom.xml 中可以看出,整个项目会编译哪些模块,我在实际编译过程中编译 ui 时会报错。 但其实 thingsboard 采用的前后端分离的架构,这里我们不一定要 ui 编译成功 , 只需要 node 能够正常运行就好,这里我么先执行 npm install, 然后运行 node ./server.s ,让 node 服务器先运行起来, node 正常运行会监听
node 正常运行后,依赖于后台的 api 接口,接下来我们编译 api
接下来我们改造下 pom.xml , 将 ui 屏蔽掉
同时去掉 license 的检查(将红圈的里代码删掉)
为了让 api 组件快速编译,我们跳过 测试, 直接执行 mvn package -dskiptests, 编译完成后可以看到在 application 的 target 目录下看到以下生成的文件,这表明已经编译成功
cassandra 安装请参考 ,安装完成后请用 这两个 cql 文件
上面是直接用命令行的方式编译 thingsboard, 但我们调试过程中需要用到 ide,以便调试
从 idea 直接 open thingsboard 的根目录,打开完成后可以看到如下结构
这里我们采用 cassandra 数据库,将 application.yml 第 58 行 database_type 改为 cassandra
同时将内置的数据库删掉
然后运行程序
如果一切正常,我们可以看到如下信息
一切正常后,我们直接访问 , 然后输入用户名 sysadmin@thingsboard.org, 密码 sysadmin 登录,如果正常则可看到如下界面,则表明我们已经编译成功
来源: