Qu'est-ce que MQTT? Pour plus de détails, veuillez consulter les sites suivants, etc., mais une brève explication est le protocole léger du modèle de messagerie Pub / Sub. Puisqu'il est supposé être exploité par un appareil faible qui peut être connecté par IoT et WoT, divers traitements à faible coût sont possibles.
Je pense que Pepper peut l'utiliser, alors je vais essayer.
MQTT J'étudie.
Utilisez les bibliothèques suivantes comme bibliothèques MQTT pour Python.
Masu crée une boîte Python et change le type d'entrée de "bang" à "string".
Les éléments de réglage sont comme ça.
Vous permet de spécifier l'hôte du courtier MQTT, le port, les valeurs KeepAlive et les valeurs de rubrique, QOS et Retain auxquels envoyer le message.
Le code ressemble à ceci. Obtenez divers paramètres, connectez-vous au courtier MQTT et envoyez un message.
Pour savoir comment utiliser la bibliothèque dans la boîte, je me suis référé à l'article suivant.
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
self.framemanager = ALProxy("ALFrameManager")
self.folderName = None
def onUnload(self):
import sys
if self.folderName and self.folderName in sys.path:
sys.path.remove(self.folderName)
self.folderName = None
def onInput_onStart(self, payload):
import sys, os
self.folderName = os.path.join(
self.framemanager.getBehaviorPath(self.behaviorId), "../lib")
if self.folderName not in sys.path:
sys.path.append(self.folderName)
import paho.mqtt.client as paho
host = self.getParameter("Broker Host")
port = self.getParameter("Broker Port")
keep_alive = self.getParameter("KeepAlive")
topic = self.getParameter("Topic")
qos = self.getParameter("Qos")
retain = self.getParameter("Retain")
mqttc = paho.Client()
mqttc.connect(host, port, keep_alive)
mqttc.publish(topic, payload, qos, retain)
def onInput_onStop(self):
self.onUnload()
self.onStopped()
Connectez la boîte "Text Edit" pour régler le contenu du message et la boîte "MQTT" que vous avez créée.
Préparez un abonné qui recevra les messages envoyés du côté éditeur MQTT. Il utilise la même bibliothèque Paho que le côté Pub.
sub.py
import paho.mqtt.client as paho
def on_message(mqttc, obj, msg):
print("topic: " + msg.topic + ", payload: " + str(msg.payload) + ", qos: \
" + str(msg.qos) + ", retain: " + str(msg.retain))
if __name__ == '__main__':
mqttc = paho.Client()
mqttc.on_message = on_message
mqttc.connect("test.mosquitto.org", 1883, 60)
mqttc.subscribe("my/topic/pepper", 0)
mqttc.loop_forever()
Exécutez sur votre PC et attendez de recevoir un message pour le sujet.
$ python sub.py
Exécutez le programme dans Choregraphe et envoyez un message.
Le message Éditeur-> Courtier-> Abonné a été transmis et affiché du côté Abonné.
$ python sub.py
topic: my/topic/pepper, payload: Hello World from Pepper, qos: 0, retain: 0