Navigation

¿Cómo se crea un dispositivo IoT?

Nos hemos animado a crear una aplicación IoT que va a revolucionar el mercado. Nuestra idea es la más innovadora, pero necesitamos ponernos manos a la obra y crear un nuevo dispositivo para esta aplicación desde cero. Y no sabemos qué hacer. En algunas de mis clases de máster suelo comenzar preguntando a los alumnos qué harían en caso de encontrarse en la situación de tener una necesidad de crear un producto IoT de cero, sin nada en el mercado disponible para su gran idea de aplicación. La respuesta en la mayoría de los casos pasa por una consulta a Google a ver qué nos puede sugerir el omnisciente buscador. Y supongo que a partir de unas semanas sugerirá esta entrada en la que vamos a intentar resumir de una forma muy concisa el proceso de creación de un dispositivo IoT.

Esta es una labor en la que entran en juego diseño y fabricación de hardware, desarrollo de software y, en algunos casos, diseño industrial. Las fases de este proceso pueden resumirse en en una serie de pasos, no siempre secuenciales, aunque con gran dependencia entre ellos.

Idea

Muchas pueden ser las razones por las cuales se considere entrar en el desarrollo de un dispositivo IoT para cubrir una necesidad determinada, pero muchos son los factores y etapas a tener en cuenta antes de lanzarse a realizarlo. Los hechos demuestran que el diseño de hardware es costoso, duro y arriesgado. Debe considerarse antes de cualquier desarrollo un estudio exhaustivo del mercado existente y plantearse una serie de cuestiones cruciales:

  • ¿Existe una solución disponible ya en el mercado?
  • Si no es así ¿existe en el mercado alguna solución adaptable en parte o en su totalidad a la aplicación?
  • Si existe ¿sus características tecnológicas, mecánicas y de coste permiten considerar el realizar un nuevo diseño?
  • Y muy importante, ante un diseño innovador ¿se tienen las competencias y conocimientos necesarios para su desarrollo?, y no se está hablando de conocimientos tecnológicos, se habla de conocimientos del mercado y el vertical al que se pretende dirigir.
  • ¿Es realmente algo por lo que el cliente final pagaría?
  • ¿Ofrece una oferta extremo a extremo de verdadero valor añadido y con un retorno de inversión identificado?

Por eso, acometer la creación de un nuevo dispositivo IoT solo puede estar causado por la imperiosa necesidad de cubrir un requerimiento o varios, y que no estuviera satisfecho con las soluciones disponibles.

Si finalmente se opta por la realización de un nuevo diseño de dispositivo IoT, previamente es obligatoria la creación y análisis de un plan detallado de ejecución y financiero que contemple todos los componentes involucrados, cosa que en muchas ocasiones se obvia con los consiguientes riesgos.

