https://mqttx.app/web-client#/recent_connections/32a3a13e-7aef-4224-8ddc-6226007aa6caでtest/topic1をつくる
https://github.com/micropython/micropython-lib/blob/master/micropython/umqtt.simple/umqtt/simple.pyをumqtt.pyとしてインスト
https://tech-and-investment.com/raspberrypi-picow-6-mqtt/ にある以下のコードに成功
import time import network from umqtt
import MQTTClient import machine from picozero import pico_temp_sensor, import sys # # Wi-Fi ルーターのSSIDとパスワードです。 # お使いの設定に書き換えてください。 # ssid = 'NAME OF YOUR WIFI NETWORK' password = 'YOUR SECRET PASSWORD' # # Wi-Fiに接続する関数です # def connect(): #Connect to WLAN wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, password) while wlan.isconnected() == False: print('Waiting for connection...') time.sleep(1) ip = wlan.ifconfig()[0] print(f'Connected on {ip}') return ip # # 受信(Subscribe)したメッセージを表示する関数です # def printMessage(topic, message): # 受信データはbytes型なのでUTF-8の文字列に変換してから表示します print("topic:" + topic.decode("utf-8") ) print("message:" + message.decode("utf-8") ) # # メインの処理部です # # ブローカーのIPやトピック名を定義します。 mqttBroker = '192.168.10.9' myId = 'esu' topic= b'test/topic1' # MQTTのオブジェクト(変数)を定義します client = MQTTClient(myId, mqttBroker, keepalive=3600) # 受信(Subscribe)した時に呼ぶ関数を設定します client.set_callback(printMessage) # Wi-Fiに接続します connect() try: # ブローカーに接続します client.connect() # Subscribeするトピックを登録します。(注:接続前はエラー) client.subscribe(topic) except: # ブローカーへの接続に失敗した場合は、プログラムを終了します print("Could not connect to mqtt server.") sys.exit() print("mqqtt connect done ") # # 温度センサの情報を3秒ごとにPublishします # while True: # Pico W 本体の温度情報を取得します temp = pico_temp_sensor.temp # 送信(Publish)用のメッセージに温度を代入します msg = " \"temp\":" + str(temp) # 送信(Publish)します。 client.publish(topic, msg) # ブローカーからのPublishをチェックします。 client.check_msg() # test/topic1に"on"を書くとmessage:onとでる! time.sleep(3)
0 件のコメント:
コメントを投稿