Caso de estudio · Espacios públicos · ESP32 PLC LoRa
Contar la plaza. Planificar el próximo evento.
Fotocélulas en los accesos, un PLC con LoRa y un histórico en la nube.
Cada paso es un pulso. Cada pulso es un recuento.
Los recuentos viajan por LoRa, y el histórico te dice cuánta gente traerá el próximo evento.
Este caso es una propuesta de diseño de los ingenieros de Industrial Shields. La escribieron como un modelo simplificado, para que cada cliente la pueda adaptar a su propio espacio. No describe una instalación concreta y no cita ninguna ciudad ni ninguna plaza. El caso da el objetivo, los sensores, el PLC y el camino de los datos. Los intervalos, recuentos, tramas, detalles de la red y datos de eventos de esta página son ejemplos de una forma habitual de hacerlo.
El reto
Saber cuánta gente vendrá, antes del próximo evento.
Quien gestiona una gran plaza quiere saber de antemano cuántas personas vendrán a un evento público o a una manifestación. Así puede decidir, por ejemplo, cuántos policías o ambulancias necesita. La forma de anticiparse es analizar los datos de los eventos anteriores.
Contar en cada acceso
Varios sensores fotoeléctricos en los accesos de la plaza detectan a cada persona que pasa. Cada pulso suma uno a un contador del PLC.
Guardar los datos de forma segura
Los contadores son los registros del sistema. El PLC los envía en un ciclo fijo, para que los datos queden guardados de forma segura en un registro general.
Sin cable de datos hasta la oficina
El PLC envía los contadores por radio LoRa hasta la nube, así que la plaza no necesita cable de red ni wifi.
De los recuentos a los planes
El histórico muestra tendencias y preferencias, como qué eventos son los más concurridos. Por acceso, muestra también por dónde entra la gente.
Una señal simple, muchos datos
Un pulso por persona es una señal pequeña. Meses de pulsos por acceso y por hora se convierten en los patrones que necesita un modelo de planificación.
Cómo funciona
Tres fases: contar, enviar, planificar.
Cada fase muestra una parte del camino de los datos. Pulsa los botones. Los paneles son simulaciones ilustrativas: recuentos, intervalos, tramas y datos de eventos son ejemplos, no datos de una plaza real.
Un haz se corta. El contador de su acceso suma uno.
Cada acceso tiene un sensor fotoeléctrico con su reflector. Cuando una persona cruza el haz, el sensor da un nivel alto de tensión a una entrada digital del PLC. El PLC ve el pulso y suma uno al contador de ese acceso. Haz pasar gente por los accesos y después prueba con dos personas a la vez.
- Una fotocélula por acceso en una entrada digital
- Un contador por acceso en el PLC
- Cuenta en el flanco del pulso
Eventos del PLC (ejemplo)
- Pulsa un botón para que una persona cruce un acceso.
Simulación ilustrativa. Valores de ejemplo, sin datos de una plaza real. Un haz cuenta pasos, no la dirección, y dos personas una al lado de la otra dan un solo pulso. El caso no publica cómo cuenta las salidas ni su precisión. Una forma habitual de ver la dirección: dos haces a poca distancia, y el orden en que se cortan.
Los totales van a la nube por LoRa, en un ciclo fijo.
El PLC empaqueta los contadores en una trama pequeña y la envía con un periodo fijo. Una forma habitual de llegar a la nube es LoRaWAN: una pasarela recibe la trama y un servidor de red la reenvía. Envía totales, no incrementos: si se pierde una trama, la siguiente lleva el recuento completo. Cambia el intervalo y el factor de dispersión, y después pierde una trama.
- Totales en pocos bytes
- El tiempo en el aire crece con el factor de dispersión
- Una trama perdida no pierde personas
Tramas a la nube (ejemplo)
Simulación ilustrativa. Valores de ejemplo, sin datos de una plaza real. Carga útil de ejemplo: un total de 32 bits por acceso, 12 bytes, más 13 bytes de cabecera LoRaWAN, a 125 kHz y con tasa de codificación 4/5. El caso dice LoRa hasta la nube y no cita la red ni el intervalo. La política de uso justo de The Things Network da a cada nodo 30 s de tiempo en el aire de subida cada 24 horas. El tiempo va rápido: un segundo es un periodo.
Los eventos anteriores del mismo tipo dan la próxima previsión.
En la nube, cada trama añade un punto al histórico de cada acceso. Agrupado por hora y por tipo de evento, el histórico muestra el patrón de cada clase de evento: cuándo llega la gente, cuánta y por qué acceso. Elige un tipo de evento.
- Histórico por acceso, por hora y por evento
- Previsión a partir de eventos parecidos
- Números para quien planifica los recursos
Datos para planificar (ejemplo)
Simulación ilustrativa. Valores de ejemplo, sin datos de una plaza real. Datos de ejemplo de cuatro eventos anteriores de cada tipo, no de una plaza real. Una forma habitual: hacer la media de los eventos anteriores del mismo tipo y usar la dispersión entre ellos como incertidumbre. Quien planifica convierte estos números en policías, ambulancias y personal de apoyo con sus propias reglas.
Arquitectura del sistema
¿Cómo cuenta un PLC a las personas de una plaza pública?
Los sensores fotoeléctricos de los accesos de la plaza dan un pulso a las entradas digitales de un ESP32 PLC 21 FLEX con placa LoRa. El PLC lleva un contador por acceso y envía los contadores por LoRa en un ciclo fijo. Una forma habitual de llegar a la nube: una pasarela LoRaWAN y un servidor de red, que entregan los recuentos decodificados a una base de datos. Allí los recuentos se convierten en un histórico para ver tendencias y hacer previsiones.
| Señal | Entre | Tipo | Función |
|---|---|---|---|
| Paso por el acceso A, B, C | EntreFotocélulas (×3) → ESP32 PLC 21 | TipoEntrada digital | FunciónUn nivel alto en cada corte del haz: un pulso |
| Contador de cada acceso | EntreDentro del PLC | TipoRegistro | FunciónSuma uno en cada pulso. El caso lo llama registro |
| Totales guardados (forma habitual) | EntreESP32 PLC 21 → memoria NVS | TipoMemoria | FunciónTotales que resisten un reinicio o un corte de tensión |
| Trama de recuentos | EntreESP32 PLC 21 → pasarela | TipoLoRa | FunciónTotales de todos los accesos, en un ciclo fijo |
| Recuentos decodificados | EntreServidor de red → nube | TipoMQTT o webhook | FunciónEl registro general del caso (forma habitual) |
| Histórico y previsión | EntreNube → equipo de planificación | TipoPanel de datos | FunciónTendencias por acceso, hora y tipo de evento |
Por qué funciona
Una señal pequeña, enviada con cuidado.
Basta con un pulso
La fotocélula da un nivel alto cuando una persona cruza el haz. El PLC convierte cada pulso en un recuento. Sin cámaras ni procesado de imagen.
Totales, no incrementos
Cada trama lleva el recuento completo de cada acceso. Si se pierde una trama, la siguiente corrige la nube y no se pierde ninguna persona.
Radio donde no hay cable
LoRa lleva los contadores desde el PLC hasta una pasarela, sin cable de red desde la plaza y sin tarjeta SIM en el PLC.
Pocos bytes para una banda compartida
Tres totales de 32 bits caben en 12 bytes. Las tramas cortas mantienen el tiempo en el aire dentro del ciclo de trabajo y de los límites de la red.
Primero, el histórico
El caso parte de los datos de los eventos anteriores. Una previsión vale lo que vale el histórico que tiene detrás, así que hay que empezar a contar mucho antes del evento.
Una base simple para crecer
El caso es un modelo simplificado. Más accesos o un segundo haz para la dirección son cambios en el mismo programa del Arduino IDE.
Hardware
Un PLC ESP32 con LoRa para los accesos de la plaza.
ESP32 PLC 21 FLEX
Un controlador industrial basado en el ESP32 de doble núcleo, para carril DIN, que se programa con el Arduino IDE. La versión FLEX admite una placa de comunicación: aquí, LoRa para la banda EU868, con un módulo que lleva dentro la pila LoRaWAN. En este caso lee las fotocélulas, lleva los contadores y los envía a la nube por LoRa.
- Función
- Contar los pasos en cada acceso, enviar los totales por LoRa
- Procesador
- ESP32 de doble núcleo, hasta 240 MHz
- Entradas
- 13: 6 analógicas o digitales (0-10 V, 11 bits), 7 digitales optoaisladas (de 5 a 24 Vdc), 2 de ellas con interrupción
- Salidas
- 8: 3 analógicas, digitales o PWM (0-10 V, 12 bits), 5 digitales optoaisladas (de 5 a 24 Vdc)
- Placa opcional
- Una: LoRa (banda EU868, US902 o Asia), 4G LTE-M/NB-IoT o CAN
- Comunicaciones
- Ethernet, wifi, Bluetooth LE, RS-485, RS-232
- Reloj
- Reloj de tiempo real DS3231 con batería
- Programación
- Arduino IDE
- Alimentación
- De 12 a 24 Vdc
- Montaje
- Carril DIN TS35, IP20, dentro de un armario
El caso original usaba un M-Duino 21 con LoRa (el "M-Duino PLC Arduino Ethernet & LoRa 21 I/Os Analog/Digital PLUS"). Hoy, el equivalente que se puede comprar con LoRa es el ESP32 PLC 21 FLEX con la placa LoRa (Europe - EU868), o la placa US902 en América. Tiene el mismo número de entradas y salidas, y también se programa con el Arduino IDE. Según la hoja de datos de la familia, la placa LoRa usa un módulo Microchip RN2483 (RN2903 para US902) con la pila LoRaWAN dentro: el programa envía órdenes como join y send por UART. Tres accesos con un haz cada uno usan 3 de las 7 entradas digitales aisladas; con dos haces por acceso, tres accesos usan 6. Una forma habitual de cablear las fotocélulas: sensores de 24 Vdc con salida PNP en las entradas aisladas. El PLC va en un armario (IP20, sin condensación); en exterior, elige un armario para el clima del lugar y fotocélulas aptas para exterior. Si los accesos están lejos entre sí, una forma habitual es un PLC por grupo de accesos, cada uno con su propia placa LoRa.
Preguntas sobre este caso
¿Cómo se cuenta a las personas en los accesos de una plaza pública?
Pon un sensor fotoeléctrico en cada acceso y conéctalo a una entrada digital de un PLC. Cada vez que una persona cruza el haz, el sensor da un pulso y el PLC suma uno al contador de ese acceso. En esta página, un ESP32 PLC 21 FLEX con placa LoRa lleva los contadores y los envía a la nube en un ciclo fijo, donde se convierten en un histórico por acceso y por hora.
¿Puede una fotocélula distinguir entradas y salidas?
Con un solo haz, no. Un haz cuenta pasos en los dos sentidos, y dos personas una al lado de la otra dan un solo pulso. Una forma habitual de saber la dirección: dos haces a poca distancia, de modo que el orden en que se cortan indica entrada o salida; o carriles separados para entrar y para salir. El caso no publica cómo cuenta las salidas ni su precisión.
¿Cada cuánto debe enviar un PLC los recuentos por LoRaWAN?
Tan a menudo como lo permita el tiempo en el aire. En la banda EU863-870, las subbandas de LoRaWAN tienen un ciclo de trabajo del 1 %, y la política de uso justo de The Things Network da a cada nodo 30 s de tiempo en el aire de subida cada 24 horas. Tres totales de 32 bits son 12 bytes; con 13 bytes de cabecera LoRaWAN, una trama tarda 61,7 ms a SF7 y 411,6 ms a SF10. Una trama cada 15 minutos usa unos 6 s al día a SF7 y unos 40 s al día a SF10. Eso supera el presupuesto de uso justo de 30 s: a SF10, envía una trama cada 20 minutos o menos a menudo (72 tramas al día). Consulta LoRaWAN con un PLC: OTAA, ABP y The Things Network.
¿Qué pasa con los recuentos si se pierde una trama LoRa?
No se pierde nada si el PLC envía totales y no incrementos. La siguiente trama lleva el recuento completo de cada acceso, y la nube calcula las personas de cada periodo por diferencia. El contador de tramas de LoRaWAN indica cuántas tramas faltan. Una forma habitual de conservar los totales tras un reinicio o un corte de tensión: guardarlos en la memoria no volátil del PLC. Consulta los contadores persistentes en un PLC ESP32 y el empaquetado de bits de una trama LoRaWAN.
¿Contar con fotocélulas recoge datos personales?
Una fotocélula no da ninguna imagen ni ninguna identidad. Solo le dice al PLC que el haz se ha cortado. El sistema guarda totales por acceso y por periodo. Comprueba las normas de tu país para la plataforma que guarda los datos y para cualquier otro sensor que añadas.
¿Cómo ayudan los recuentos anteriores a planificar un evento?
El caso parte de los datos de los eventos anteriores. Agrupados por tipo de evento, acceso y hora, los recuentos muestran cuándo llega la gente, cuánta viene y qué accesos usa. Una forma habitual de prever: la media de los eventos anteriores del mismo tipo, con su dispersión como incertidumbre. Con ese número, quien planifica decide, por ejemplo, cuántos policías o ambulancias necesita el evento.
Descarga el caso de estudio
PDF de 4 páginas con el reto, la lógica, la arquitectura y el hardware. Sin formularios.
¿Un proyecto similar?
Cuéntanos tus accesos y tus datos. Te responderá un ingeniero.
Dinos cuántos accesos quieres contar, a qué distancia están, qué red llega al lugar y adónde tienen que ir los datos. Te diremos qué controlador y qué radio encajan, y cómo cablear los sensores.
- Respuesta de nuestro equipo técnico
- Recuento de E/S y elección de la radio: LoRa, LoRaWAN o 4G
- PLC basados en Arduino, ESP32 o Raspberry Pi