Inicio Artículos Arquitectura básica de un dispositivo IoT: diseño y componentes esenciales

Arquitectura básica de un dispositivo IoT: diseño y componentes esenciales

Autora: Paula Ortega, FAE de comunicaciones e IoT en Eurotronix

El uso de un microcontrolador de bajo consumo junto con un módem celular LTE Cat‑1 bis demuestra que es posible alcanzar un equilibrio adecuado entre rendimiento, cobertura y eficiencia energética, lo que resulta especialmente relevante en aplicaciones de monitorización remota y despliegues a largo plazo.

La demanda y el desarrollo de dispositivos IoT (Internet of Things) se encuentran en constante crecimiento. Se estima que durante el año 2024 existieron cerca de 19 mil millones de dispositivos IoT conectados a nivel mundial, cifra que continúa aumentando impulsada por la digitalización de la industria, las ciudades inteligentes, la domótica y la monitorización remota.

Los dispositivos IoT actúan como nodos inteligentes capaces de recopilar datos del entorno mediante sensores, procesarlos localmente y transmitirlos a través de redes de comunicación hacia plataformas remotas para su almacenamiento, análisis y visualización. Gracias a esta arquitectura, es posible tomar decisiones automatizadas, optimizar procesos y mejorar la eficiencia de múltiples sistemas.

El presente artículo tiene como objetivo describir los componentes básicos necesarios para el desarrollo de un prototipo de dispositivo IoT.

Arquitectura básica de un dispositivo IoT

Un dispositivo IoT típico está compuesto por varios bloques funcionales que trabajan de manera conjunta. A continuación, se describen los componentes esenciales que conforman este tipo de sistemas.

Arquitectura básica de un dispositivo IoT

Microcontrolador

La unidad de procesamiento constituye el núcleo del dispositivo IoT, ya que es la encargada de ejecutar el firmware y coordinar el funcionamiento del resto de los componentes del sistema. En la mayoría de las aplicaciones IoT se emplea un microcontrolador (MCU), debido a su bajo consumo energético, alta integración de periféricos y coste reducido. No obstante, en aplicaciones más complejas o que requieren mayores capacidades de procesamiento, puede recurrirse al uso de microprocesadores.

Para el ejemplo desarrollado en este artículo se emplea un microcontrolador de 32 bits del fabricante Geehy, perteneciente a la serie APM32E030. Este dispositivo está basado en la arquitectura ARM Cortex-M0+, orientada a aplicaciones embebidas de bajo consumo y respuesta rápida en tiempo real.

El microcontrolador dispone de 6 KB de memoria Flash para el almacenamiento del programa y 8 KB de memoria SRAM para la gestión de datos en tiempo de ejecución. Además, ofrece hasta 55 entradas/salidas (I/O), lo que proporciona una gran flexibilidad para la conexión de periféricos externos.

Entre sus interfaces de comunicación destacan:

  • UART, utilizada para la comunicación con el módulo de comunicaciones mediante comandos AT.
  • Dos buses I²C y dos interfaces SPI, empleados para la conexión con sensores y otros dispositivos externos.
  • Convertidor analógico-digital (ADC) de 12 bits, que permite la lectura precisa de señales analógicas procedentes de sensores.

En cuanto a capacidades temporales, el APM32E030 incorpora un completo sistema de temporización que permite ejecutar tareas con alta precisión y rapidez, fundamental en aplicaciones IoT en tiempo real. Entre sus recursos se incluyen:

  • 1 temporizador avanzado de 16 bits
  • 5 temporizadores de propósito general de 16 bits
  • 1 temporizador básico de 16 bits
  • 2 temporizadores watchdog, que incrementan la fiabilidad del sistema
  • 1 temporizador SysTick de 24 bits, integrado en el núcleo ARM, utilizado para la gestión del sistema operativo o tareas periódicas

Este conjunto de periféricos permite implementar aplicaciones eficientes, con tiempos de respuesta rápidos y un control preciso de los procesos internos del dispositivo IoT. Gracias a las librerías ya desarrolladas por el fabricante es posible realizar un desarrollo de firmware rápido y sencillo.

El código inferior muestra la activación del USART y el puerto GPIO A. Aquí llamamos a las funciones RCM para permitir que esos dos periféricos se conecten al reloj del sistema.

