Thingsboard açık kaynak IoT platformudur. Thingsboard u bilmeyenler şuradaki adresden inceleyebilir.
Elimizde Raspberry Pi 5 in 4CPU ve 8GB RAM li modeli bulunmaktadır. Amacımız Raspberry Pi 5 e Thingsboard u kurup fabrikamızda IoT platform olarak Thingsboard u kullanmaktır.
Senaryomuzda fabrikamızın içerisinde bir IoT sıcaklık nem ölçüm cihazımız vardır. Bu cihazımız Wifi ile ağa bağlanır ve MQTT üzerinden sıcaklık ve nem değerlerini Raspberry Pi 5 üzerine kurulu Thingsboard IoT platformuna aktarır.
Kuruluma Thingsboard un sitesindeki işlemler ile başlıyoruz. Bu işlemler şurada açıklanmıştır. https://thingsboard.io/docs/user-guide/install/rpi/
Rapberry Pi 5 e ssh ile login oluyoruz veya Rapberry Pi 5 e ekran, klavye ve mouse bağlayarak terminal ekranını açıyoruz. Aşağıdaki adımları sırasıyla yapıyoruz.
Adım 1. Java 17 (OpenJDK) yükleme
- sudo apt update
- sudo apt install openjdk-17-jdk
- sudo update-alternatives --config java
- java -version
- openjdk version "17.x.xx"
- OpenJDK Runtime Environment (...)
- OpenJDK 64-Bit Server VM (...)
Adım 2. ThingsBoard kurulumu
- sudo wget https://github.com/thingsboard/thingsboard/releases/download/v3.8.1/thingsboard-3.8.1.deb
- sudo dpkg -i thingsboard-3.8.1.deb
Adım 3. ThingsBoard ve Veritabanı ayarları
- sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- echo "deb https://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
- sudo apt update
- sudo apt -y install postgresql
- sudo service postgresql start
- sudo su - postgres
- psql
- \password
- psql -U postgres -d postgres -h 127.0.0.1 -W
- CREATE DATABASE thingsboard;
- sudo nano /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
Adım 4. Thingsboard yükleme ve Demo dataların yüklenmesi
- sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
Adım 5. Thingsboard servisinin başlatılması
- sudo service thingsboard start
- System Administrator: sysadmin@thingsboard.org / sysadmin
- Tenant Administrator: tenant@thingsboard.org / tenant
- Customer User: customer@thingsboard.org / customer
- mosquitto_pub -d -q 1 -h raspberry_pi_ip_adresi -p 1883 -t v1/devices/me/telemetry -u "T2_TEST_TOKEN" -m "{temperature:25}"