実装手順
1. grove.pyとpaho-mqttモジュールをインストール以下のコマンドでgrove.pyとpaho-mqttモジュールをインストールします。
curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -
pip3 install paho-mqtt
2. paho MQTTでメッセージを受信するプログラムを作成する
以下のプログラムで受け取った明るさのデータを表示します。
mosquitto_sub_grove_ultrasonic_ranger.py
import paho.mqtt.client as mqtt
topic = "mosquitto/test"
host = "localhost"
port = 1883
secs_keep_alive=60
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe(topic)
def on_message(client, userdata, msg):
print("received: {}".format(msg.topic))
print(str(msg.payload))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(host, port, secs_keep_alive)
client.loop_forever()
・実行方法
以下のコマンドで受信プログラムを実行します。止める場合はCtrl+Cで止めてください。
python3 mosquitto_sub_grove_ultrasonic_ranger.py
3. 距離データの送信
以下のプログラムで距離データを送信します。
mosquitto_pub_grove_ultrasonic_ranger.py
import paho.mqtt.publish as publish
from grove.grove_ultrasonic_ranger import GroveUltrasonicRanger
import time
PIN_D5 = 5
sensor = GroveUltrasonicRanger(PIN_D5)
def read_grove_ultrasonic_ranger():
return sensor.get_distance()
topic = "mosquitto/test"
host = "localhost"
port = 1883
secs_keep_alive=60
val = read_grove_ultrasonic_ranger()
publish.single(topic, "read_grove_ultrasonic_ranger:{}".format(val), hostname=host, port=port, keepalive=secs_keep_alive)
・実行方法
以下のコマンドで送信プログラムを実行します。
python3 mosquitto_pub_grove_ultrasonic_ranger.py
関連情報
・Raspberry Pi ZeroとGrove Base HAT for Raspberry Piと超音波距離センサモジュールで距離を取得する・Raspberry Pi ZeroとGrove Base HAT for Raspberry Piと超音波距離センサモジュールで距離を返すREST APIを作成する
・Raspberry Pi ZeroとGrove Base HAT for Raspberry Piと超音波距離センサモジュールで距離をPostgreSQLに保存する
・Groveデバイスまとめ
・Raspberry Pi Zeroと小型ターンテーブルをREST APIで制御する
0 件のコメント:
コメントを投稿