Diferència entre revisions de la pàgina «MQTT a l'ESP8266»

De Wiki d'en Jordi Binefa
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «= Introducció a l'MQTT = [https://binefa.cat/IoT/mqtt/2017024_mqtt_00.pdf presentació introductòria a l'MQTT] == Instal·lacio de mosquitto == [https://www.vultr...».)
 
 
(Hi ha 4 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
= Introducció a l'MQTT =
 
= Introducció a l'MQTT =
 
+
[https://binefa.cat/IoT/mqtt/2017024_mqtt_00.pdf Presentació introductòria a l'MQTT]
[https://binefa.cat/IoT/mqtt/2017024_mqtt_00.pdf presentació introductòria a l'MQTT]
 
  
 
== Instal·lacio de mosquitto ==
 
== Instal·lacio de mosquitto ==
 
 
[https://www.vultr.com/docs/how-to-install-mosquitto-mqtt-broker-server-on-ubuntu-16-04 Instal·lació de mosquitto a Linux]
 
[https://www.vultr.com/docs/how-to-install-mosquitto-mqtt-broker-server-on-ubuntu-16-04 Instal·lació de mosquitto a Linux]
  
 
[http://www.steves-internet-guide.com/install-mosquitto-broker/ Instal·lació de mosquitto a Windows]
 
[http://www.steves-internet-guide.com/install-mosquitto-broker/ Instal·lació de mosquitto a Windows]
  
 +
= Codi per a l'ESP8266 per a l'IDE d'Arduino =
 +
[https://binefa.cat/IoT/mqtt/esp8266/mqtt00/mqtt00.ino Codi mqtt00.ino]
 +
 +
Heu d'actualitzar aquest tros de codi amb els vostres valors de WiFi i IP, o nom de domini, del broker MQTT:
 +
<code>
 +
const char* ssid = "YourWiFiSSID";
 +
const char* password = "YourWiFiPassword";
 +
const char* mqtt_server = "BrokerIP_or_brokerDomain";
 +
</code>
 +
 +
= Codi en Python per a provar MQTT =
 +
[https://binefa.cat/IoT/mqtt/esp8266/pyMqtt00.py.txt Codi en Python per a trametre missatges MQTT]
 +
Per a que funcioni el code en Python heu d'haver instal·lat la biblioteca MQTT de [https://www.eclipse.org/paho/ paho]
 +
 +
<code> pip install paho-mqtt </code>  o  <code> pip3 install paho-mqtt </code>
 +
 +
<code>
 +
#!/usr/bin/python3
 +
# -*- coding: utf-8 -*-
 +
# From https://www.baldengineer.com/mqtt-tutorial.html
 +
import paho.mqtt.publish as publish
 +
import time
 +
print("Sending 0...")
 +
publish.single("ledStatus", "0", hostname="127.0.0.1")
 +
time.sleep(1)
 +
print("Sending 1...")
 +
publish.single("ledStatus", "1", hostname="127.0.0.1")
 +
</code>
 +
 +
= Captura de pantalla amb el sistema funcionant =
 +
[[File:Funcionant.png|center|1024px|caption]]
  
 
= Instal·lació de node-red =
 
= Instal·lació de node-red =
 
 
[https://diyprojects.io/node-red-installation-configuration-ubuntu-16-04-lts/ Instal·lació de node-red a Linux]
 
[https://diyprojects.io/node-red-installation-configuration-ubuntu-16-04-lts/ Instal·lació de node-red a Linux]
  
 
[https://nodered.org/docs/getting-started/installation Instal·lació de node-red a Raspberry Pi, BeagleBone Black i Windows]
 
[https://nodered.org/docs/getting-started/installation Instal·lació de node-red a Raspberry Pi, BeagleBone Black i Windows]
  
 +
= Captura de pantalla amb MQTT fent servir node-red =
 +
[[File:noderedMqtt00.png|center|1024px|caption]]
  
= Codi per a l'ESP8266 per a l'IDE d'Arduino =
+
[https://binefa.cat/IoT/mqtt/esp8266/codiNodeRed.txt Codi de node-red per aquest exemple]
 
 
 
 
= Codi en Python per a provar MQTT =
 

Revisió de 12:24, 31 jul 2018

Introducció a l'MQTT

Presentació introductòria a l'MQTT

Instal·lacio de mosquitto

Instal·lació de mosquitto a Linux

Instal·lació de mosquitto a Windows

Codi per a l'ESP8266 per a l'IDE d'Arduino

Codi mqtt00.ino

Heu d'actualitzar aquest tros de codi amb els vostres valors de WiFi i IP, o nom de domini, del broker MQTT:

const char* ssid = "YourWiFiSSID";
const char* password = "YourWiFiPassword";
const char* mqtt_server = "BrokerIP_or_brokerDomain";

Codi en Python per a provar MQTT

Codi en Python per a trametre missatges MQTT Per a que funcioni el code en Python heu d'haver instal·lat la biblioteca MQTT de paho

pip install paho-mqtt o pip3 install paho-mqtt

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# From https://www.baldengineer.com/mqtt-tutorial.html
import paho.mqtt.publish as publish
import time
print("Sending 0...")
publish.single("ledStatus", "0", hostname="127.0.0.1")
time.sleep(1)
print("Sending 1...")
publish.single("ledStatus", "1", hostname="127.0.0.1")

Captura de pantalla amb el sistema funcionant

caption

Instal·lació de node-red

Instal·lació de node-red a Linux

Instal·lació de node-red a Raspberry Pi, BeagleBone Black i Windows

Captura de pantalla amb MQTT fent servir node-red

caption

Codi de node-red per aquest exemple