Sistemas operativos embebidos e Internet of Things

Clase 23 de 32Fundamentos de Ingeniería de Software

Resumen

Los sistemas embebidos mueven el mundo moderno sin que lo notes. Están en celulares, relojes y hasta en tu SIM card. Aquí entenderás con claridad qué son, cómo se prototipan con Arduino, por qué Raspberry Pi funciona como un PC completo y cómo arquitecturas como ARM y estándares como UICC hacen posible todo esto.

¿Qué son los sistemas embebidos y por qué importan?

Los sistemas embebidos no son un computador tradicional: son chips pequeños integrados en objetos cotidianos. Dentro de esa “cajita” hay CPU, RAM, almacenamiento y un sistema operativo que arranca y ejecuta código. Muchos son un system on a chip (SoC): un solo chip cumple múltiples funciones.

  • Ejemplos cotidianos: SIM cards, tarjetas de crédito con chip y tarjetas de acceso.
  • Prioridad clave: uso eficiente de electricidad y arranque rápido.
  • Función crítica: tareas seguras como cifrado y autenticación directamente en la SIM, no en la CPU del teléfono.

¿Qué es un system on a chip?

  • Integración de CPU, memoria y periféricos en un único chip.
  • Ahorro de espacio, energía y costo.
  • Ideal para productos miniaturizados que pasan a RTM (release to manufacture).

¿Cómo operan las smart cards y UICC?

Las smart cards ejecutan sistemas como Java Card o MultOS (con C/C++ y compilación a MEL). En telefonía, la industria estandarizó las SIM como UICC (Universal Integrated Circuit Card). Algunas smart cards incluso se alimentan de energía de radio del entorno: se activan, ejecutan y “mueren” de inmediato, en ciclos muy rápidos.

  • Seguridad: clave de cifrado en la SIM para llamadas seguras.
  • Consumo: mínimo, ideal para dispositivos pasivos.

¿Cómo se compara ARM con X86?

  • X86 (Intel/AMD): históricamente optimizado para ser ultrarrápido.
  • ARM: prioriza la eficiencia energética y hoy alcanza velocidades cercanas a Intel.
  • Resultado: ARM domina en celulares, wearables, termostatos y sistemas pequeños.

¿Cómo prototipar con Arduino y pasar a RTM?

Arduino es la plataforma favorita para prototipar rápido. Se programa con sketch (derivado de C++) con instrucciones para manejar puertos eléctricos. El código se sube al chip por USB y arranca con el dispositivo.

  • Alimentación: por USB o fuente externa de 5V.
  • Puertos: entradas/salidas análogas y digitales a 5V.
  • Límite: RAM muy reducida, sin GPU ni salida gráfica.
  • Costo: no es para producción masiva (aprox. 30–50 USD por tarjeta).

¿Cómo se programa un Arduino con sketch?

  • Escribes en C++ “azucarado” llamado sketch.
  • Defines acciones como prender LEDs o mover motores.
  • Al encender, el chip corre “tu sistema operativo”: el programa que escribiste.

¿Qué es RTM y cómo pasar de prototipo a fábrica?

RTM (release to manufacture) es la especificación mínima para fabricar. - Paso 1: prototipa con Arduino y componentes (por ejemplo, una maleta inteligente con GPS, radio 3G vía SIM, batería externa y carga de dispositivos). - Paso 2: convierte el prototipo en el circuito más pequeño y barato posible. - Paso 3: envía el RTM para que la fábrica haga un prototipo industrial y luego producción en línea.

  • Habilidad clave: definir requerimientos mínimos y optimizar costo/energía.

¿Qué hace diferente a Raspberry Pi y qué sistemas corre?

Raspberry Pi es un PC completo en formato pequeño. Tiene CPU ARM quad core, GPU y puertos variados, lo que lo diferencia radicalmente de un Arduino.

¿Qué puertos y GPU tiene Raspberry Pi?

  • Puertos: USB, HDMI y un conector eléctrico multifuncional para accesorios.
  • Almacenamiento: ranura para SD cards.
  • Gráficos: Broadcom VideoCore como GPU para renderizar elementos visuales.

¿Qué sistemas operativos corren en ARM?

Históricamente corre Linux, en particular una versión optimizada llamada Raspian. Además, existe una Windows ARM Edition (en pruebas pero funcional) que corre en Raspberry Pi. Microsoft ya había trabajado con sistemas embebidos: Windows CE, Windows Mobile/Pocket Edition y Windows Phone, integrados estratégicamente en Windows 10 con soporte para ARM.

  • Ventaja de ARM aquí: rendimiento con menor consumo, ideal para dispositivos compactos.
  • Diferencia clave frente a Arduino: en Raspberry Pi no programas “el sistema operativo”; instalas uno completo y ejecutas aplicaciones como en un PC.

¿Tienes dudas o una idea de prototipo? Cuéntame en comentarios qué te gustaría construir y en qué etapa estás: prototipo con Arduino, RTM o un proyecto con Raspberry Pi.

      Sistemas operativos embebidos e Internet of Things