このページでは、MQTT, Node-RED, InfludDB, FIWARE等に関する覚書をメモしています。
MQTT
<基礎知識>
注)MQTTサーバー = MQTTブローカー
<ラズパイでMQTT>
注:M5Stackでシリアルが文字化けする場合には、通信速度を115200bpsにすると
<Mosquittoのインストールと基本的な使い方>
サーバー (Broker) のインストール
sudo apt install mosquitto
サーバーの起動
sudo systemctl start mosquitto
サーバーの再起動
sudo systemctl restart mosquitto
バージョンの確認
mosquitto -v
クライアントのインストール
sudo apt install mosquitto-clients
ホスト名、host_aa のブローカーにトピックを指定してのPublish
mosquitto_pub -d -m "メッセージ" -h <ホスト名/IPアドレス> --topic topic_1(もしくは-tオプションでも同じ)
ホスト名、host_aa のブローカーにトピックを指定してのサブスクライブ
mosquitto_pub -d -h <ホスト名/IPアドレス> --topic topic_1(もしくは-tオプションでも同じ)
他のマシンからのアクセス許可する方法やユーザー、パスワードを設定する方法
【備忘録】Raspberry Pi に Mosquitto MQTT Brokerをインストール
ワイルドカードの使用例
home/+/temperature:home 配下の任意のサブ階層の temperature トピックにマッチ
devices/#:devices 配下のすべての階層にマッチします(例:devices/smartphone/status、devices/laptop/battery など)。
※Pimoroniのenviroに関する情報
Enviro Weather (Pico W Aboard)
LAB 3: LoRaWAN example: send sensors values via TTN to Ubidots
Node-RED
InfluxDB, Grafana
【Iot環境センシング下準備】InfluxDB設定+Grafana+telegrafでラズパイデータ可視化 カッコいいグラフを作ろういn
Raspberry Pi上のInfluxDBに格納したデータをGrafanaで可視化する(Chronografとの比較も)
ISP1807搭載BLEマルチセンサーボードで計測した環境データ(温度・湿度・気圧)をRaspberry Piで可視化するシステムを作る – スイッチサイエンス マガジン
(以下2025.8月以降)
Raspberry Pi IoT Server Tutorial: InfluxDB, MQTT, Grafana, Node-RED & Docker 動画 IOTStackで influxbd1を使っている Arduiono+ラズパイ
Build IoT Server on Raspberry Pi: Node-RED + InfluxDB + Grafana + MQTT Tutorial (MING) 動画 IOTStackで influxbd2を使っている
Grafana
IOTStack
#295 Raspberry Pi Server based on Docker, with VPN, Dropbox backup, Influx, Grafana, etc: IOTstack 動画
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install -y curl
$ curl -fsSL https://raw.githubusercontent.com/SensorsIot/IOTstack/master/install.sh | bash
(自動的にリブート)
$ cd IOTstack
$ ./meny.sh
メニューが表示されるので -> Build Stack <-を選択する
矢印キーでインストールしたいDockerコンポーネントに移動してスペースで選択する
エンターキーで確定し、メニューに戻り ->Docker Commands <- を選択する
-> Start stack <- コマンドを選択する
Stackがスタートしインストールが完了するのを待って、エンターを押してメニューにもどる
-> Back <-でメインメニューに戻る
-> Exit <- でコマンドラインに戻る
$ docker-compose ps で現在走っているDockerコンテナの一覧やポート番号が確認できる
例:grafana :3000, influxdb: 8087, mosquitto: 1883, nodered: 1880, portainer: 9000 ??
influxdb2の初期IDは"me"パスワードは"mypassword"
grafanaの初期IDとパスワードはadmin (すぐにパスワードを更新するように求められる)
(IOTStackの終了方法)
$ cd IOTstack
$ ./meny.sh
メニューが表示されるので ->Docker Commands <- を選択する
-> Stop stack <- コマンドを選択する
-> Back <-でメインメニューに戻る
-> Exit <- でコマンドラインに戻る
もしくは、コマンドラインから
$ docker compose down
なお、同様に
$ docker compose up コマンドでDockerコンテナをコマンドラインから立ち上げることもできる
Influxdbの使い方
influxでシェルを起動、exitでシェルを終了
SHOW DATABASESコマンドで、今あるデータベースを表示
CREATE DATABASEコマンドで、データベースを作成
DROP DATABASEコマンドでデータベースを削除
USEコマンドでデータベースを選択
INSERTコマンドでデータの書き込み
INSERT <measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]
例: INSERT sensor,room=bedroom temperature=23.4,humidity=67.8,barometer=1023.4 1597746439000000000
TelegrafとInfluxDB
InfluxDB2.0+Grafana+Telegrafの構築 Dockerの利用
Raspberry Pi IoT Server Tutorial: InfluxDB, MQTT, Grafana, Node-RED & Docker 動画 ラズパイ利用
InfluxDB入門
<用語>
Measures(テーブルのこと)
Tags(インデックス(複数可):文字列データのみ)
Fields(データ:あらゆるデータ型が可能)
Shardds, Shard group(ある一定期間のデータのひとまとまり:デフォルトでは1週間)
Retention(データを保存しておく期間:デフォルトでは無期限)
FIWARE
FIWARE AgriGateways
SDR, rtl_433を使った気象データの蓄積
Take charge of your own Ambient weather data with Raspberry Pi, MQTT, an... (動画)
#209 How to Hack your 433 MHz Devices with a Raspberry and a RTL-SDR Don...(動画)
Install rtl_433 for a SDR-RTL Dongle on a Raspberry Pi – SensorsIOT
屋外電源
IFTTT
Blynk