Proyectos IoT

[1/3] Del hardware a la nube: Crea tu propia solución IoT

Daniela Rico
· 5 min de lectura
Enviar por correo electrónico

¿Alguna vez has pensado en desarrollar tu propia aplicación IoT desde cero, pero no sabías por dónde empezar? Para ti y para todas esas almas creadoras que quieren materializar sus proyectos, te contaré mi experiencia, porque yo también he pasado por eso.

Introducción

Este es el primero de una serie de artículos a través de los cuales describiré todo el proceso, desde el diseño del hardware hasta la aplicación en la nube, para hacer realidad mi proyecto. Los desafíos, problemas, logros e incluso algunos detalles técnicos y tutoriales relacionados con dispositivos específicos utilizados en las diferentes etapas del proceso.

¿Cómo elegí mi proyecto?

Primero lo primero, permítanme presentarme: soy estudiante de ingeniería eléctrica, a punto de terminar mi carrera. Para mi proyecto de graduación, quería tener la experiencia de diseñar y desarrollar mi propio dispositivo, y poder usarlo para implementar una aplicación IoT que pudiera contribuir a resolver uno de los problemas de mi ciudad. Además, quería que esa solución fuera asequible y sencilla, para que pudiera ser utilizada por cualquier persona independientemente de su procedencia. Después de pensarlo unos días, me incliné por los problemas de movilidad: Desplegar mi propia aplicación de aparcamiento inteligente.

¿Por qué elegí este proyecto?

A medida que la población mundial crece cada vez más, la movilidad en muchas ciudades tiende a colapsar debido a la gran cantidad de vehículos que circulan por las calles. En los sectores comerciales el problema es peor por el tiempo que tarda un conductor en encontrar un lugar para estacionar su vehículo, generando congestiones insostenibles. Los sistemas de aparcamiento inteligentes se han convertido en una herramienta de gran ayuda para reducir los problemas de movilidad en aquellos lugares con elevada concurrencia de vehículos.

Sin embargo, estos sistemas suelen ser complejos y caros. Su instalación debe ser realizada por personal especializado e incluso en muchas ocasiones es necesario modificar la estructura del aparcamiento. Además, se debe invertir mucho dinero y tiempo en mantenimiento. Por ese motivo, este tipo de sistemas no se implementan en todas partes. Por eso decidí crear una solución más sencilla, práctica y económica para ayudar a los conductores a localizar plazas de aparcamiento vacías.

Descubrí que para desarrollar este proyecto se podía dividir en dos grandes etapas: diseño de hardware e implementación de la aplicación software.

Diseño de hardware

1. Definición de características del dispositivo

Como punto de partida, fue necesario definir qué características requeriría el proyecto para poder comenzar a planificar cómo alcanzarlas. Para mi dispositivo, elegí las siguientes funciones:

  • Bajo consumo de energía
  • Portátil
  • Inalámbrico
  • Batería de larga duración
  • Fácil de instalar
  • Alcance de señal largo
  • Fiabilidad

2. Selección de componentes modulares

Luego, tuve que pensar en los componentes modulares que debía tener el dispositivo para cumplir su función: detectar la presencia de un vehículo en un lugar de estacionamiento y transmitir esa información a la aplicación de software de forma inalámbrica.

En primer lugar, necesitaría encontrar un sensor capaz de detectar la presencia de un vehículo. Entonces, sería necesario un microcontrolador para leer, procesar y organizar los datos recogidos por el sensor. Por último, pero no menos importante, sería necesario el uso de un módulo inalámbrico para enviar la información a un servidor, donde se almacenarían los datos para ser utilizados por la aplicación de software .

Teniendo todo esto en cuenta, el siguiente paso sería buscar y seleccionar todos los componentes y tecnologías necesarios para cumplir con los requisitos mencionados anteriormente.

3. Selección de tecnologías

