ThingsBoardという便利そうなIoT Platformを教えてもらったのでSakura VPSサーバーにインストールする方法を紹介します。
Sakura VPSスペック
Sakura VPSは石狩ゾーン、仮想2Coreの1GBメモリにOSはUbuntu22を選択。
UbuntuサーバーのUpdateとJAVAのインストール
インストール方法については公式サイトを参照
https://thingsboard.io/docs/user-guide/install/ubuntu/
まずは先ほど構築したSakura VPSにSSHで接続
パッケージをUpdateしてからUpgrade
$sudo apt-get update && sudo apt-get upgrade
Java11をインストールする
$sudo apt install openjdk-11-jdk
デフォルトで OpenJDK 11 を使用するように設定
$sudo update-alternatives --config java
設定バージョンの確認
$java -version
無事にJAVA 11をインストールすることができました。
ThingsBoard Community Editionのインストール
ThingsBoard Community Editionのパッケージをwget
$wget https://github.com/thingsboard/thingsboard/releases/download/v3.6.3/thingsboard-3.6.3.deb
ThingsBoardをインストールします。
$sudo dpkg -i thingsboard-3.6.3.deb
データベースの設定(PostgreSQL)
下記のコマンドをコピペして実行します。
# install **wget** if not already installed:
sudo apt install -y wget
# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# add repository contents to your system:
echo "deb https://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-15
sudo service postgresql start
PostgreSQLをインストールしたら、下記のように”postgres”というユーザーのパスワードを設定します。
一度、Ctrl+Dでpostgresからlogoutします。
$ psql -U postgres -d postgres -h 127.0.0.1 -W と入力した後、先ほど設定したパスワードを入力。
CREATE DATABASE thingsboard でデータベースを作成します。
ThingsBoardの設定
設定ファイルを編集
$sudo nano /etc/thingsboard/conf/thingsboard.conf
下記のコードでPostgreSQLのパスワードを先ほど作成したものに置き換えて、上記ファイルに追加します。
# 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
さらに、今回はメモリーが少ない(1GB)なので、下記のコードも設定ファイルに追加します。
# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
変更を保存するには、Ctrl+xを押したあとYでEnterです。
インストールスクリプトの実行
次のコマンドでインストールスクリプトを実行します。
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
このように表示されればインストールは成功です。
ThingsBoardサービスの開始
以下のコマンドでThingsBoard Serviceを開始します。
$sudo service thingsboard start
また、sudo service thingsboard statusと入力すると動いているかどうかの確認ができます。
Sakura VPS側でポートフィルターの設定
Sakura VPSで8080のポートを開けておきます。
ブラウザからThingsBoardを確認
サーバーのIPアドレス:8080をブラウザから開きます。
このようにログイン画面が表示されます。
デフォルトでは下記のようなアカウント設定がされています。
- System Administrator: sysadmin@thingsboard.org / sysadmin
- Tenant Administrator: tenant@thingsboard.org / tenant
- Customer User: customer@thingsboard.org / customer
なので、運用する場合はこれらのアカウントとパスワードは変更しておきましょう。
sysadminでログインした画面はこちらになります。
まとめ
以上、ThingsBoard Community EditionをSakura VPSにインストールする方法をご紹介しました。
あとは、SSL化や実際にMQTTを使ってデバイスからデータを受信してグラフ表示するなど、今後紹介していきます。