Texto copiado
HomeBlog Desarrollar aplicaciones de IoT escalables

Desarrollo de aplicación de IoT escalable con MQTT Broker

por Ponlakshmi


iot application

¿Quieres crear rápidamente y fácilmente una implementación de IoT que cumpla tus requisitos? Este es el buen blog para ti. Veamos cuál sería la mejor opción para desarrollar una aplicación IoT fácilmente. Construcción de una aplicación IoT viene con varios desafíos, que incluyen seguridad, conectividad, recopilación de datos y procesamiento, etc. Ya lo sabes. construcción de un IoT la aplicación desde cero es una de las tareas más difíciles. Es porque debes desarrollar código para cada uno uno individual. ¿Puedes creer que un solo marco contiene todo lo que necesitas para construir cualquier aplicación IoT? Sí,Bevywise MQTT Brokeres un marco de aplicación IoT que es adecuado para la implementación de cualquier aplicación IoT. It proporciona soluciones a todos los desafíos mencionados anteriormente. Ahora vamos a ver cómo podemos configurar una aplicación IoT usando eso Marco.

Componentes necesarios

La creación de una aplicación generalmente requiere el uso de componentes. Es esencial que tengamos que ser listos con los componentes necesarios para desarrollar una implementación de IoT. Los componentes esenciales son:Protocolo MQTT,Clientes MQTT, yMQTT Broker. Cuando se trata de desarrollar una aplicación IoT a gran escala, el protocolo MQTT es la mejor opción. MQTT encontrado para ser un protocolo de red flexible y escalable que es adecuado para desarrollar una aplicación IoT para mayor aplicación, después de tener en cuenta una variedad de protocolos IoT desarrollados y maduros. Clientes MQTT, los dispositivos que se utilizan para su implementación, se puede utilizar para desarrollar su aplicación IoT basado en sus requisitos. MQTT Broker es el uno que actúa como una sala intermedia para conectar y comunicar a los clientes de MQTT. En ese caso, nuestro MQTT Bevywise Broker también viene con extensiones Python, haciendo que sea perfecto para construir una aplicación IoT de alto nivel con IoT aplicación.


MQTT broker, a Bevywise MQTT Broker ofrece un ensayo gratuito que le permite experimentar con las características y Python extensiones crear aplicaciones de IoT. Empieza con nuestroMQTT Broker GRATISy experimentar conectividad IoT sin costura.


El marco de corretaje MQTT comprende todas las opciones necesarias para desarrollar una aplicación IoT. Puede fácilmente construir una aplicación IoT a gran escala con esto y beneficiarse de ella. Si quieres conseguir en profundidad detalle sobre la instalación y configuración básica de MQTT broker, por favor consulte nuestraDocumentación de ayuda de Broker.


Ahora, vamos al ejemplo para saber más sobre elProtocolo MQTT. Suponga que tiene dos dispositivos y varios climas sensores ( sensor de humedad y sensor de temperatura). Le gustaría enviar datos sobre el nivel de humedad y la temperatura nivel a dos dispositivos diferentes.


Esta tarea se puede gestionar simplemente con MQTT. Primero debe establecer un servicio de corretaje MQTT. Entonces, en el broker, puede conectarse dos sensores como clientes y configurarlos para entregar datos sobre los temas “Humid” y “Temp”.


Después de eso, puede conectar los dispositivos al corredor y suscribir el primero al tema “Temp” y el segundo al segundo Tema “Humid”. Como resultado, cada vez que los sensores publican la información apropiada al corredor, dos dispositivos conectados recibir mensajes sobre humedad y temperatura.


Desde el ejemplo anterior está claro que el cliente envía el mensaje al broker MQTT. Es debido a la razón que es previamente afirmó que los clientes no pueden comunicarse entre sí directamente. Los mensajes enviados por clientes se almacenan la base de datos predeterminada en el corredor y luego envía los mensajes al cliente suscrito apropiado. El corredor MQTT la interacción con los dispositivos se indicó en este ejemplo. Dependiendo de sus necesidades, desarrollando un IoT aplicación requiere una interfaz de usuario específica y una base de datos. Se pueden encontrar en las extensiones de pitón del MQTT Bevywise Broker. Veamos. cómoPython Extensionesfor MQTT Broker le permite personalizar una implementación de IoT a sus requisitos específicos. Así es como estas extensiones se pueden utilizar para crear una aplicación IoT.

