Diseñado especialmente para neófitos y desarrolladores: descubre cómo enlazar dispositivos físicos (ESP32), mandos remotos móviles, clientes inmersivos XR (Unity), microservicios de inferencia adaptativa y las 7 verticales industriales en tiempo real.
Imagina a ASCF como el Sistema Nervioso Central de un entorno industrial o espacial:
http://aspatialcomputingframework.duckdns.org/mobile
/console./experience-factory.html.# Opción A: Ejecutar el script CLI incluido en el repositorio
python3 scripts/iot_device_cli.py esp32-nodo-01 mineria-copiloto http://aspatialcomputingframework.duckdns.org
# Opción B: Enviar una lectura única con curl
curl -X POST http://aspatialcomputingframework.duckdns.org/api/iot/sensor \
-H "Content-Type: application/json" \
-d '{"client_id": "esp32-taller", "temp": 32.4, "pressure": 2.8, "status": "ONLINE"}'
Flujo de telemetría bidireccional desde dispositivos en borde (Edge) hasta la nube (Cloud) y clientes inmersivos:
Cómo opera la toma de decisiones con garantía de tiempo real:
/api/iot/sensor o por WebSocket /ws.
Cada vertical representa una solución empresarial real probada bajo condiciones de latencia estricta:
El firmware oficial de ASCF está disponible en la carpeta firmware/esp32_quick_demo/. Puedes compilarlo con Arduino IDE o PlatformIO:
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "TU_WIFI_SSID";
const char* password = "TU_WIFI_PASSWORD";
const char* serverUrl = "http://aspatialcomputingframework.duckdns.org/api/iot/sensor";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\n✓ Conectado a WiFi y listo para emitir al Bus ASCF");
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverUrl);
http.addHeader("Content-Type", "application/json");
// Telemetría de sensores reales (temperatura, presión, vibración)
StaticJsonDocument<256> doc;
doc["client_id"] = "esp32-nodo-01";
doc["temp"] = 28.5 + (random(-10, 10) / 10.0);
doc["pressure"] = 2.1 + (random(-2, 2) / 10.0);
doc["status"] = "NORMAL";
String payload;
serializeJson(doc, payload);
int httpCode = http.POST(payload);
Serial.printf("Transmisión HTTP: %d\n", httpCode);
http.end();
}
delay(2000); // Frecuencia de muestreo
}
Apenas el ESP32 o tu móvil emiten una lectura real, el servidor activa un bloqueo estricto (Auto-Lock): desactiva la simulación sintética de fondo para evitar que datos falsos contaminen las decisiones de los agentes.
| Método | Ruta | Función y Propósito | Payload / Entrada | Respuesta Típica |
|---|---|---|---|---|
| GET | /console |
Centro de mando, radar 3D, osciloscopio y agentes | Ninguno | HTML Console UI |
| GET | /experience-factory.html |
Suite interactiva de las 7 verticales empresariales | Ninguno | HTML Factory UI |
| GET | /mobile |
Controlador remoto para smartphone (giroscopio/háptico) | Ninguno | HTML Mobile UI |
| GET | /guide.html |
Guía de arquitectura y onboarding para neófitos | Ninguno | HTML Docs UI |
| GET | /api/health |
Health check del servidor y estado del servicio | Ninguno | {"status": "ok"} |
| POST | /api/iot/sensor |
Ingesta de telemetría de sensores físicos (ESP32) | {"client_id", "temp", ...} |
{"received": true, ...} |
| GET | /api/devices/hardware-status |
Verifica si hay hardware real emitiendo en vivo | Ninguno | {"has_real_hardware": bool} |
| POST | /api/run-all-experiences |
Ejecuta las 7 verticales secuencialmente y mide SLAs | Ninguno | {"total": 7, "results": [...]} |
| WS | /ws |
Bus espacial de eventos peer-to-peer y telemetría | JSON String Stream | Broadcast a todos los pares |
| GET | /gov/chain/audit |
Auditoría criptográfica de invariantes de gobernanza C2 | Ninguno | {"valid": true, "gates": [...]} |
| ID Vertical | Industria | SLA Objetivo | Tipo de Sensores | Actuador / Mitigación | Estado Medición |
|---|---|---|---|---|---|
mineria-copiloto |
Minería | <700 ms | Cámara de rampa + Talud | Alerta de voz al operador CAT | CONFORME |
logistica-nearness |
Logística | <700 ms | Cámara cenital + Lidar | Freno de emergencia montacargas | CONFORME |
manufactura-qa-visual |
Manufactura | <700 ms | Cámara óptica en línea | Parada de cinta + Ticket raíz | CONFORME |
salud-feedback-vr |
Salud | <700 ms | Simulador VR Háptico | Vibración en guante quirúrgico | 533ms (USD en F1) |
retail-layout-optimization |
Retail | <1000 ms | Tráfico Wi-Fi + Cámaras | Reorganización de góndolas | CONFORME |
field-service-copilot |
Field Service | <700 ms | Gafas AR + Audio | Overlay holográfico de válvulas | CONFORME |
utilities-coordination |
Utilities | <700 ms | Telemetría de presión/tensión | Relés y válvulas seccionales | CONFORME |