'Cocinar un producto conectado'

Actualización: 9 de diciembre de 2023

'Cocinar un producto conectado'

'Cocinar un producto conectado'

Agregar un dispositivo conectado a su cartera puede ser un desafío. Jonathan Pallant analiza cómo elegir los "ingredientes perfectos".

 

Los dispositivos conectados tienden a ubicarse en el extremo más complejo del espectro del sistema integrado, independientemente de si recopilan datos de sensores por sí mismos o interactúan con equipos preexistentes.

Su complejidad surge de la interacción entre sus tres partes constituyentes: la parte local, que genera los datos o necesita algún control; el sistema remoto que registra los datos y / o proporciona instrucciones; y la conexión entre ellos, que normalmente opera a una gran distancia y a menudo es observable (e incluso interrumpible) por terceros no confiables.

Sin embargo, estas complejidades a menudo se ven superadas por la mejora de la participación del cliente, los conocimientos comerciales detallados e incluso los modelos comerciales completamente nuevos que se pueden lograr.

El delicado equilibrio entre complejidad y función significa que construir el tipo correcto de dispositivo conectado es a menudo parte arte, parte ciencia. De hecho, es muy parecido a cocinar una gran comida: hay prácticamente un número infinito de formas de combinar ingredientes y platos clave. Algunos de los cuales se pueden ensamblar con bastante rapidez, mientras que otros requerirán más tiempo y esfuerzo para perfeccionarlos, pero pueden adaptarse mejor a los gustos de alguien.

Un enfoque es dividir el proceso de desarrollo de IoT en varias opciones específicas pero fundamentalmente conectadas. Pero no siempre es fácil determinar qué decisiones tomar primero, y siempre existe el riesgo de que una decisión temprana pueda restringir sus opciones posteriores y hacer que todo el sistema sea subóptimo.

Hemos agrupado de manera aliterativamente estas opciones en seis áreas diferentes a considerar al planificar el `` festín '' perfecto de IoT.

La conectividad es probablemente el mejor lugar para comenzar, ya que es el componente fundamental con el que se cuelga el resto de la oferta. El plato principal, por así decirlo.

El curso de conectividad

La conectividad clave la tecnología Los requisitos para los productos se definen por el costo, el consumo de energía, el rango, la velocidad de datos y la latencia. Pero, en última instancia, están vinculados por las leyes de la física y la economía. Y todas las tecnologías actuales existen en su propio punto óptimo dentro de este espacio multidimensional.

La mayoría de los sistemas probablemente necesitarán conectividad inalámbrica para acceder a Internet, que lamentablemente suele ser menos confiable y más costosa que usar una conexión por cable. Casi todos los estándares inalámbricos involucran al menos dos clases de dispositivos: un componente más pequeño y de menor potencia (como un teléfono móvil) y una puerta de enlace más grande y de mayor potencia (como un Wi-Fi enrutador). También es necesario considerar la propiedad y confiabilidad de esas puertas de enlace, comparando, por ejemplo, el enrutador Wi-Fi de un propietario con el acceso a una red móvil.

Sea cual sea el camino que elija, casi siempre es mejor confiar en los estándares de conectividad existentes con una amplia aceptación en el mercado en lugar de desarrollar algo desde cero.

El curso de chipset

La primera decisión a tomar es si optar por un chipset que integre procesador, memoria y radio, o si combinar varios ingredientes para obtener la combinación adecuada de rendimiento, precio y consumo de energía.

Si necesita conectividad celular de baja potencia, ya sea con LTE-M o NB-IoT, un dispositivo como el Nordic nRF9160 es un paquete atractivo de CPU, RAM, Flash, GPS y módem. Pero, si puede pagar el pcb espacio, es posible que prefiera la flexibilidad de un "estándar" microcontrolador y un LTE separado módulo. Una historia similar se aplica a los estándares inalámbricos como Wi-Fi y Bluetooth, donde hay microcontroladores disponibles con la radio incorporada y también módulos de módem independientes.

Por supuesto, los dispositivos de IoT no solo se ejecutan en microcontroladores básicos. Hay muchos ejemplos en los que la potencia y la capacidad técnica de un sistema completo basado en el kernel de Linux fue la elección correcta, incluso con los efectos en cadena sobre el consumo de energía, el espacio y la carga de soporte de software.