Una vez que se puede utilizar el GPIO, registramos una unión para incluir todos los parámetros sobre el GPIO y configuramos la función alternativa (GPIO_MODE_AF), el tipo push-pull, la alta velocidad de conversión y el nivel de entrada y salida sin resistencia de pull-up o pull-down.

A continuación, elegimos individualmente GPIO PA14 y PA15 como pines USART2 y llamamos a GPIO_Config para iniciar la configuración real. Después de eso, los GPIO están listos para funcionar.

Las últimas 6 líneas del código inician USART2, para que funcione a una velocidad de transmisión de 115200 baudios y sea capaz de recibir señales RX y enviar señales TX.

Sensor

Los sensores permiten al dispositivo IoT interactuar con el entorno físico. Son responsables de medir magnitudes como temperatura, humedad, presión, luz, movimiento o gases, entre otras.

Cada sensor convierte una variable física en una señal eléctrica que puede ser interpretada por la unidad de procesamiento. La selección del sensor depende directamente de la aplicación y de los requisitos de precisión, rango y consumo energético.

En este articulo no se entra en detalle de los sensores ya que dependerá de los tipos de aplicación, tales como:

  • Monitorización ambiental, mediante sensores de temperatura, humedad, calidad del aire o presión atmosférica.
  • Aplicaciones de agricultura inteligente, donde se emplean sensores de humedad del suelo, radiación solar o pluviometría para optimizar el riego.
  • Sistemas de control industrial, orientados a la supervisión de variables como corriente, tensión, vibración o estado de maquinaria.
  • Ciudades inteligentes, para la gestión de alumbrado público, control de aparcamiento o monitorización de infraestructuras.
  • Dispositivos de seguimiento y telemetría, como sistemas de localización, contadores inteligentes o equipos de mantenimiento predictivo.

Estos ejemplos ponen de manifiesto la versatilidad del sistema propuesto y refuerzan la idea de que, aunque el tipo de sensor pueda variar significativamente, la arquitectura general del dispositivo IoT y el flujo de datos permanecen prácticamente inalterados.

Módulo de comunicación

El módulo de comunicación es el componente encargado de transmitir y recibir datos entre el dispositivo IoT y otros sistemas, como servidores en la nube o aplicaciones móviles. Este componente permite la integración del dispositivo dentro del ecosistema IoT.

Dependiendo del alcance, el consumo y la velocidad requerida, pueden utilizarse distintas tecnologías de comunicación, tales como:

  • Wi-Fi
  • Bluetooth o Bluetooth Low Energy (BLE)
  • LoRa / LoRaWAN
  • Zigbee
  • Redes celulares (2G, 4G, LTE-M, NB-IoT)

Tal y como se explica en el artículo publicado en la edición de julio/agosto 2025 (números 848-849) de la Revista Española de Electrónica, una de las tecnologías emergentes para aplicaciones IoT es el LTE Cat1 bis, que ofrece equilibrio entre cobertura, velocidad de transmisión y consumo energético.

Para el desarrollo de pruebas y la realización de este artículo se ha hecho uso del módem LE270 de Fibocom. Este módulo adopta un diseño ultracompacto con formato LCC+LGA que mide 17,7 x 15,8 x 2,4 mm y ofrece flexibilidad de espacio en el diseño de los dispositivos de los clientes. Al mismo tiempo, el módulo es compatible con el modo de espera DRX de bajo consumo de 1 μA y PSM de 1 μA para ahorrar energía y prolongar el uso de la batería incluso en circunstancias de consumo extremadamente bajo, lo que garantiza un ciclo de vida útil prolongado del producto.

El módulo es compatible con una amplia variedad de protocolos y pilas de comunicación integradas, entre las que destacan:

  • TCP / UDP
  • HTTP / HTTPS
  • FTP / FTPS
  • MQTT
  • SSL / TLS
  • Soporte de IPv6 mediante pila de protocolos integrada

La comunicación entre el microcontrolador y el módulo LE270 se realiza mediante interfaz UART, haciendo uso de comandos AT. Para esta comunicación ha sido necesario crear una función auxiliar denominada enviarAT() encargada de enviar cadenas de texto que contienen los comandos AT al módem Fibocom a través del puerto UART2, dedicado exclusivamente a la comunicación con el módulo.

La función gestiona el envío del comando, así como la recepción y procesamiento de la respuesta generada por el módem, permitiendo verificar el estado de la operación y actuar en consecuencia.

