Skip to content
View aseinotegi's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report aseinotegi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
aseinotegi/README.md

Hola, soy Ander Sein 👋

Ingeniero de Automatización · IIoT · Visión Artificial
Conecto la planta (PLCs, sensores, robots) con el software que la explota: datos, IA y plataformas en producción.

LinkedIn Email Donostia


🧭 Quién soy

Más de 9 años entre el cuadro eléctrico y el servidor. Empecé programando y poniendo en marcha PLCs en líneas de producción por medio mundo, seguí como especialista en automatización, y hoy diseño de extremo a extremo plataformas que operan flotas de robots de inspección autónoma en refinerías.

Ese recorrido me da algo poco común: entiendo el proceso, el PLC y la red OT y también el backend, el contenedor y el modelo de visión que los explotan. Hablo el idioma del jefe de mantenimiento y el del equipo de software.

Qué me puedes pedir:

  • 🏭 Automatización industrial — programación de PLC (Siemens, Rockwell, Omron, Schneider), puesta en marcha, retrofit y conectividad de parques de PLC heterogéneos y legacy.
  • 📡 IIoT / Edge — captura de datos de planta (S7, EtherNet/IP, OPC UA, Modbus), pasarelas y brokers (MQTT, RabbitMQ), pipelines a base de datos y dashboards, todo dockerizado.
  • 🐍 Python a medida — librerías propias de adquisición, procesamiento y automatización; servicios FastAPI; integración con sistemas existentes.
  • 👁️ Visión artificial aplicada — detección de objetos (YOLO / OpenCV), lectura de instrumentos, clasificación de obstáculos, modelos multimodales en producción.
  • 🔗 Integración low-code — Node-RED y n8n para orquestar flujos entre planta, IT y servicios cloud cuando no hace falta reinventar la rueda.
  • 🤖 Robótica móvil autónoma — plataformas de scheduling, monitorización, KPIs/OEE e informes con IA para flotas en entornos oil & gas.

🛠️ Stack

Capa Tecnologías
OT / Control Siemens (TIA Portal, S7-300/1200/1500) · Rockwell (Studio 5000, CompactLogix) · Omron · Schneider · Profinet / Profibus / EtherNet/IP · OPC UA · Modbus
IIoT / Mensajería MQTT (Mosquitto) · RabbitMQ · Node-RED · n8n · Kepware · ThingWorx
Lenguajes Python (principal) · TypeScript / JavaScript · SQL · Structured Text / Ladder
Backend & Datos FastAPI · SQLAlchemy · PostgreSQL (+ PostGIS) · Redis · GraphQL · MySQL
Visión / IA YOLO · OpenCV · dlib · modelos multimodales (Gemini) · pipelines de inferencia en edge
Frontend React 18 · TypeScript · Vite · TailwindCSS · Leaflet · Recharts
Infra / DevOps Docker & Docker Compose · Caddy / Nginx · GitHub Actions (CI/CD) · AWS S3 · Sentry · Linux

stack icons


🏭 Casos de estudio en producción (anonimizados)

Sistemas reales que he diseñado y que están operando en plantas industriales. El código es confidencial, así que cada repositorio documenta el problema, la arquitectura, las piezas, cómo se conjuntan y cómo trabajo con cada tecnología.

Caso Qué resuelve Tecnologías clave
🤖 Robot Mission Scheduler & Monitoring Planificar y monitorizar misiones de flotas de robots de inspección: tiempo real, KPIs/OEE, informes PDF con IA, obstáculos por visión, multi-planta FastAPI · React · PostgreSQL · Redis · Docker · Gemini Vision · CI/CD
👁️ Level Gauge Vision Lectura automática de medidores de nivel en fotos de robots: detector YOLO11 entrenado a medida + LLM multimodal solo sobre el recorte YOLO11 · Gemini · FastAPI · Celery · Redis · Docker
🛡️ Robot Fleet Watchdogs Microservicios que reanudan misiones pausadas, vigilan presión ATEX y batería 24/7 sin operador Python · GraphQL · SQLite · SMTP · Docker
📡 MQTT Traceability Dashboard Trazabilidad en vivo de una celda de fabricación: PLCs → MQTT → FastAPI → WebSocket con JWT MQTT · FastAPI · WebSocket · JWT

