micropythonでmqtt
MicroPython Advent Calender 5日目です。
4日目はESP32+micropythonでslackにメッセージを投稿しました。
今日はwifiにつながったそのままの勢いでmqttでpublish/subscribeしてみます。
micropython-lib/umqtt.simple at master · micropython/micropython-lib · GitHub
micropython-libにあるumqtt.simpleをローカルに保存します。
simple.pyだとわかりづらい気がしたのでmqtt.pyにリネームしてampyツールでESP32に転送しました。
> ampy -p COM4 put mqtt.py
ローカルに保存したフォルダにpublishとsubscribeの例があります。
両方がっちゃんこしたものを書いてESP32に転送しました。
> ampy -p COM4 put pubsub.py
ますはメッセージを送ってみます。
MQTTブローカーはWindows10にmosquittoを入れて使用しました。
An Open Source MQTT v3.1 Broker
ブローカーを立ち上げてメッセージを送信するメソッドを呼び出します。
ブローカーにメッセージが届きました。
wiresharkでみてもmqttのフロー通りでメッセージが送れています。
Client IDもCONNECT要求時にセット出来ていました。
次にmsgをsubscribeしてみます。
subscribeするメソッドを呼び出しておいて、コマンドプロンプトからメッセージを送信しました。
> mosquitto_pub.exe -h 192.168.0.7 -t micropython -m hello
ブローカーを通じてメッセージがやり取りされています。
wiresharkでも流れが追えました。
というわけでREPLからの単発実行ではありますがmqttをpuslish/subscribeしてみました。