Una vez definida esta función, la estructura del programa se basa en la inicialización de los puertos serie:

  • UART1, utilizado para depuración y monitorización del sistema.
  • UART2, empleado para la comunicación serie con el módulo Fibocom LE270.

Mediante el envío secuencial de comandos AT se lleva a cabo la inicialización del módem, el registro en la red celular y el establecimiento de la conexión de datos móviles, habilitando así la transmisión de información entre el dispositivo IoT y la plataforma remota.

A continuación, se debe realizar la lectura de datos del sensor, La adquisición de datos del sensor se realiza de forma periódica desde el microcontrolador utilizando las interfaces de comunicación previamente descritas (I²C, SPI o ADC, dependiendo del tipo de sensor empleado). El valor obtenido representa la magnitud física medida en el entorno, como temperatura, humedad, presión, luminosidad u otras variables de interés.

En este artículo no se entra en detalle en la implementación específica de la lectura del sensor, ya que las aplicaciones IoT abarcan un abanico muy amplio de casos de uso y la selección del sensor, así como su método de adquisición, dependen directamente de los requisitos concretos de cada aplicación.

Aun así, independientemente del sensor utilizado, el flujo general de adquisición es común: el microcontrolador obtiene el dato bruto, lo procesa localmente —aplicando, si es necesario, tareas de filtrado, escalado o validación— y lo prepara para su posterior transmisión. Este preprocesamiento local permite optimizar el uso del ancho de banda, reducir el consumo energético y mejorar la eficiencia global del sistema IoT.

Tras la lectura del sensor, el valor medido ya puede ser enviado mediante el módulo de comunicaciones hacia Internet. En este ejemplo se envían a la plataforma ThingSpeak, donde los datos pueden ser visualizados y analizados.

Antena

Aunque a menudo la selección de este componente se considera secundario, una buena selección e integración de la antena resulta crítica para el rendimiento del dispositivo IoT. En nuestro ejemplo hemos utilizado la referencia 2JF0224P del fabricante 2J Antennas. Se trata de una antena interna flexible con un conector tipo UF.L para conexión directa a la PCB. 2J Antennas dispone de una amplia gama de soluciones, tanto en las frecuencias a cubrir, como en la ubicación, tamaño y requisitos mecánicos de las antenas.

Para este caso será necesario contar con una antena compatible con las bandas de frecuencia LTE soportadas por el módulo. Dependiendo de los requisitos de la aplicación y de las restricciones mecánicas del dispositivo, pueden emplearse distintos tipos de antena, tales como antenas externas, antenas internas tipo PCB, antenas flexibles o antenas adhesivas. En todos los casos, es necesario prestar especial atención a su ubicación en el diseño, evitando interferencias con otros componentes y respetando las recomendaciones del fabricante del módulo de comunicaciones.

Fuente de alimentación

La fuente de alimentación proporciona la energía necesaria para el funcionamiento del dispositivo IoT. Puede estar compuesta por:

  • Baterías
  • Fuentes de alimentación externas
  • Paneles solares u otros sistemas de energía renovable

El diseño de la alimentación es un aspecto crítico, especialmente en dispositivos que deben operar durante largos periodos sin mantenimiento. Por esta razón, el bajo consumo energético es un factor clave en el diseño de sistemas IoT.

Eurotronix, experto en soluciones IoT

A lo largo de este artículo se han descrito los componentes básicos que conforman un dispositivo IoT, haciendo especial énfasis en el desarrollo de un prototipo funcional basado en placas de evaluación. Se ha analizado la función de cada bloque del sistema —sensores, unidad de procesamiento, módulo de comunicaciones, firmware, fuente de alimentación y antena— y se ha mostrado cómo su correcta integración permite construir soluciones IoT completas y escalables.

El uso de un microcontrolador de bajo consumo junto con un módem celular LTE Cat‑1 bis demuestra que es posible alcanzar un equilibrio adecuado entre rendimiento, cobertura y eficiencia energética, lo que resulta especialmente relevante en aplicaciones de monitorización remota y despliegues a largo plazo. Asimismo, el empleo de comandos AT y protocolos estándar facilita la interoperabilidad y la adaptación del sistema a diferentes plataformas en la nube.

Cabe destacar que todas las pruebas han sido realizadas mediante placas de evaluación tanto del microcontrolador como del módulo celular y que desde Eurotronix ponemos a disposición de nuestros clientes todos estos materiales para poder agilizar su proceso de desarrollo en dispositivos IoT.