🧪 Código abierto

📡 Adquisición de datos de PLC Siemens → broker

Dos implementaciones del mismo patrón IIoT — leer un DB del PLC, detectar cambios y publicar solo lo que cambia — en los dos lenguajes que uso en el edge:

  • snap7_PLC_adquisition — Python + Snap7 + asyncio → RabbitMQ. Lectura tipada de bools, bytes, int16, int32 y float sobre offsets del DB.
  • nodes7_js — Node.js + nodes7 → MQTT, con web service Express para configurar el PLC (IP, rack/slot, DB, variables) desde el navegador. Ciclo de lectura de 30 ms.

Servicio público en vivo que integra tres fuentes oficiales de la DGT, persiste incidencias con geodatos en PostgreSQL y calcula un índice de vulnerabilidad (aislamiento, exposición temporal, horario, tipo de vía) para detectar conductores en riesgo. Backend + frontend + Nginx en Docker Compose. TypeScript PostgreSQL/PostGIS Docker Leaflet

Visión artificial en tiempo real sobre cámara: landmarks faciales, detección de parpadeo, bostezo y ojos cerrados con alerta. Python OpenCV dlib

🧰 MyTools

Caja de herramientas Python que uso en proyectos reales: cliente OPC UA, servidor Snap7 simulado, consumidores RabbitMQ → CSV, escáneres ARP/ICMP de red OT, generación automática de informes, dashboards, transcripción y traducción de audio…


🧩 Cómo trabajo

  • Primero el proceso, luego el código. Antes de conectar nada, entiendo qué hace la máquina y qué NO se puede tocar. Regla de oro en planta: no penalizar la producción.
  • Patrón DB única. En proyectos nuevos, todo lo que el PLC debe comunicar se copia a un único DB; el mundo exterior solo toca ese DB. Menos riesgo, más mantenible.
  • Publicar por cambio, no por ciclo. Los sistemas IIoT que diseño detectan cambios en origen y publican solo lo que varía: menos tráfico, menos carga en el broker, histórico limpio.
  • Producción de verdad. Seguridad (RBAC, secretos, cabeceras), observabilidad (Sentry end-to-end), CI/CD y backups no son extras: van en la primera entrega.

📬 ¿Hablamos?

¿Tienes un parque de PLCs que quieres conectar, una planta que necesita datos en tiempo real, un caso de visión artificial en línea de producción o una flota de robots que operar? Escríbeme.

LinkedIn · aseinotegi@gmail.com

Pinned Loading

  1. robot-mission-scheduler-showcase robot-mission-scheduler-showcase Public

    1

  2. DGT DGT Public

    Mapa en tiempo real de balizas V16 (DGT) en España con histórico geoespacial en PostgreSQL e índice de vulnerabilidad de conductores. Docker Compose + Nginx.

    TypeScript

  3. snap7_PLC_adquisition snap7_PLC_adquisition Public

    Lectura de DBs de PLC Siemens con Snap7 (Python/asyncio), detección de cambios y publicación a RabbitMQ. Patrón IIoT edge → broker.

    Python

  4. level-gauge-vision-showcase level-gauge-vision-showcase Public

    Caso de estudio (anonimizado): lectura automática de medidores de nivel con YOLO11 a medida + Gemini, FastAPI, Celery y Docker, sobre fotos de robots de inspección.

  5. mqtt-traceability-dashboard-showcase mqtt-traceability-dashboard-showcase Public

    Caso de estudio (anonimizado): trazabilidad en tiempo real de una celda de fabricación. PLCs → MQTT → FastAPI → WebSocket, con autenticación JWT.

  6. robot-fleet-watchdogs-showcase robot-fleet-watchdogs-showcase Public

    Caso de estudio (anonimizado): watchdogs en Docker que reanudan misiones, vigilan presión ATEX y batería de una flota de robots de inspección vía GraphQL. Python.