¿Cómo seleccionar un servidor IoT ligero y simple para el desarrollo?


13

Estamos explorando los diferentes casos y soluciones de uso de IoT. Para facilitar la exploración, la experimentación, el diseño, el desarrollo y las pruebas de una posible solución, estoy investigando la posibilidad de configurar localmente un servidor IoT simple.

Por lo tanto, me gustaría comprender la arquitectura subyacente de los servidores que dan servicio a dispositivos IoT. En términos generales, los dispositivos IoT conectan servicios que brindan datos y hacen que la información esté disponible para su uso por otros dispositivos. Esto es bastante sencillo.

Por ahora, los posibles dispositivos periféricos de IoT usarán Wi-Fi, pero planean migrar a una velocidad de datos baja, un protocolo de baja potencia como ZigBee, BLE o Z-Wave, en cuyo punto necesitaré algún tipo de hub . La carga útil de datos será de aproximadamente 100 bytes, en el pico la transmisión podría llegar a una transacción por minuto. Los dispositivos de borde de IoT cargarán principalmente datos, con una descarga ocasional a los dispositivos.

Se ha sugerido que investigue MQTT y RabbitMQ como posibles opciones. También se me ha dirigido a " Mostrar mensajes MQTT en un navegador en tiempo real " a lo que estoy investigando al momento de escribir.

Aquí hay algunas preguntas que creo que están relacionadas:

  • ¿Qué diferencia a un servidor IoT de un servidor web, servidor de correo o servidor FTP?
  • ¿Cuál es la arquitectura subyacente de un servidor IoT básico?
  • ¿Qué características son importantes cuando se considera un servidor IoT simple y liviano?

Respuestas:


6

Voy a responder tu primera pregunta. Creo que sería mejor hacer una sola pregunta por ... pregunta :)

¿Qué diferencia a un servidor IoT de un servidor web, servidor de correo o servidor FTP?

  • Un servidor web habla HTTP para proporcionar páginas web.
  • Un servidor de correo habla POP / IMAP / SMTP para intercambiar correo electrónico.
  • Un servidor FTP habla el protocolo FTP para la transferencia de archivos.

Esencialmente, son solo todas las formas de transferir información entre un cliente y un servidor. Un servidor IoT no es diferente, solo habla un protocolo 'IoT' para comunicarse entre el cliente y el servidor. La información que se transmite no son páginas web, correos electrónicos o archivos, sino mensajes como "la temperatura actual es de 20 ° C". Los protocolos de IoT de ejemplo son MQTTy CoAP.


Por ejemplo, su servidor "IoT" podría ser el "Broker MQTT" y eso lo convertiría en un servidor IoT si usa MQTT para pasar datos alrededor de los dispositivos en su infraestructura IoT.
m4l490n

5

¿Qué diferencia a un servidor IoT de un servidor web, servidor de correo o servidor FTP?

Como señaló @ralight, el servidor IoT funciona con la pila de protocolos IoT. Esto no se limita a una capa OSI, en realidad cada etapa está o puede optimizarse para el uso de IoT y, por supuesto, se necesitan nuevos protocolos.

También es posible que el hardware no sea atípico: en una configuración pequeña, el dispositivo recolector de datos como Raspberry PI puede contener las tareas del servidor en forma total o parcial.

Parcialmente significa computación en niebla, donde los datos se procesan donde se recopilan y solo los resultados finales van al servidor principal.

¿Cuál es la arquitectura subyacente de un servidor IoT básico?

Desde este sitio algunas especificaciones de hardware:

En un supuesto hipotético de su caso, digamos que 300 clientes se mantienen abiertos simultáneamente en el servidor y cada cliente envía 10 mensajes / segundo, lo que equivale a 3000 mensajes por segundo. Créame, incluso un corredor alojado en doble núcleo con 2 GB de RAM no tendrá un consumo significativo.

Entonces, hardware básico del servidor.

¿Qué características son importantes cuando se considera un servidor IoT simple y liviano?

No tengo mucha información sobre esto, pero personalmente me interesaría saber si Raspberry PI es suficiente como algún tipo de servidor MQTT. Leí en algún lugar de Quora que Esp8266 no lo es, pero he visto un escritorio Linux normal trabajando en RPI, así que ¿por qué no podría actuar también como servidor?

Sin embargo, lo que hay que tener en cuenta antes de probar Raspberry son los requisitos de hardware de la pila de servicios seleccionada. Con el hardware de servidor normal, las cantidades de memoria actuales son tan altas que no habrá problemas.

Los 3000 msg / seg mencionados son relativamente altos en comparación con los casos de prueba de IoT, y RPI3 tiene 1G de RAM. Eso es la mitad, por lo que depende si los mensajes llenan la memoria en ese caso o cuánto necesita el MQTT simple. Eso afecta cuán adecuado sería.


1
Parece que no hay ningún problema con RPI como servidor: iot.stackexchange.com/questions/1858/…
mico
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.