Almacenamiento de datos personalizado basado en la aplicación de IoT

El primer paso es almacenar datos para una aplicación. Como se indicó anteriormente, los datos para un aplicación será almacenado automáticamente en la base de datos predeterminada de MQTT Broker. Por defecto, el corredor Bevywise MQTT tiene el habilidad para almacenar datos en las siguientes bases de datos:MYSQL,MSSQL,PostgreSQL, ySQLite.Sin embargo, tenemos elextensión de almacenamiento personalizadopara ti, si necesita almacenamiento avanzado para desarrollar su implementación de IoT. Si su aplicación IoT necesita el uso de otros bases de datos avanzadas, puede especificar el nombre y el puerto de la base de datos y utilizarlo en su implementación. Por mi idea implementación, estoy usando una base de datos elástica a través del uso de la opción de almacenamiento personalizado. Es porque, Quiero analizar grandes cantidades de datos rápidamente y en tiempo casi real, queBúsqueda elásticaLa base de datos me permite hacerlo.

Veamos cómo configurar la base de datos de búsqueda elástica aquí:


  • Hacer los cambios necesariosdata_store.confprimera carpeta. Establecer la opción DATASTORE a CUSTOM después de habilitar la opción CUSTOMSTORAGE.
  • El número de PORT de la base de datos y el NOMBRE INDEX, que es el nombre por el que desea que los datos sean almacenado, se puede especificar aquí en función de sus necesidades.
  • Hemos comprometido los archivos de configuración y el archivo de extensiones de python en Git. Por favor consulte eldata_store.confcarpeta y realizar el procedimiento anterior con la ayuda deEste Github página.
  • Después de eso, establecer elcustom_store.pycarpeta. La búsqueda elástica El conector se utilizó para configurar esto. Consulte el siguiente código para una mejor comprensión.
  • El proceso websocket se utiliza para mostrar los datos almacenados en la interfaz de usuario. Esto será útil cuando se aplique un UI personalizada.
  • Puede consultar los archivos de extensión custom_store.py enesta página de Github.

Haciendo tu propia UI

Los datos generalmente se almacenan en un corredor de MQTT antes de ser enviados al suscriptor apropiado. Pero cómo puede Estamos seguros que los datos están llegando y que el proceso está procediendo? Por eso tenemos una interfaz de usuario para visualización de mensajes entre clientes. Por defecto, la interfaz de usuario del broker Bevywise MQTT es útil para extraer datos de dispositivos, pero también puede personalice su dashboard y widgets aquí. Sin embargo, si quieres una interfaz de usuario completamente diferente para tu IoT aplicación, uso nuestroUI personalizadafuncionalidad para su aplicación IoT de alto nivel, que es una de las extensiones de pitón.


Puede referirse acustom_ui_server.pyarchivos de extensión enesta página de Github.

Código de referencia para el gráfico de línea

xaxis: {
tipo: ‘fecha’,
rango: [olderTime, futureTime]
}
};
Plotly.relayout (graph_id, minuteView);
Plotly.extendTraces (graph_id, update, d)

live temperature data

Este código de referencia de la UI es para la aplicación de monitoreo de temperatura en vivo. Plotly provided this reference código. Toma la temperatura de una habitación y la muestra en una interfaz de usuario. Podemos verlo a través de la salida del gráfico de línea en este caso.

Configurar programador para generar alertas

Ya hemos visto cómo crear su propia base de datos y personalizar la interfaz de usuario para ver los datos de la manera que desea Es. Tome el ejemplo dado a continuación, el monitor de temperatura ambiente, y vamos a ver cómo crear condiciones, alarmas, alertas y advertencias en ella. Para hacer lo anterior, necesitará utilizar unprogramador personalizado. Este también es uno de los pitón extensiones en el MQTT Broker.