El curso central

Esta etapa implica traer software preexistente (esencialmente "IP de terceros") que incluye: el núcleo del sistema operativo (o sistema operativo en tiempo real); los controladores del chipset; y el paquete de soporte de placa (BSP) que personaliza esos controladores para su diseño de PCB en particular.

Los proveedores de chipsets suelen proporcionar un kit de desarrollo de software (SDK) gratuito que contiene todo esto. Pero vale la pena recordar que este SDK puede no funcionar con el silicio de otra persona, lo que limita su capacidad para cambiar de proveedor en el futuro. Si eso importa, tal vez considere una oferta de proveedor neutral como Amazon FreeRTOS o ThreadX de Microsoft.

Los sistemas basados ​​en Linux también tienen opciones similares, a menudo con una "distribución" gratuita para comenzar. Pero es posible que prefiera hacer uno mismo o usar una distribución de Linux más genérica, como Ubuntu Smart Start o Fedora IoT. Todo depende de sus requisitos de seguridad, los plazos de desarrollo y las limitaciones del sistema sobre el consumo de energía y el espacio de almacenamiento.

El curso de código

Por supuesto, no puede simplemente instalar Linux integrado en su dispositivo, o flashear en un RTOS, y dejarlo todo. Deberá agregar la "salsa secreta" antes de

escribiendo código para personalizar este sistema según sus necesidades. Eso podría ser tan simple como especificar los puntos finales y las claves para cargar las lecturas del sensor, o tan complejo como ejecutar múltiples pilas de protocolos a medida y un sofisticado procesamiento de inteligencia artificial en el borde, por si acaso. De cualquier manera, el lenguaje y las herramientas que utilice tendrán un gran impacto en su programa de desarrollo inicial, así como en el soporte y el mantenimiento continuos.

El lenguaje de programación C ha sido el predeterminado durante casi 40 años, pero tal vez sea valioso probar un lenguaje de sistemas seguro para la memoria, como Rust o incluso algo como MicroPython. Pero si encuentra que su Chipset o Core no puede manejar su opción preferida aquí, es posible que deba volver atrás y volver a pensar.

El curso de la nube

La mayoría de los desarrollos de dispositivos conectados implican la recopilación de datos para su análisis posterior y la emisión de comandos para controlar los dispositivos "en el campo". Tiene sentido casi universalmente descargar este requisito informático a una de las ofertas de almacenamiento de datos y administración de IoT predefinidas disponibles en los grandes proveedores de "nube", en lugar de utilizar sistemas locales.

Independientemente de la plataforma en la nube que elija, deberá equilibrar los costos iniciales de integración con el soporte y el mantenimiento continuos. Y recuerde, necesitará soporte de su nube, chipset y proveedores de conectividad durante toda la vida útil de su producto en el campo.

Y finalmente ... el curso de comunicaciones

El protocolo de comunicaciones predeterminado que usará su código para comunicarse con su proveedor de la nube generalmente estará basado en texto (como JSON o XML) y se ejecutará a través de un enlace HTTP orientado a la conexión cifrada.

Si bien este tipo de pila es omnipresente (así es como se construyen la mayoría de los sitios web actuales), su naturaleza de texto sin formato aumenta los requisitos de ancho de banda en su conectividad y los recursos del chipset, y la naturaleza orientada a la conexión puede interactuar mal con algunos servicios inalámbricos de alta latencia. Por ejemplo, si está diseñando un sistema de monitoreo de energía ultrabaja utilizando NB-IoT, podría ser mejor con un protocolo binario sin conexión como CoAP.

Además, es casi seguro que poder confiar en una pila de protocolos bien utilizada y probada en el mundo real (como la que viene con su software Core) será mejor que intentar hacer girar uno usted mismo.

Vale la pena recordar

Hay pocos absolutos en la tecnología y siempre habrá una gama de soluciones para satisfacer sus necesidades. Lo que funcione mejor dependerá de sus presupuestos, plazos y las habilidades que tenga disponibles internamente, de un socio de desarrollo externo o de cualquier relación existente con proveedores de hardware, software o redes. Pero incluso la mejor solución técnica nunca será ganadora a menos que llegue al mercado a tiempo y con la combinación adecuada de precio, especificaciones y disponibilidad.