aprendeFaker

Datos sintéticos reproducibles para enseñar ensamblador ARM64 y el stack IoT — sin hardware, autoevaluables byte a byte.

EN — Reproducible synthetic-data generators for teaching ARM64 assembly and the IoT stack (MQTT, InfluxDB, Grafana, MongoDB, SQL Server, ML). One CLI, self-grading labs, no hardware required. Docs in Spanish.

CI MIT GitHub

Inicio rápido (AWS Academy — Ubuntu Server)

git clone https://github.com/tectijuana/aprendeFaker.git && cd aprendeFaker
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python aprendefaker.py            # lista los subcomandos
.venv/bin/python aprendefaker.py influx --seed 2026

Regla de oro: todo se genera con semilla. Misma semilla → mismos bytes → tu salida se compara contra la esperada con cmp. Si no coincide, el error está en tu programa, no en los datos.

Lenguajes de Interfaz · ensamblador ARM64/AArch64

LI-01asm

Ordenamiento en memoria

Enteros de 32 bits con signo en .data; ordénalos y emítelos con write. El error clásico: b.lo vs b.lt.

Ver práctica →
LI-02stdin

Caja de kiosco

Montos tecleados con basura real: vacías, signos, letras, overflow. Valida en 32 bits, acumula en 64.

Ver práctica →
LI-03disco

Nómina legada en disco

Registros binarios de 32 bytes estilo COBOL. Trampa: el salario máximo es de un empleado dado de baja.

Ver práctica →
LI-04uart

Receptor GPS por UART

Tramas NMEA con checksum XOR; 10 % llegan con un bit dañado. UART virtual con socat.

Ver práctica →
LI-05xxd

Mini-xxd forense

Volcado hex de un binario decomisado con 3 evidencias ASCII embebidas. La última línea corta rompe a los descuidados.

Ver práctica →
LI-06busqueda

Búsqueda binaria de seriales

Catálogo ordenado de 200 seriales u64; consultas frontera incluidas. 8 comparaciones contra 200.

Ver práctica →

Sistemas Programables · IoT con Raspberry Pi Pico W / Wokwi

SP-01influx

Telemetría → InfluxDB

24 h de sensores en line protocol: tags vs campos, nanosegundos, dashboards de Grafana comparables entre alumnos.

Ver práctica →
SP-02mssql

SQL Server: dos vías de ingesta

T-SQL con sqlcmd y CSV con BULK INSERT. Acentos → NVARCHAR, comillas → escape, UTF-8 → CODEPAGE.

Ver práctica →
SP-03mqtt

Pub/Sub con Mosquitto

Jerarquía de topics, comodines +/# y mensajes retained, con publicador de cadencia real.

Ver práctica →
SP-04dataset

ML: sensores defectuosos

Deriva, atascado y ruidoso con etiqueta de verdad. Split 80/20 por sensor: la lección de la fuga de datos.

Ver práctica →
SP-05mongo

MongoDB: embed vs reference

Fichas ricas anidadas contra eventos planos referenciados — la decisión central de NoSQL, con $lookup.

Ver práctica →
SP-06rest

API REST en Flask

Tú escribes la API; el tráfico de producción la califica caso por caso: 201, 400 o 422.

Ver práctica →
SP-07alertas

Alertas de Grafana (NOC)

48 h con la verdad conocida: ola de calor, nodo caído y un pico falso que pone a prueba tu for:.

Ver práctica →
SP-08gps

GPS y geocercas

Transporte universitario Otay→campus: 2dsphere, $geoWithin, un desvío y una pérdida de señal.

Ver práctica →
SP-09integrador

Proyecto final: el pipeline completo

MQTT → puente Python → InfluxDB → Grafana + MongoDB + detección de fallas. Tú diseñas; la rúbrica está publicada.

Ver práctica →

Antes de empezar

Trabaja el Módulo 00 — Domina Faker: 5 lecciones y 6 ejercicios sobre semillas, locales y providers personalizados. Todo lo demás lo da por sabido.