LinkIt Smart 7688を使ってみる

Python + Paho-mqtt

LinkItではPIPが使えるので、Pythonのライブラリを簡単に取り込むことができます。
試しに、MQTTライブラリのPahoを取り込んでみました。
root@mylinkit:~# pip install paho-mqtt
Downloading/unpacking paho-mqtt
  Downloading paho-mqtt-1.4.0.tar.gz (88kB): 88kB downloaded
  Running setup.py (path:/tmp/pip_build_root/paho-mqtt/setup.py) egg_info for package paho-mqtt

Installing collected packages: paho-mqtt
  Running setup.py install for paho-mqtt

    warning: build_py: byte-compiling is disabled, skipping.

    warning: install_lib: byte-compiling is disabled, skipping.

Successfully installed paho-mqtt
Cleaning up...
root@mylinkit:~#

paho-mqttの使い方は色々なところで、紹介されています。
とりあえずこちらがPublisher
#!/usr/bin/python
#-*- encoding: utf-8 -*-
import paho.mqtt.client as mqtt
import time

UrlBroker = "test.mosquitto.org"
PortBroker = 1883
KeepAliveBroker = 60
TopicPublish =   "nopnop2002/linkIt/7688"

if __name__=="__main__":
  client = mqtt.Client(protocol=mqtt.MQTTv311)
  client.connect(UrlBroker, PortBroker, KeepAliveBroker)
  for x in range(10):
    payload = "test" + str(x)
    client.publish(TopicPublish, payload)
    time.sleep(2)
  client.publish(TopicPublish, "Bye Bye")
  client.disconnect()

そしてこちらがSubscriber
#!/usr/bin/python
#-*- encoding: utf-8 -*-
import paho.mqtt.client as mqtt
import sys

UrlBroker = "test.mosquitto.org"
PortBroker = 1883
KeepAliveBroker = 60
TopicoSubscribe = "nopnop2002/linkIt/#"

def on_connect(client, userdata, flags, respons_code):
  print("[on_connect] Connect to Broker.")
  print('status {0}'.format(respons_code))
  client.subscribe(TopicoSubscribe)

def on_message(client, userdata, msg):
  print("[on_message] Publish from Broker.")
  print(msg.topic + ' ' + str(msg.payload))


if __name__=="__main__":

  #initialize MQTT:
  print("[STATUS] Initialize MQTT...")
  client = mqtt.Client()
  #client = mqtt.Client(protocol=mqtt.MQTTv311)
  client.on_connect = on_connect
  client.on_message = on_message
  client.connect(UrlBroker, PortBroker, KeepAliveBroker)
  client.loop_forever()

そしてこちらがSubscriberのログ。
Publishした内容が表示されています。
root@mylinkit:~# python ./sub.py
[STATUS] Initialize MQTT...
[on_connect] Connect to Broker.
status 0
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test0
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test1
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test2
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test3
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test4
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test5
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test6
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test7
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test8
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 test9
[on_message] Publish from Broker.
nopnop2002/linkIt/7688 Bye Bye

続く....