第一章:前言
本文主要记录了利用thingsboard部署一套单位使用的物联网管理系统。设备目前包括:空调、用电,将来可能包括消防,设备分散在多个地点。
所有内容都是实际发生的项目,step by step,适合于利用thingsboard搭建实用系统的人群围观。主要是为了自己能记录下项目实施过程。
项目实施时间:2024年7月
使用的thingsboard版本:ThingsBoard 3.7 Release
安装的服务器系统:Ubuntu 24.04 LTS
第二章:项目拓扑
第三章:服务器系统安装
为了方便维护及未来的迁移,此次thingsboard服务器使用Vmware部署,前提条件先安装Vmare。
考虑到后续的扩展,补丁支持等因素,服务器操作系统采用ubuntu server。同时我也试过centos,redhat,走了不少弯路。发现ubuntu server最为简单,基本都是秒成功的。强烈推荐。
前往 https://cn.ubuntu.com/ 下载。
我下载的文件是:ubuntu-24.04-live-server-amd64
1、新建虚拟机
1.1、配置
鉴于thingsboard能轻松应对上万台设备,我们项目中设备不会超过1000台,所以这边采用了2个处理器,8个内核的配置。由于要做些适用性开发,比如界面修改啥的,所以后续会安装ubuntu的桌面。因此内存配高些16G。
根据官方文档,如果你你的消息每秒小5000条,使用PostgreSQL就足够了,大于的话就需要PostgreSQL+Cassandra了。对于我的应用,是不会大于这个数量的,而且我觉得对于大部分的项目来说,PostgreSQL足够了,除非你想为更多的人提供服务。
PostgreSQL最小要求4G内存
PostgreSQL+Cassandra 最小内存要求8G
注意:
如果项目不大,建议后续消息队列采用内存模式,一是配置简单,二是对主机配置要求不高,当然内存稍微配高点即可。
如果你的项目确实有很多设备,那建议后续消息队列采用RabbitMQ,不过RabbitMQ太耗资源。因此必须另外开台虚拟机来作为RabbitMQ服务使用。
网络采用桥架网络,让Thingsboard能获得局域网的权限,方便后续的设置。
如采用NAT地址转换,则后续要在宿主主机上开启相应的端口才能访问到。
磁盘采用推荐方式
硬盘尽量设置了大一点。因为后续thingsboard的postgresql数据库记录会非常庞大,磁盘会远远不够。更加之前的测试经验,差不多如果实时记录所有数据,1个月300台设备需要10G左右的空间。我们后续可通过修改postgresql的设置,设置记录发送的频率来降低这个存储。但最好上来设置的大一些。这里我们先设置2T,超过2T的话会报警,所以简单点用2T吧。
最终我的配置如下:
2、Ubuntu server 安装
回车后耐心等待.........
选择英文后回车,
键盘配置,回车
安装基础的 Ubuntu server
网络设置:
服务器部署当然需要固定IP啦,这一步不要用DHCP,不然后面多事出来。
移动上下键选择 ens33回车,选择Edit IPv4回车
选择Maual
这是我的配置:
这里不讲理论,大白话解释一下:
subnet:这个是你电脑所处的网段,我这里是192.168.1.0-192.168.1.255,所以设置为192.168.1.0,后面/24代表整改网段。
address:这台服务器的IP地址,要是在subnet一个网段内的地址
getway:网关
name servers:DNS服务器,这里用的是114.114.114.114
保存后退出。
一切顺利的话,回车。
代理地址可以不选,这个 https://cn.ubuntu.com/ 下载的ubuntu系统默认用的就是国内的。
如果网络正常的话,这里过一会回出现 This mirror location passed tests。
我们回车进入下个画面。
分区有点复杂,我也懒的搞了,直接默认吧,Done下一步、下一步!
继续
输入相关信息,密码
忽略开启pro,反正后面开也是可以的。
OpenSSH server 要安装,后面要用终端连接的。
这些功能统统不用,直接下一步
开始漫长的等待.......................
提示安装完毕。reboot now重启。
这里回提示光驱里有光盘,要按一次回车弹出光盘,才能重启
重启后一切正常
至此服务器部分安装结束。