MQTT with Pimoroni blinkt on RPi
RPi で MQTTをやってみる。
ソフトウェアは、mosquitto を利用する。
Broker ... いわゆる中継サーバ。RPi3。
Publisher ... 送信者。Mac。
Subscriber ... 受信者。RPi Zero W。
setup
Broker のsetup(RPi3)
RPi3 に mosquitto をsetup。
$ sudo apt-get install mosquitto
install 完了時点で、broker は起動済み。
$ ps aux | grep mos mosquit+ 3551 0.0 0.4 8228 4624 ? S 21:55 0:00 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Subscriver のsetup(RPi Zero W)
PRi Zero W に blinkt を載せているので、それを利用する。
https://shop.pimoroni.com/products/blinkt
blinkt は、Full Color RGB LEDを8個扱えるので、いろいろ便利。
pimoroni の blinkt 用sample プログラム mqtt.py をちょっと改造して利用する。
MQTT_SERVERを、RPi3 のip アドレスかhostnameに変更しておく。
./Pimoroni/blinkt/examples/mqtt.py
MQTT_SERVER = "rpi3.local"
blinkt が無くても、mosquitto の subscriver 機能を利用すればOK。
blinkt の起動前に、python の MQTT lib をinstall
$ sudo pip install paho-mqtt
Publisher のsetup(mac)
$ brew install mosquitto-clients
もし、/usr/local/sbin がないと下記のエラーとなる。
Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink sbin/mosquitto /usr/local/sbin is not writable. You can try again using: brew link mosquitto
自分で/usr/local/sbin を作成してから、再度 brew install する。
$ sudo mkdir /usr/local/sbin $ sudo chown $USER /usr/local/sbin
MQTTの実行
publisher(mac)
$ mosquitto_pub -h rpi3.local -t pimoroni/blinkt -m "rgb,1,0,5,5"
subscriber(RPi Zero W)
blinkt なし版
$ mosquitto_sub -t pimoroni/blinkt -h rpi3.local rgb,1,0,5,5
blinkt あり版
$ python ./Pimoroni/blinkt/examples/mqtt.py