Para seleccionar la tecnología, estudié el estado del arte de los sistemas inteligentes de aparcamiento y detección de vehículos. Descubrí que las tecnologías de sensores más comunes utilizadas para la detección de vehículos son: infrarrojos, ultrasonidos y magnéticos. Sin embargo, consideré que las detecciones mediante sensores ultrasónicos e infrarrojos podrían tener mayor probabilidad de fallar, debido a que sus mediciones podrían verse afectadas por cosas como la forma de las superficies o incluso el polvo del ambiente. Entonces, decidí probar primero los sensores magnéticos.

Empecé a buscar sensores magnéticos , principalmente con bajo consumo de energía y alta sensibilidad. Estudié las características de al menos 10 sensores diferentes y seleccioné los cinco que me parecieron mejores. Posteriormente creé una hoja de google donde registré esos cinco sensores con sus características principales: voltaje de alimentación, consumo de energía, sensibilidad, resolución e interfaces de comunicación, para poder compararlos.

Además, debido a su pequeño tamaño, me aseguré de que los sensores elegidos tuvieran una placa adaptadora para una rápida creación de prototipos del sistema y evaluación de dispositivos. Al final elegí los que tenían mayor sensibilidad pero con un bajo consumo de energía. Las referencias de dichos sensores son MMC5883MA y LSM303AGR .

Para seleccionar el microcontrolador, limité mi investigación a arquitecturas de 8 bits , para reducir el costo y la complejidad de la programación ya que las tareas que debe realizar el microcontrolador son realmente simples. Necesitaba encontrar un microcontrolador de bajo consumo que incluyera un empaque que me permitiera hacer pruebas para el prototipado, es decir, apropiado para ser utilizado en una protoboard. Terminé decidiendo probar los microcontroladores PIC, comenzando con el PIC18F2550 .

En ese momento, necesitaba seleccionar un módulo inalámbrico. La primera pregunta aquí fue: ¿qué tecnología inalámbrica debería utilizar? Bueno, después de unos días de intensa investigación y los consejos de mis compañeros de trabajo en Ubidots , decidí usar LoRaWAN . Debido a sus características como baja potencia, largo alcance y alta inmunidad a interferencias, LoRaWAN es una tecnología poderosa para aplicaciones IoT Aunque existe una limitación con respecto al tamaño de los paquetes que se pueden enviar mediante LoRaWAN, esto no es un problema para IoT porque no se necesitan grandes cargas útiles para enviar los datos recopilados por los sensores.

Luego, busqué un módulo LoRaWAN con bajo consumo de energía, alto alcance e interfaces de comunicación en serie. Era obligatorio asegurarme de que la frecuencia de trabajo del módulo LoRaWAN coincidiera con la banda ISM de mi país. Unas semanas antes había estado probando una placa de desarrollo llamada SODAQ ONE . Esa placa incluye un módulo LoRaWAN incorporado llamado RN2903 , que cumplió con los requisitos de este proyecto. Entonces me incliné por utilizar este conocido módulo, el cual mostró un muy buen comportamiento en las pruebas realizadas con el SODAQ ONE.

Si ya está familiarizado con SODAQ ONE V3 y desea comenzar con Ubidots , ¡consulte esta guía y comience hoy!

Después de realizar todos los pasos mencionados anteriormente, el siguiente paso es probar los componentes seleccionados y construir un prototipo. Los resultados de esas pruebas determinarán si estos componentes fueron elegidos adecuadamente para mi aplicación o si debo cambiar algo.

Para ser honesto, aunque todo el proceso podría ser complicado, la parte más difícil para mí fue decidir por dónde empezar. Así que si te encuentras interesado en desarrollar tu propia aplicación IoT , lo que te recomiendo es que tengas claros los objetivos, características y todo el alcance de tu proyecto, y el resto del camino aparecerá solo frente a tus ojos. .

Si quieres saber cómo resultó todo, ¡estad atentos a las próximas publicaciones!

Sinceramente, Daniela.