Cómo construir un sistema para manejar el broker MQTT y Django

Estoy planeando construir un sistema de automatización del hogar donde los dispositivos de IoT se comuniquen con el agente MQTT. El sistema también incluye un servidor web Django que sirve API para dispositivos iOS / Android. Describiré un ejemplo de lo que quiero implementar.

Se realiza una llamada a la API desde la aplicación móvil al servidor Django para encender un dispositivo. Cuando se realiza dicha solicitud de API a Django, debe enviar los datos ‘Activar’ al dispositivo IoT a través del protocolo MQTT.

Además, los dispositivos IoT envían algunos datos en tiempo real al agente MQTT. Al recibir dichos datos, deseo enviar notificaciones push a una aplicación móvil a través de apns / fcm.

¿Cómo puedo implementar esto? ¿Los canales de Django servirán para este propósito o debo codificar mi servidor Django para que actúe como un cliente MQTT y me comunique con el agente de MQTT? O hay algún otro método para implementar esto.

    Bueno, hice un pequeño proyecto en paho-MQTT. Es una buena experiencia con la extensión MQTTLens de Google Chrome. (Deberías intentar esto si no lo estás usando ya)

    en su caso, creo que puede usar el marco de descanso de Django para crear una API y en el front-end, puede usar la forma crujiente para hacer señales de ON-OFF y esto se comunicará directamente con las vistas de Django en las que Puede escribir los detalles del cliente y del suscriptor.

    nos centramos en Una llamada a la API se realiza desde la aplicación móvil al servidor Django para encender un dispositivo. Cuando se realiza dicha solicitud de API a Django, debe enviar los datos ‘Activar’ al dispositivo IoT a través del protocolo MQTT.

    • puede hacer vistas cuya respuesta a la llamada a la API desde cualquier dispositivo para la que pueda comprobar django-rest-framework es la mejor opción que tenemos.

    y ahora los dispositivos IoT envían algunos datos en tiempo real al agente MQTT

    • Para esto, puedes consultar este artículo de Google . El broker MQTT se puede entregar con las vistas de Django fácilmente y este proceso no es muy complejo si utiliza la estructura modular con la función DRY DRY de Django.

    Por otro lado, también puede hacer diferentes vistas solo para el cliente o para el agente. Depende de usted, pero creo que este enfoque tomará mucho tiempo para desarrollar dicha aplicación. No sé sobre desarrollo móvil, así que no puedo ayudarlo. con eso 🙁 .