Raspberry Pi 2, una de las plataformas de prototipado IoT más famosas (Fuente: https://www.raspberrypi.org/)

Prototipo

Antes de involucrarse en ningún desarrollo importante, es conveniente la validación inicial de la idea de una forma funcional. Pudiendo estar lejos de lo que puede ser un producto final en tamaño, prestaciones, consumo y precio, el prototipo permite tener una primera aproximación de la solución. Esto puede resultar de gran valor tecnológico e incluso financiero, ya que su existencia argumenta las razones por las que invertir en su desarrollo.

Para la realización de un prototipo hay dos aproximaciones posibles:

  • Basarse en plataformas hardware de desarrollos existentes. Existen opciones de hardware abierto como pueden ser Arduino o Raspberry Pi y todas sus clónicas o bien distintas plataformas de desarrollo más avanzadas o dedicadas al mundo del IoT. Este prototipo permitirá únicamente realizar una validación funcional de la solución previa a un diseño a medida.
  • Realizar un prototipo basado en un diseño eléctrico que deberá ser muy parecido al producto final. En este caso su validación permitirá realizar los ajustes electrónicos y mecánicos necesarios. En caso de prototipos de este estilo muy defectuosos, nuevas iteraciones del mismo deberán considerarse antes de proceder a la realización de las pre-series de producción.
Diseño electrónico de una PCB (Fuente: http://www.saturnpcb.com)

Diseño electrónico

Una vez realizados los estudios previos necesarios sobre el dispositivo IoT que se va a producir y habiendo realizado, si ha sido posible o se ha considerado necesario, un prototipo inicial para demostrar la funcionalidad, se deberá acometer el diseño electrónico.

Es clave una elección adecuada de PCB – Printed Circuit Board– o circuito impreso (capas, sustrato, grosor, etc.), componentes (activos, pasivos, conectores, etc.) y la realización de un diseño adecuado a los requerimientos de consumo, comunicaciones y fiabilidad. La correcta elección de la red de comunicaciones adecuada y el cuidado en la parte de alimentación eléctrica del dispositivo, incluyendo la elección de baterías si fuese necesario, son dos puntos muy importantes en este proceso.

Cabe destacar que esta fase ha estado limitada por los altos costes de licencias de software de diseño electrónico. Aunque los programas más avanzados siguen siendo muy costosos, han aparecido en el mercado soluciones de código abierto y gratuito o de muy bajo coste relativo para estudiantes y uso particular. Este factor está resultando de gran ayuda para startups y emprendedores en el área.

Diseño mecánico

Aunque en determinados casos el desarrollo puede acometerse únicamente abordando la parte electrónica y dejar abierto el encapsulado (por ejemplo, una plataforma de desarrollo IoT), al hablar de soluciones completas, es necesario considerar el diseño de un encapsulado o caja adecuada.

Por tanto, esta fase debe de acometerse en conjunción con la anterior ya que es clave el “ensamblaje” de pasantes, enganches, cierres o tornillos en el PCB, así como las necesidades de estanqueidad, ventilación de los circuitos o conectividad en la caja.

La elección de un diseño impactante puede ser condicionante en alguno de los verticales, por lo que resulta muy importante contar con recursos con la capacidad requerida para el mismo.

Diseño de antena

Aunque lo podríamos incluír dentro del apartado del diseño electrónico, debido a la importancia de las comunicaciones en un dispositivo IoT, el diseño de antena es algo que debe de ser tratado con cuidado y de forma conjunta con el diseño electrónico y mecánico del dispositivo.

Su diseño dependerá principalmente de la frecuencia de operación de la red de comunicaciones y de la potencia de emisión requerida, así como de los requerimientos de direccionalidad y directividad. Un diseño de antena hecho de forma independiente al mecánico y electrónico puede traer malas sorpresas como la elección de un sustrato PCB no adecuado, la atenuación de elementos metálicos interiores o la capacidad de incorporar la antena en el interior de la caja/encapsulado del dispositivo.

Programación firmware

Pudiendo ser acometida desde el momento en el que se dispone de un prototipo, la programación del firmware (programa ejecutado en el propio dispositivo) cubre todo el desarrollo software que se incorporará en el mismo dispositivo IoT en sí. Este software deberá controlar la aplicación que regula el funcionamiento del mismo dispositivo, así como sus algoritmos de proceso, comunicación, sensorización, actuación, consumo energético, etc.

Es clave que en esta fase se planifique de forma adecuada la integración con las fases posteriores, así como el test y validación necesarios para asegurar la robustez de la solución.

Panel de control de thethings.io, una versátil plataforma IoT (Fuente: http://blog.thethings.io/)

Integración con plataforma IoT

Asumiendo que nuestro dispositivo comunica sin problemas sobre la red elegida, el siguiente paso es la integración con la Plataforma IoT, esa aplicación en la nube capaz de interactuar con el dispositivo IoT y gestionar de forma adecuada los datos y los comandos relativos a los dispositivos y a la inteligencia del negocio.

Aunque la integración inicial en este caso podría considerarse dentro del desarrollo firmware, es conveniente un trabajo conjunto del desarrollador del dispositivo con la plataforma para la validación de las comunicaciones, ajuste de capacidades y optimización de latencias y consumos energéticos y de datos.

El protocolo usado para esta integración es recomendable que sea estandarizado y su aplicación bien documentada. Por ejemplo, si se usa MQTT se deberán definir en detalle sus topics y si se realiza sobre un API Rest con intercambio de ficheros JSON, se deberá detallar el contenido de cada uno de los campos del mismo.

Validación con aplicación IoT

La aplicación IoT deberá siempre tener un alto nivel de abstracción en su interacción con el dispositivo IoT y este puede servir datos para ser usados por otras aplicaciones. Aun así, es conveniente hacer una validación punto a punto del sistema, integrando el dispositivo, la plataforma IoT y la aplicación. De esta forma se comprobará que existe la robustez requerida en toda la cadena de componentes del sistema y desde el punto de vista del usuario.

Por ejemplo, un uso limitado de un dispositivo IoT por batería puede proporcionar una experiencia de usuario pobre en la aplicación, y el aumento de régimen de uso del dispositivo puede mejorarla pero no hacer viable el requerimiento de duración temporal por uso excesivo de batería.

Antiguas placas de expansión WiFi de la plataforma IoT TSmarT de TST

Pre-producción y pre-series

Llegados a este punto, es el momento de acometer la fase previa a la producción. Se debe de planificar, ya con la colaboración de la empresa encargada de la producción, una serie corta de dispositivos idénticos a la versión final tanto electrónica como mecánicamente.

Aspectos como la durabilidad, rango de temperaturas de operación, resistencia a interferencias, estanqueidad o dureza deberán ser validadas en profundidad. Es la oportunidad de hacer también una presentación al cliente final, si lo hubiese, y en muchos casos este hito puede suponer el paso final del proyecto si la producción se externaliza.

Como en la fase de prototipo, una pre-serie con muchos errores puede necesitar nuevas iteraciones de fabricación, pero en esta fase esto es preferiblemente evitable.

Certificación

Los productos electrónicos están regulados internacionalmente por distintas normativas que exigen el cumplimiento de ciertas certificaciones. Un producto alimentado y conectado presenta riesgos de electrocución, altas temperaturas, deformidades, interferencias, etc. El objetivo principal de estas certificaciones es el de asegurarse de que todos estos parámetros están dentro de las normas establecidas. Estas normas pueden ser las realizadas por administraciones, instituciones, fabricantes u operadores de red y son de obligado cumplimiento para poder lanzar una producción y autorizar su venta en diferentes mercados.

Es muy importante observar la diferencia de certificaciones entre países y continentes y considerarlo en las fases iniciales de creación de producto.

Línea típica de montaje de circuitos electrónicos (Fuente: http://www.janvanes.com/)

Producción

La fase de producción es la más delicada desde la perspectiva financiera, y la que ha de planificarse con más detalle. Desde una externalización completa hasta su fraccionamiento en distintas fases, la empresa deberá cuidar que los distintos pasos necesarios se den de la forma más adecuada:

  • Acopio de materiales
  • Fabricación de PCBs
  • Montaje PCB
  • Test eléctrico
  • Test funcional
  • Fabricación de moldes si se usan cajas/encapsulados a medida
  • Fabricación de las cajas/encapsulados
  • Inyección (fabricación) y estampado de las cajas/encapsulados
  • Montaje en caja/encapsulado
  • Validación del sistema
  • Embalaje, etiquetado, almacenaje, etc
Máquina de inyección de plástico en molde para la fabricación de cajas y encapsulados (Fuente: http://www.bpf.co.uk/plastipedia/processes/injection_moulding.aspx)

Es en esta fase donde también entra en juego una cuidadosa gestión de inventarios, tanto en producto final, como en cada una de sus fases. Una producción varía mucho lo costes en función del volumen, pero un alto inventario supone un riesgo de inmovilizado con la consiguiente depreciación.

En este punto ya dispondremos en nuestro stock de un dispositivo IoT para poder vender y hacer ese gran negocio que nos llevó a su diseño y producción.