Site icon Elektrologi

Instalasi ThingsBoard IoT Gateway di Ubuntu 20.04

Arsitektur Thingsboard IoT Gateway

Arsitektur Thingsboard IoT Gateway

Ada beberapa cara instalasi ThingsBoard IoT Gateway:

Instalasi ThingsBoard

Pada tulisan ini akan diuraikan proses instalasi menggunakan PIP (Python) di Ubuntu 20.04.4

Pertama-tama update dan upgrade Ubuntu ke versi terbaru

sudo apt update && apt upgrade

Selanjutnya lakukan instalasi library di Ubuntu

sudo apt install python3-dev python3-pip libglib2.0-dev 

Selanjutnya instal ThingsBoard Gateway dengan pip:

sudo pip3 install thingsboard-gateway

Download contoh file konfigurasi dan buat folder log

wget https://github.com/thingsboard/thingsboard-gateway/releases/download/2.0/configs.tar.gz

Buat direktori untuk file-file konfigurasi

sudo mkdir /etc/thingsboard-gateway

Buat direktori untuk file log

sudo mkdir /var/log/thingsboard-gateway

Buka file-file konfigurasi

sudo tar -xvzf configs.tar.gz -C /etc/thingsboard-gateway

Jalankan thingsboard gateway dengan perintah berikut

thingsboard-gateway

Akan timbul pesan kesalahan seperti di bawah ini, karena belum dikonfigurasi

[STREAM ONLY] 2022-05-12 00:54:46,314 - ERROR - [mqtt_connector.py] - mqtt_connector - 142 - 'attributeRequests' section missing from configuration
[STREAM ONLY] 2022-05-12 00:54:46,315 - ERROR - [mqtt_connector.py] - mqtt_connector - 207 - [Errno 111] Connection refused
[STREAM ONLY] 2022-05-12 00:54:46,938 - ERROR - [tb_device_mqtt.py] - tb_device_mqtt - 146 - connection FAIL with error 3 server unavailable
[STREAM ONLY] 2022-05-12 00:54:46,939 - DEBUG - [tb_device_mqtt.py] - tb_device_mqtt - 123 - Disconnected client: <paho.mqtt.client.Client object at 0x7fb426ddc490>, user data: None, result code: 0
 nano /etc/thingsboard-gateway/config/tb_gateway.yaml

Konfigurasi Dasar

Buat device Iot Gateway di ThingsBoard. Caranya:

Selanjutnya adalah mengambil Access Token.


thingsboard:
  host: demo.thingsboard.io
  port: 1883
  security:
    accessToken: PUT_YOUR_GW_ACCESS_TOKEN_HERE

Maka file akan berubah seperti berikut ini:

thingsboard:
  host: 192.168.0.90
  port: 1883
  security:
    accessToken: KbllULqUCAj1PWt1pvCQ

Untuk sementara bagian lain dari file konfigurasi belum perlu diubah.

Hentikan thingsboard gateway dengan menekan CTRL-C di console Ubuntu.

Selanjutnya jalankan lagi thingsboard gateway dari console Ubuntu untuk melihat apakah ada perubahan

 thingsboard-gateway 

Akan muncul pesan seperti berikut ini:

[STREAM ONLY] 2022-05-12 01:19:55,467 - ERROR - [mqtt_connector.py] - mqtt_connector - 142 - 'attributeRequests' section missing from configuration
[STREAM ONLY] 2022-05-12 01:19:55,468 - ERROR - [mqtt_connector.py] - mqtt_connector - 207 - [Errno 111] Connection refused

Pesan itu normal, karena memang MQTT belum dikonfigurasi.

Selanjutnya lihat di web interface ThingsBoard untuk melihat apakah sudah ada koneksi dari thingsboard gateway.

Caranya:

Jika muncul data telemetry seperti di atas, maka artinya ThingsBoard gateway sudah berhasil berkomunikasi dengan ThingsBoard Server.

Tahap selanjutnya adalah melakukan konfigurasi connector di ThingsBoard Gateway supaya dapat menerima / mengirim data ke devices yang ada. Contohnya untuk REST API dapat dilihat di artikel “Koneksi REST API ke ThingsBoard IoT Gateway

Pada contoh ikni script thingsboard-gateway perlu dijalankan secara manual. Jika ingin dijalankan secara otomatis, dapat dibuat menjadi service atau ditambahkan ke crontab ataupun  etc/rc.local

Konfigurasi File Log

Pada contoh file konfigurasi yang diberikan, file log disimpan di “./log”, jadi relatif terhadap dari mana kita menjalankan thingsboard-gateway. Supaya rapi, file log disimpan di /var/log/thingsboard-gateway. Untuk itu edit file /etc/thingsboard-gateway/config/logs.conf untuk mengubah lokasi file log sesuai keinginan.

Berikut ini bagian dari file logs.conf yang mengatur lokasi file log

[handler_connectorHandler]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=LogFormatter
args=(“/var/log/thingsboard-gateway/connector.log”, ‘d’, 1, 7,)

[handler_storageHandler]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=LogFormatter
args=(“/var/log/thingsboard-gateway/storage.log”, ‘d’, 1, 7,)

[handler_serviceHandler]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=LogFormatter
args=(“/var/log/thingsboard-gateway/service.log”, ‘d’, 1, 7,)

[handler_converterHandler]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=LogFormatter
args=(“/var/log/thingsboard-gateway/converter.log”, ‘d’, 1, 3,)

[handler_extensionHandler]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=LogFormatter
args=(“/var/log/thingsboard-gateway/extension.log”, ‘d’, 1, 3,)

[handler_tb_connectionHandler]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=LogFormatter
args=(“/var/log/thingsboard-gateway/tb_connection.log”, ‘d’, 1, 3,)

 

Daftar Artikel Tentang ThingsBoard IoT Gateway

Referensi

Exit mobile version