Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

这篇具有很好参考价值的文章主要介绍了Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Thingsboard源码安装并更换logo

1. 源码拉取

本教程按照3.4发行版本行进

git clone https://github.com/thingsboard/thingsboard.git
git checkout release-3.4

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

2. 导入项目

打开IEDA(Jetbrains系列产品),以打开pom文件的方式导入项目

在拉取的项目中有若干pom文件,选择项目源码根目录下的pom.xml进行导入

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

设置maven

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

根据读者本地环境设置maven环境,建议换用国内源,否则包下载较慢。

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

笔者主要配置如下:

配置文件路径E:\maven-java\apache-maven-3.6.0-bin\apache-maven-3.6.0\conf

<localRepository>D:\maven-java\maven_repository</localRepository>
 <mirrors>
    <mirror>  
   		<id>nexus-aliyun</id>  
   		<mirrorOf>central</mirrorOf>    
   		<name>Nexus aliyun</name>  
   		<url>https://maven.aliyun.com/repository/public</url>  
   	</mirror> 
 </mirrors>

3. 项目编译

前置条件,项目需要本机有node和postgresql的环境。

postgresql安装过程参考:

windows下postgreSQL安装与启动 - 三月老泉 - 博客园 (cnblogs.com)

node安装笔者使用的较新的v18.15.0,但是笔者建议使用v16.15,对于thingsboard的适配会更好。

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

thingsboard的包管理方式变成了yarn,需要安装yarn,笔者版本为1.22.4

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

npm install -g yarn

安装后记得将pom文件中的插件版本对应修改,模块分别有

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

修改内容均为(请读者按自己的环境定参)

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

项目编译

为了节省时间,将licsen检查的插件注释,跳过

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

在IDEA中使用终端打开到根目录,使用如下两个命令

# node 最新版本的ssl是严格检查的,容易在下包的过程中出现超时问题
set NODE_OPTIONS=--openssl-legacy-provider
# 使用maven编译安装
mvn clean install -DskipTests

报错集合

common.msg.gen.*

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

缺少common.msg.gen.*,意味着下载的包不完整

查看maven的报错是SSL验证超时

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

报错信息简抽

ui-ngx: Failed to run task: 'yarn install' failed. org.apache.commons.exec.ExecuteException: Process exited with a

使用yarn config list查看,发现的新版的yarn是严格检查ssl的

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

# 严格检查SSL关闭设置
yarn config set strict-ssl false

设置完仍然会出现安装的超时报错,考虑外网问题,报错的包地址为https://github.com/MichaelZinsmaier/CurvedLines.git

全局搜索定位到了其package.json

使用代理的方式修改github地址,即项目地址前拼接https://ghproxy.com/

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