Puede referirse acustom_scheduler.pyarchivos de extensión en A continuaciónPágina de Github.


Cree su código basado en su implementación de IoT e insértelo en la sección #escribir su código aquí. A a continuación se proporciona un pequeño ejemplo de la opción de programador, y puedes escribir tu propio código para satisfacer tus necesidades.

Código de referencia para Alertar alta temperatura en la habitación

def schedule_conf( ):
agendas={}
agendas= {}
‘STATUS’ : ‘DISABLE’,
"SCHEDULES" : [
{‘OnceIn’ : 5,‘methodtocall’ : fiveminschedule },
{‘OnceIn’ : 10,‘methodtocall’ : tenminschedule } }
si ( p_avg detectó datos3 [‘msg’] [‘message’] [0]{
document.getElementById (“Alarm”).innerHTML=data3 [‘msg’] [‘message’] [0] + “ALERT!” + “Temperatura alta”;
}
horarios de regreso

El código anterior representa la condición aplicada que agrega la temperatura entre cada 5 minutos y 10 minutos programar datos y también se refiere al ajuste de alerta cuando la temperatura es alta en la habitación. Los datos de la agenda es empujado a la UI por las condiciones enumeradas arriba. Si la temperatura en la habitación es demasiado alta, nosotros recibirá una alerta mensaje a través de la UI. De esta manera, puede configurarlo fácilmente sobre la base de sus necesidades para adaptarse a su IoT aplicación.

Autenticación avanzada

Echemos un vistazo a la seguridad del corredor MQTT ahora. La seguridad de los datos en MQTT Broker es excelente. Depende de la seguridad deTLS / SSL. Sin embargo, sus datos todavía requieren seguridad, y ofrecemos autenticación personalizada si cree que la seguridad es esencial para su aplicación IoT.autenticación personalizadafuncionalidad en extensiones de Python demostrar ser beneficioso. Porque, Bevywise MQTT Broker proporcionaautenticación personalizadafuncionalidad, permitiendo a los usuarios integrar cualquier centralIAMySSOpara su aplicación IoT de gran nivel " para gestionar muchos usuarios en su aplicación basado en su requisitos.


Veamos cómo configurar la autenticación en el corredor. carpeta conf

  • Establecer el REMOTEAUTH_ENABLED Sí.

Puede referirse abroker.confycustom_auth.pyarchivos de extensión enEste Github Página.

# Request Retries Count
peticiones.adapters.DEFAULT_RETRIES = 3
Solicitar URL
url = “https://mqttserver.com/auth”
# Request Timeout
request_timeout = 0.1
# Request Method
request_auth_method = “POST”
# POST TENIDO TERRITORIO PUT

Cuando administramos un gran número de usuarios, como se indicó anteriormente, si uno de ellos olvida o maltipo sus contraseña, puedes especifique cuántas veces puede intentar de nuevo en las solicitudes. adaptadores. Campo de los ADPIC. Este campo valor predeterminado es 3. Puedes cambiar el recuento basado en su implementación de IoT. Puedes introducir la URL de tu aterrizaje de autenticación página en este campo, “url = “https://mqttserver.com/auth”. Esto valida su intento de conectarse usando su login credenciales.


Toda la funcionalidad descrita anteriormente es proporcionada por las extensiones Python en Bevywise MQTT Broker. Con estos, puede configurar fácilmente una implementación a gran escala, flexible y escalable de su IoT aplicación.


En nuestro corredor de MQTT, todas las extensiones de pitón fueron empujadas a Git. ReferenteEste Github Páginapara conocer todas las carpetas.

Para desarrollar una aplicación IoT escalable, comience por descargar el Bróker MQTT Bevywise. Empieza con nuestra MQTT Broker ahora GRATIS!

Para obtener información detallada sobre las extensiones de pitón para desarrollar cualquier implementación de IoT escalable, referencia nuestraPython Documentación de interfaz MQTT Broker.