PASO 3: Conocimientos previos
Buenas tardes a todos, como ya sabréis el tercer paso del proyecto es realizar el código de nuestra aplicación. Este tercer paso, implica hacer uso de comunicaciones para enviar la información de un lugar a otro, como por ejemplo: de la Raspberry a Thing Speak. Por ello, creo que estaría bien que antes os explique que dos tipos de protocolos de comunicaciones usaremos y por qué:
Comunicaciones HTTP:
El Protocolo de Transferencia de Hipertexto o HTTP, si tomamos las siglas en inglés ('Hypertext Transfer Protocol'), es un protocolo que permite la transferencia de información en la web o también conocida como 'World Wide Web' o WWW. Su arquitectura es de tipo Cliente/Servidor, por lo que cualquier petición de datos debe ser iniciada por el Cliente. Por tanto, el Cliente solicita información mediante un mensaje HTTP (MetodosPeticion_HTTP) y el Servidor le responde con otro mensaje HTTP que contiene la información solicitada.
Una característica de HTTP es que los mensajes que se envían están escritos en texto plano (formado por caracteres y basados en algún tipo de codificación como ASCII, UTF-8,ISO-8859... ). Este tipo de mensajes son muy fáciles de interpretar, pero suelen ser muy largos y provocan que la comunicación sea muy costosa. Por tanto, se trata de un protocolo de comunicación "lento".
Comunicaciones MQTT:
El protocolo MQTT, cuyas siglas provienen de 'Message Queuing Telemetry Transport', es un protocolo de arquitectura Publish/Suscribe basado en mensajes (MensajesTipicos_MQTT). El proceso es el siguiente, existe un nodo principal (broker) que está capacitado para comunicarse con N usuarios o clientes. Estos clientes pueden ser de dos tipos:
- Publicadores: mandan información (topics) al broker.
- Suscriptores: se suscriben a un topic, lo que les permite ver la información que contiene.
La gestión de la información la realiza el broker, ya que puede saber que tipo de cliente eres y que acceso a la información tienes. Para que os hagáis a una idea, es como una especie de "twitter".
A diferencia de HTTP, el protocolo MQTT está especialmente adaptado para utilizar un ancho de banda mínimo. Esta característica hace que sea un sistema de comunicación que precisa de pocos recursos y es muy rápido. Precisamente por esto, es un protocolo muy usado en comunicación de sensores y por tanto con especial potencial en aplicaciones IoT.
Ahora que ya conocemos ambos conceptos, y pensando en nuestra aplicación, haremos uso de:
- comunicaciones HTTP para:
Crear el canal en Thing Speak y solicitar información acerca del canal.
- comunicaciones MQTT para:
Enviar los datos registrados por el sensor al canal. Este proceso se repite "infinitas"
veces, por lo que cuanto menos costoso sea mejor
Comentarios
Publicar un comentario