{"id":2430,"date":"2019-03-05T10:20:44","date_gmt":"2019-03-05T15:20:44","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/girni\/?p=2430"},"modified":"2025-06-28T00:42:36","modified_gmt":"2025-06-28T05:42:36","slug":"mqtt-conexion-desde-python","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/mqtt-conexion-desde-python\/","title":{"rendered":"4. MQTT - Conexi\u00f3n desde Python"},"content":{"rendered":"<p>La librer\u00eda Paho-Mqtt de Python usada que permite conectarse como cliente a MQTT. <a href=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/Pypi_org.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-3967 size-full\" src=\"http:\/\/blog.espol.edu.ec\/girni\/files\/2020\/09\/Pypi_org.png\" alt=\"Pypi.org\" width=\"66\" height=\"58\" \/><\/a><\/p>\n<p>Esto permite analizar los valores en los mensajes MQTT de los dispositivos para procesar, o activar alg\u00fan proceso o evento con Python.<\/p>\n<p>La conexi\u00f3n requiere los par\u00e1metros de direcci\u00f3n IP del servidor, puerto, datos de usuario, contrase\u00f1a y el t\u00f3pico.<\/p>\n<pre><span style=\"color: #ff0000\"># Parametros para la conexi\u00f3n<\/span>\r\nservidormqtt = <span style=\"color: #008000\">\"192.168.xx.xx\"<\/span>\r\nusuario = <span style=\"color: #008000\">\"usuarioprueba\"<\/span>\r\ncontrasena = <span style=\"color: #008000\">\"usuarioclave\"<\/span>\r\ntopicolee = <span style=\"color: #008000\">\"#\"<\/span>\r\n<\/pre>\n<p>La instalaci\u00f3n de la librer\u00eda en Python se puede realizar con pip, tal como <a href=\"http:\/\/blog.espol.edu.ec\/ccpg1001\/descargas\/pip-instalar-librerias\/\">otras librerias en Python<\/a>.<\/p>\n<pre>pip install paho-mqtt<\/pre>\n<hr \/>\n<h2>Instrucciones en Python<\/h2>\n<pre><span style=\"color: #ff0000\"># Conectando a MQTT-Mosquitto<\/span>\r\n<span style=\"color: #d35400\">import<\/span> paho.mqtt.client <span style=\"color: #d35400\">as<\/span> mqtt\r\n\r\n<span style=\"color: #ff0000\"># INGRESO<\/span>\r\n<span style=\"color: #ff0000\"># Parametros para la conexi\u00f3n<\/span>\r\nservidormqtt = <span style=\"color: #008000\">\"192.168.xx.xx\"<\/span>\r\nusuario = <span style=\"color: #008000\">\"usuarioprueba\"<\/span>\r\ncontrasena = <span style=\"color: #008000\">\"usuarioclave\"<\/span>\r\ntopicolee = <span style=\"color: #008000\">\"#\"<\/span>\r\n\r\n<span style=\"color: #ff0000\"># Funciones de conexi\u00f3n y mensaje<\/span>\r\n<span style=\"color: #ff0000\"># Al recibir CONNACK desde el servidor<\/span>\r\n<span style=\"color: #d35400\">def<\/span> <span style=\"color: #0000e6\">on_connect<\/span>(client, userdata, flags, rc):\r\n    <span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">\"Conexi\u00f3n\/c\u00f3digo de resultado: \"<\/span>+<span style=\"color: #ff00ff\">str<\/span>(rc))\r\n    <span style=\"color: #ff0000\"># Inicio o renovaci\u00f3n de subscripci\u00f3n<\/span>\r\n    client.subscribe(topicolee)\r\n\r\n<span style=\"color: #ff0000\"># el t\u00f3pico tiene una publicaci\u00f3n<\/span>\r\n<span style=\"color: #d35400\">def<\/span> <span style=\"color: #0000e6\">on_message<\/span>(client, userdata, msg):\r\n    <span style=\"color: #ff00ff\">print<\/span>(msg.topic+<span style=\"color: #008000\">\" \"<\/span>+<span style=\"color: #ff00ff\">str<\/span>(msg.payload))\r\n    unmensaje = msg.topic+<span style=\"color: #008000\">\" \"<\/span>+<span style=\"color: #ff00ff\">str<\/span>(msg.payload)\r\n    <span style=\"color: #d35400\">return<\/span>()\r\n\r\nclient = mqtt.Client()\r\nclient.on_connect = on_connect\r\nclient.on_message = on_message\r\nclient.username_pw_set(username=usuario,password=contrasena)\r\nclient.connect(servidormqtt, 1883, 60)\r\nclient.loop_forever()\r\n<\/pre>\n<p><strong>Referencia<\/strong>: paho-mqtt, <a href=\"https:\/\/pypi.org\/project\/paho-mqtt\/#usage-and-api\">https:\/\/pypi.org\/project\/paho-mqtt\/#usage-and-api<\/a>.\u00a0 <a href=\"https:\/\/pypi.org\/project\/paho-mqtt\/#connect-reconnect-disconnect\">https:\/\/pypi.org\/project\/paho-mqtt\/#connect-reconnect-disconnect<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La librer\u00eda Paho-Mqtt de Python usada que permite conectarse como cliente a MQTT. Esto permite analizar los valores en los mensajes MQTT de los dispositivos para procesar, o activar alg\u00fan proceso o evento con Python. La conexi\u00f3n requiere los par\u00e1metros de direcci\u00f3n IP del servidor, puerto, datos de usuario, contrase\u00f1a y el t\u00f3pico. # Parametros &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.espol.edu.ec\/girni\/mqtt-conexion-desde-python\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \"4. MQTT - Conexi\u00f3n desde Python\"<\/span><\/a><\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1447336],"tags":[1293414,602214,1457735],"class_list":["post-2430","post","type-post","status-publish","format-standard","hentry","category-mqtt-mosquitto","tag-broker","tag-iot","tag-mqtt"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/comments?post=2430"}],"version-history":[{"count":12,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2430\/revisions"}],"predecessor-version":[{"id":4167,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2430\/revisions\/4167"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=2430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=2430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=2430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}