Estamos en las primeras etapas de planificación de un proyecto de IoT.
Un problema con el que estamos luchando es cómo nuestro servidor basado en Internet puede acceder a cada unidad de nuestro proyecto de IoT e implementar actualizaciones de código, mensajes ... etc.
Me preocupa esto porque, por supuesto, cada unidad IoT está dentro de su propia red WiFi que está cerrada por diseño.
¿Cómo nuestro servidor, una parte esencial de nuestra configuración, llama a todos sus 'hijos' dentro de sus respectivas redes cerradas?
remote-access
sisko
fuente
fuente
Respuestas:
Parece que debería estar buscando una plataforma completa de administración de dispositivos IoT: hay demasiados aspectos complicados de escalabilidad, seguridad, aprovisionamiento y actualización de firmware para que esto sea algo sensato para intentar desarrollar en casa desde cero. Asegúrese de elegir una plataforma que utilice estándares abiertos.
Para responder su pregunta más directamente, cada punto final generalmente abre una conexión segura TLS a un servidor en la nube (usando algo como CoAP, LWM2M o MQTT dependiendo del propósito de la conexión), por lo que las conexiones casi siempre se inician desde el punto final. Solo con IPv6 o casos de uso particularmente específicos es probable que la nube inicie la conexión sin ayuda del punto final.
fuente
Una buena forma de acceder a dispositivos dispersos en redes privadas es utilizando MQTT para la comunicación. En MQTT, el servidor publica mensajes sobre temas y los dispositivos pueden suscribirse a ellos y, por lo tanto, recibir una notificación cuando llega nuevo contenido al tema.
Hay soluciones disponibles en la web, usted elige una o implementa la suya.
La idea principal es hacer un tema para, por ejemplo, 'actualizaciones de firmware' y el enlace o el paquete en sí mismo son una respuesta. Los mensajes MQTT para marcar la lectura del mensaje hacen que la actualización suceda solo una vez.
fuente