これまではRasPi3B+の上で動くnode.jsに対してやりましたが……今度はWindows10で動くPython3系でRasPiに命令を送る流れをやってみます。
特にWindows依存はないのでDebian系やmacOSでも同じことができる筈です。
実際のところ
Windows用に新規にライブラリが必要なので、以下のコマンドでazure-iot-deviceを入れときましょう
$ pip3 install azure-iot-device
python3スクリプト
import time import random from azure.iot.device import IoTHubDeviceClient, Message # 'connection_string.txt'からプライマリ接続文字列を読み出し with open('connection_string.txt', 'r') as file: CONNECTION_STRING = file.read().replace('\n', '') # デバイス初期化 device_client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING) device_client.connect() # メッセージ生成(過課金をさけるため、上限100で抑える) for i in range(100): message_value = random.choice(['HIGH', 'LOW']) message_id = i target_device_id = "RP3" message_payload = { "value": message_value, "messageID": message_id, "targetDeviceID": target_device_id } message = Message(str(message_payload)) # メッセージ送信 print(f"Sending message: {message}") device_client.send_message(message) time.sleep(2) # デバイスを切断する device_client.disconnect()