Ayudaría mucho si apoyaras este proyecto con una ⭐ en Github!
MQTT
es un protocolo de red de publicación-suscripción abierto y liviano que transporta mensajes entre clientes. El protocolo se ejecuta sobre TCP/IP
y está diseñado para conexiones con dispositivos y ancho de banda limitados.
Un broker
MQTT es un servicio que recibe los mensajes y los enruta a los clientes de destino adecuados. Un cliente MQTT es cualquier dispositivo (desde un microcontrolador hasta un servidor completo) que ejecuta una biblioteca MQTT y se conecta a un broker a través de una red.
Para este proyecto el broker implementado es Mosquitto
y se ejecuta sobre el ecosistema Docker
, de manera que pueda correr de igual manera en diversas plataformas.
Para correr este proyecto es necesario que instales Docker
y Docker Compose
.
Mira cómo instalar las dependencias
En este documento publicado en nuestra web están los detalles para instalar Docker y Docker Compose. Si querés instalar ambas herramientas en una Raspberry Pi podés seguir esta guía que muestra todos los detalles de instalación.
En caso que tengas algún incoveniente o quieras profundizar al respecto, podes leer la documentación oficial de Docker y también la de Docker Compose.
Para descargar el código, lo más conveniente es que realices un fork
de este proyecto a tu cuenta personal haciendo click en este link. Una vez que ya tengas el fork a tu cuenta, descargalo con este comando (acordate de poner tu usuario en el link):
git clone https://github.com/USER/service-mqtt-broker.git
En caso que no tengas una cuenta en Github podes clonar directamente este repo.
Cuando tengas el código descargado, desde una terminal en la raíz del proyecto ejecuta el comando docker-compose up
que se va descargar la imagen de Docker del broker y ponerlo en marcha. Una vez que el broker esté corriendo ya podés conectar distintos clientes.
En esta sección vas a encontrar información que te va a servir para tener un mayor contexto.
Mira todos los detalles
El archivo docker-compose.yml
administra los parámetros de ejecución del broker. Está basado en Mosquitto
y soporta la conexión por Websockets en el puerto 9001, MQTT en el 1883 y el 8883 para comunicación con autenticación.
Si querés modificar algún parámetro de configuración del broker podés hacerlo desde el archivo config/mosquitto.conf
. En caso que quieras que los clientes se conecten al broker con usuario y contraseña descomentá la línea password_file /etc/mosquitto/pass.txt
y agregá la contraseña de conexión dentro del archivo auth/pass.txt
.
Mira la lista de tecnologías usadas en el proyecto
- Docker - Ecosistema que permite la ejecución de contenedores de software.
- Docker Compose - Herramienta que permite administrar múltiples contenedores de Docker.
- Mosquitto - Broker MQTT libre y abierto creado por Eclipse Foundation.
Si estás interesado en el proyecto y te gustaría sumar fuerzas para que siga creciendo y mejorando, podés abrir un hilo de discusión para charlar tus propuestas en este link. Así mismo podés leer el archivo Contribuir.md de nuestra Wiki donde están bien explicados los pasos para que puedas enviarnos pull requests.
Goto IoT es una plataforma que publica material y proyectos de código abierto bien documentados junto a una comunidad libre que colabora y promueve el conocimiento sobre IoT entre sus miembros. Acá podés ver los links más importantes:
- Sitio web: Donde se publican los artículos y proyectos sobre IoT.
- Github de Goto IoT: Donde están alojados los proyectos para descargar y utilizar.
- Comunidad de Goto IoT: Donde los miembros de la comunidad intercambian información e ideas, realizan consultas, solucionan problemas y comparten novedades.
- Twitter de Goto IoT: Donde se publican las novedades del sitio y temas relacionados con IoT.
- Wiki de Goto IoT: Donde hay información de desarrollo complementaria para ampliar el contexto.
Si te gustó este proyecto y quisieras apoyarlo, cualquiera de estas acciones estaría más que bien para nosotros:
- Apoyar este proyecto con una ⭐ en Github para llegar a más personas.
- Sumarte a nuestra comunidad abierta y dejar un feedback sobre qué te pareció el proyecto.
- Seguirnos en twitter y dejar algún comentario o like.
- Compartir este proyecto con otras personas.
Las colaboraciones principales fueron realizadas por:
- Agustin Bassi: Ideación, puesta en marcha y mantenimiento del proyecto.
También podés mirar todas las personas que han participado en la lista completa de contribuyentes.
Este proyecto está bajo Licencia (MIT). Podés ver el archivo LICENSE.md para más detalles sobre el uso de este material.
Copyright © Goto IoT 2021 ⌨️ Website ⌨️ Group ⌨️ Github ⌨️ Twitter ⌨️ Wiki