yarn.lock也修改一下(路径在thingsboard/ui-ngx/yarn.lock

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

digital envelop routines::unspported

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

原因

出现这个错误是因为 node.js V17版本+最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.

参考 Vue 报错error:0308010C:digital envelope routines::unsupported_柠檬果子青的博客-CSDN博客

推荐使用方法三,否则会一直修改临时配置

set NODE_OPTIONS=--openssl-legacy-provider

Not found in remote cache

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

pkg打包原理性文章参考一处打包,到处运行,用pkg打包nodejs应用! - 亚楠老猎人 - 博客园 (cnblogs.com)

原因:本地缺少fetched-v16.15.0-win-x64这个文件

下载链接

Releases · vercel/pkg-fetch (github.com)

找v3.4,v3.5没有16.15对应的文件

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

将缺少文件复制到User目录下的.pkg-cache中

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

重命名为fetched-v16.15.0-win-x64

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

最终编译成功

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

4. 项目启动

修改必要配置文件

项目根目录下的thingsboard/application/src/main/resources下有个thingsboard.yml

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

项目运行,启动E:\gitCloneZone\thingsboard\application\src\main\java\org\thingsboard\server\ThingsboardServerApplication.java的spring启动类ThingsboardServerApplication

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

启动成功

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

访问本机localhost:8080登录默认系统账户sysadmin@thingsboard.org(密码为sysadmin)即可使用

5. 修改logo

首先要定位logo在源码中的位置

与logo有关的源码位置

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

路径分别为

thingsboard/ui-ngx/src/environments
thingsboard/ui-ngx/src/app/modules/home
thingsboard/ui-ngx/src/app/shared/compoents

文件已经在上图中列出

environment.prod.ts

记得编码格式也对应修改,appTitle为标题

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

environments.ts

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

logo操作的图片是svg矢量图,我们需要将自定义的logo转换成矢量图,这种教程很多,请读者自行调查。

需要操作的logo图在ui-ngx模块下。其中,在浏览器页签上显示的为thingsboard.ico,其为ico图标,网上也有很多转换为ico图标的工具。在登录页面和thingsboard后台的左上角的logo即为svg矢量图,存放在ui-ngx的src下的assets下,命名为logo_title_white.svg,打开该图像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-neHsZeVW-Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

可以看到,其为分辨率1543$\times$320,那么我们制作的svg矢量图也应该是这个分辨率的图片。

实测分辨率替换为相同分辨率图片的时候,然后会出现logo显示不规整的情况。所以,我们替换图片之后仍然需要去控制台手动调样式以适应我们自己的感官。

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

后台亦是如此

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

可以看到,logo的样式均为tb-logo-title,当我们调好合适的参数之后可以修改样式

登录页的logo样式:logo.component.scss(将参数修改为自己矢量图合适的样式参数)

:host-context(.login-logo) {
  img.tb-logo-title {
    width: 280px;
    height: 60px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transform: none;

    &:focus {
      outline: 0;
    }
  }
}

后台导航栏的logo样式:home.component.scss

& > div {
          height: 64px;
          .tb-logo-title {
            width: auto;
            max-width: 100%;
            height: 36px;
            max-height: 100%;
            margin: auto;
          }
        }

其中我们的logo点击会跳转官网首页,这一部分在ts文件中修改

logo.compoent.ts(修改https://thingsboard.io为自己指定的地址)

export class LogoComponent {

  logo = 'assets/logo_title_white.svg';

  gotoThingsboard(): void {
    window.open('https://thingsboard.io', '_blank');
  }

}

ico图标文件替换之后即生效

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

改动文件汇总:

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

6. 部署(rpm deb方式)

本章的前提是数据库等已存在并非一个空白服务器,空白服务器请参照笔者的前两篇博客进行基础环境的部署。

请参考《ThingsBoard开源物联网平台智慧农业实例快速部署教程(Ubuntu、CentOS适用)》

《Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【手把手部署UI与动态数据】

编译成功之后在application模块下会产生target目录,该目录下会留存生成的包。

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

我们将rpm包或者deb包送入对应的服务中,按照如下操作流程进行。

redhat及分支如redhat,centos,Fedora等

# 停掉原本的thingsboard服务
systemctl stop thingsboard.service
# 卸载原有thingsboard
rpm -e thingsboard
# 安装新导入的包
sudo rpm -Uvh thingsboard.rpm
# 修改配置文件
sudo vim /etc/thingsboard/conf/thingsboard.conf
# 重启服务
systemctl daemon-reload
systemctl restart thingsboard.service

debian及分支如debian,ubuntu等文章来源地址https://www.toymoban.com/news/detail-409700.html

# 停掉原本的thingsboard服务
sudo systemctl stop thingsboard.service
# 卸载原有thingsboard
sudo dpkg -r thingsboard
# 安装新导入的包
sudo dpkg -i thingsboard.deb
# 修改配置文件
sudo vim /etc/thingsboard/conf/thingsboard.conf
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart thingsboard.service

到了这里,关于Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Github 上最流行的开源物联网平台—ThingsBoard

    ThingsBoard 作为目前 Github 上最流行的 开源物联网平台之一 ,可以实现物联网项目的快速开发、管理和扩展物联网项目, 是中小微企业物联网平台的不二之选。 使用ThingsBoard,您可以: 提供设备、资产和客户,并定义它们之间的关系。 从设备和资产中收集并可视化数据。 通过

    2024年02月16日
    浏览(48)
  • 开源物联网平台Thingsboard安装部署详细教程(适用于windows、linux平台)

    物联网平台这个词可能大多数人都不陌生,我们今天要介绍的Thingsboard就是其中一种。在我看来,thingsboard具有简单易用、开源免费的特点,例如可以将其部署于本地局域网,同时进行二次开发以满足个性化需求。说了这么多,thingsboard到底可以做什么呢?下面是官网的介绍:

    2024年02月03日
    浏览(49)
  • 华为云云耀云服务器L实例评测|部署功能强大的开源物联平台ThingsBoard

    ThingsBoard介绍 ThingBoard是一个开源的物联网(IoT)平台,旨在为智能设备、传感器和执行器的远程管理和控制提供一站式解决方案。它提供了一套功能强大的Web界面,允许用户监控和控制其物联网设备,同时支持设备之间的自定义通信和协作。ThingBoard平台具有设备管理、数据

    2024年02月08日
    浏览(40)
  • 物联网智慧种植农业大棚系统

    一、项目背景 智慧农业是是将物联网技术和农业生产箱管理的新型农业,依托部署在农业生产现场的各种传感节点,以物联网网关为通道形成数据传输网络,可以实现控制柜、环境监测传感器、气象监测机器等设备的远程监控,达到及时高校的管理控制,保证正常的农业生产

    2024年02月10日
    浏览(45)
  • 智慧农业建设方案中的物联网技术

    物联网即“物物相联之网”,指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把物与物,人与物进行智能化连接,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种新兴网络。它不是一种物理上独立

    2024年02月04日
    浏览(53)
  • OpenRemote: Java 开源 IoT 物联网开发平台,匹配智慧城市、智能家居、能源管理

    OpenRemote 是一个直观、用户友好的基于Java语言的开源 IoT 物联网设备管理平台,它包括从连接设备到构建应用程序和特定领域的智能应用程序的所有功能和特性。通过OpenRemote物联网平台,用户可以收集和处理来自不同设备的传感器数据,适用于智能家居、智慧城市、能源管理

    2024年02月08日
    浏览(50)
  • 【雕爷学编程】Arduino智慧农业之物联网应用

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年02月19日
    浏览(44)
  • 【物联网应用案例】从0到N,智慧农业的数据价值

    智慧农业全方位渗透到农业的每一个环节,云端解决方案更推动了研究人员、农艺师及农民间的密切协作,为研发企业提供了既经济又具扩展性的完美方案。 据IDC预计,到2036年,农场收集的数据量将增加800%以上,这凸显了农业数字化转型对其影响。 为了满足全球超过80亿人

    2024年03月10日
    浏览(53)
  • 智慧农业:温室大棚物联网系统,助力实现可视化科学管理

    我国传统农业的特点是靠天吃饭,而智慧农业发端于物联网设备和对应的农业信息化管理系统,是利用数字技术、数据分析和人工智能等先进技术手段,对农业生产进行精细化管理和智能化决策的一种新型农业生产模式。它可以通过实时监测、预测和调控土壤、气象、水文、

    2024年02月13日
    浏览(58)
  • 基于物联网的智慧农业监测系统(前端界面有web端和微信小程序端)

    农业是国民经济的基础,在国家经济发展中有着不可替代的重要作用。随着物联网技术的快速发展,智慧农业已成为了现代农业发展的新方向。基于此,本文设计并实现了一套基于物联网的智慧农业监测系统,系统采用ESP32作为主控板,并搭载多种传感器,实时采集与农作物

    2024年02月03日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包