开源物联网系统 ThingsBoard 上手

开源物联网系统 ThingsBoard 上手

在这里插入图片描述

centos yum 被占用问题解决:
描述:Another app is currently holding the yum lock; waiting for it to exit
参考:https://blog.csdn.net/Dan1374219106/article/details/112450922

查看yum占用:
ps aux | grep yum
解除占用
rm -f /var/run/yum.pid

安装环境:CentOS 7;ThingsBoard CE 3.4.1

0. 预备

# Install wget
sudo yum install -y nano wget
# Add latest EPEL release for CentOS 7
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

1. 安装 Java 11(OpenJDK)

sudo yum install java-11-openjdk

设置 Java 11 为系统jdk默认版本

sudo update-alternatives --config java

检查 java 版本

java -version
输出:
openjdk version "11.0.xx"
OpenJDK Runtime Environment (...)
OpenJDK 64-Bit Server VM (build ...)

2. ThingsBoard 服务安装

下载安装包

wget https://github.com/thingsboard/thingsboard/releases/download/v3.4.1/thingsboard-3.4.1.rpm

安装 ThingsBoard 服务

# 这里有个坑,网速慢,下载下来有两个,实际我是安装的  thingsboard-3.4.1.rpm.1
sudo rpm -Uvh thingsboard-3.4.1.rpm

3. 配置 ThingsBoard 数据库

ThingsBoard 支持关系型数据库,或者关系型数据库+时序数据库(Cassandra,TimescaleDB), 这里使用 PostgreSQL。

# 升级系统
sudo yum update

安装 PostgreSQL

# Install the repository RPM (for CentOS 7):
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Install packages
sudo yum -y install epel-release yum-utils
sudo yum-config-manager --enable pgdg12
sudo yum install postgresql12-server postgresql12
# Initialize your PostgreSQL DB
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl start postgresql-12
# Optional: Configure PostgreSQL to start on boot
sudo systemctl enable --now postgresql-12

为 postgres 用户设置密码:

sudo su - postgres
psql
\password
\q

Ctrl+D 退出。

设置验证模式为 MD5:

sudo vim /var/lib/pgsql/12/data/pg_hba.conf

定位到以下内容:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident

将 ident 替换为 md5

host    all             all             127.0.0.1/32            md5

重启 PostgreSQL 服务,重载新的配置

sudo systemctl restart postgresql-12.service

创建 thingsboard 数据库

psql -U postgres -d postgres -h 127.0.0.1 -W

执行以下 SQL 语句:

CREATE DATABASE thingsboard;
\q

编辑 ThingsBoard 配置文件

sudo vim /etc/thingsboard/conf/thingsboard.conf

添加如下内容,并配置相应的数据库密码:

# DB Configuration 
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS

4. 选择 ThingsBoard 队列服务

默认为 内存 方式

5. 内存低的电脑,可以更改配置文件(可选)

sudo vim /etc/thingsboard/conf/thingsboard.conf

增加以下内容:

# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"

6. 运行安装脚本

# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

在这里插入图片描述

7. 启动 ThingsBoard 服务

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

启动 ThingsBoard:

sudo service thingsboard start

访问地址:

http://localhost:8080/

如果执行了第六步,会有示例用户信息:

System Administrator: sysadmin@thingsboard.org / sysadmin
Tenant Administrator: tenant@thingsboard.org / tenant
Customer User: customer@thingsboard.org / customer

在这里插入图片描述

安装后

  1. 故障排查,ThingsBoard 日志位置:

    /var/log/thingsboard
    
  2. 查看错误日志:

    cat /var/log/thingsboard/thingsboard.log | grep ERROR
    

初次练手

参考:Getting Started with ThingsBoard | ThingsBoard Community Edition

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文档 一步步搭建物联网系统 HTTP vs CoAP 现有的这个版本是HTTP版,目前的CoAP版正在开发中,欢迎加入。 https://github.com/phodal/iot-coap Minimum Internet of Things A Minimum IOT with arduino and raspberry pi. 一个最小的物联网系统设计方案及源码 android/ 一个最小的Android程序实例 rest/ PHP Laravel Framework to create RESTful API python/ 简单的pyhon示例 hardware/ 硬件串口通信收集 -/ arduino Arduino板 doc/ 文档 简介ppt nginx配置 系统框架图 dashboard/ 基于ruby框架dashing的dashboard 简要的初始化代码说明 代码中因为有两个子模块,即Android与REST,Android是一个简单的Android程序示例,REST作为子模块的原因是考虑到后期会用更简单的源码来替换。但是laravel作为一个运行环境,还是很理想的。 先clone git clone git@github.com:phodal/iot.git iot or git clone https://github.com/phodal/iot.git iot 子模块 git submodule init git submodule update 系统框架图 测试 1.将arduino/BareMinimum.ino 烧录到开发板上 2.执行get.py (ps:如果用的是Windows系统 需要将get.py中的 /dev/ttyACM0 改为 COM*.) sudo python python/get.py 3.打开 http://localhost/athome/create 创建一个数据。打开 http://localhost/athome/1/edit 编辑状态 4.测试网址: b.phodal.com 如何在Android手机上测试 1.下载安装 Stay at Home 交流 QQ群:348100589 中文文档 一个最小的物联网系统设计方案及源码 最小物联网系统(一)——系统组成 最小物联网系统(二)——RESTful 最小物联网系统(三)——创建RESTful 最小物联网系统(四)——详解Laravel的RESTful 最小物联网系统(五)——Laravel RESTful模板化 最小物联网系统(六)——Ajax打造可视化 最小物联网系统(七)——与服务器通讯 最小物联网系统(八)——与单片机通讯 最小物联网系统(九)——Android客户端 最小物联网系统设计——给Laravel添加测试 最小物联网系统——Dashboard License © 2014 Phodal Huang. This code is distributed under the MIT license. 标签:物联网
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值