Cara Memasang MQTTT, Node-RED, InfluxDB, Grafana pada Raspberry Pi

Kombinasi MQTT+Node-Red-InfluxDB-Grafana adalah popular untuk pembinaan dashboard untuk IOT sebagaimana Apache-MyQL-PHP untuk laman web.

Kelebihannya kerana untuk interaksi data , kita hanya perlu edit konfigurasi dan tidak perlu membuat pengaturcaraan untuk kemaskini pengkalan data, ambil data, dan membuat paparan.

Di sini dipaparkan cara untuk memasang keempat-empat aplikasi ini di dalam Raspberry Pi. Sekiranya anda ada Raspberry Pi yang menanggur, selain dari PiHole, boleh juga pasang aplikasi ini supaya anda bersemangat untuk fokus kepada IOT dan tidak mahu pening memikirkan tentang pengaturcaraan.

Mosquitto (MQTT)

sudo apt install mosquitto mosquitto-clients
echo "mqtt_username:mqtt_password" > pwfile
cat pwfile
mosquitto_passwd -U pwfile
cat pwfile
sudo mv pwfile /etc/mosquittoCode language: PHP (php)

Edit fail konfigurasi untuk menambah password untu tujuan keselamatans

sudo nano /etc/mosquitto/mosquitto.conf

Di bawah adalah yang perlu ditambah dalam fail mosquitto.conf

#edit configuration file
allow_anonymous false
password_file /etc/mosquitto/pwfile
listener 1883Code language: PHP (php)

Boleh cuba buka satu terminal dan buka topik menggunakan mosquitto_pub

sudo /etc/init.d/mosquitto restart

mosquitto_pub -h 192.168.1.xxx -m "test message"  -t environment/co2 
#Ralat kerana tidak memasukkan username & password
#Connection error: Connection Refused: not authorised.
#Error: The connection was refused.

mosquitto_pub -h 192.168.1.xxx -m "test message"  -t environment/co2 -u mqtt_username -P mqtt_password Code language: PHP (php)

Boleh cuba langgan topik menggunakan mosquitto_sub

mosquitto_sub -v -t '#'
#Ralat kerana tidak memasukkan username & password
#Connection error: Connection Refused: not authorised.
#Error: The connection was refused.

mosquitto_sub -v -u mqtt_username -P mqtt_password -t '#'
berCode language: PHP (php)

InfluxDB

Selepas Mosquitto, komponen seterusnya adalah InfluxDB, anda boleh mendapatkan arahan terkini dari laman web influxDB

rujuk di sini :


wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.listCode language: PHP (php)
sudo apt update
sudo apt upgrade
sudo apt update && sudo apt install -y influxdb
create database home
use home

create user grafana with password '<passwordhere>' with all privileges
grant all privileges on home to grafana

show users

user admin
---- -----
grafana trueCode language: JavaScript (javascript)

Node-Red

Komponen seterusnya adalah Node-Red

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

sudo systemctl enable nodered.serviceCode language: JavaScript (javascript)

antaramuka web boleh diakses pada http://localhost:1880

Grafana

Sekarang kita pasang Grafana untuk dashboard

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.listCode language: PHP (php)

Grafana boleh dilihat melalui alamat http://localhost:3000. username asal adalah admin dan password admin, anda boleh menukar kedua-duanya.

boleh ikut arahan di sini, dan sini

Youtube ini menerangkan secara terperinci bagaimana caranya untuk menggunakan ketiga-tiganya untuk membaca bacaan sensor dan memaparkan graf dalam Grafana.

Leave a Reply

Alamat e-mel anda tidak akan disiarkan. Medan diperlukan ditanda dengan *

Related Post