初めてWatson IoT Platformを使ってみよう、というかたのためのガイドです。
Watson IoT Platformを使ってみるでIoTアプリを準備しました。
MessageSightを動かすでMQTTブローカーとしてMessageSightを準備しました。
#Publishしてみる
- 下記のようなプログラムを使ってpublishします。
- トピック名やClientID、payload(送付するデータ)などを変化させて試してみます。
pub.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import paho.mqtt.client as mqtt
import random
topic = "topic/test"
clientID = "pubTester"
broker = "172.16.xxx.xxx"
mqttc = mqtt.Client(clientID)
mqttc.connect(host=broker, port=1883, keepalive=60)
while mqttc.loop() == 0:
temp = random.randrange(-10,40)
humidity = random.randrange(20,99)
print "temp = " + str(temp) + ", humidity = " + str(humidity)
msg = " {\"d\": {\"temperature\": " + str(temp) +",\"humidity\": " + str(humidity) + "} }";
mqttc.publish(topic, payload=msg, qos=0, retain=False)
print "message published"
time.sleep(1)
#Subscribeしてみる
- 下記のようなプログラムを使ってsubscribeします。
- トピック名やClientIDなどを変化させて試してみます。
sub.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import paho.mqtt.client as mqtt
topic = "topic/test"
clientID = "subTester"
broker = "172.16.xxx.xxx"
def on_connect(client, userdata, flags, rc):
print("connected")
client.subscribe(topic)
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
mqttc = mqtt.Client(clientID)
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.connect(host=broker, port=1883, keepalive=60)
mqttc.loop_forever()