Armá tu molinete con Beepers, paso a paso
Para alguien que nunca tocó electrónica ni Linux. Seguila en orden y en una tarde tenés un molinete que valida entradas solo.
El camino corto
- Elegí cómo armarlo: un ESP32 por molinete (recomendado), un lector USB o un relé de red.
- Comprá las piezas de la lista.
- Registrá el molinete en Beepers y bajá los dos archivos.
- Prepará la Raspberry y corré un solo comando.
- Instalá y configurá el ESP32 desde el navegador.
- Probá con una entrada.
1. Qué vas a armar
Tres piezas. El lector lee el QR. La Raspberry le pregunta a Beepers si esa entrada pasa. Si pasa, el relé abre el molinete.
Lector QR ──> ESP32 ──WiFi──> Raspberry (bridge) <──internet──> Beepers
│
└──> Relé ──> Molinete (entrada "abrir")
Sin ESP32:
Lector USB ──> Raspberry (bridge) ──> Relé USB o de red ──> Molinete- El lector va a un ESP32 (una placa chiquita, una por molinete) o directo a la Raspberry por USB.
- La Raspberry es una sola por local: maneja todos los molinetes y habla con Beepers por internet. Le decimos bridge.
- El relé hace lo mismo que el botón de apertura del molinete: lo aprieta un instante. No le da corriente.
- Si se corta internet, la Raspberry sigue validando con una copia de las entradas.
2. Elegí cómo armarlo
Las tres hacen lo mismo. Cambia qué cable va adónde.
A. Un ESP32 por molinete
RecomendadoCada molinete tiene su ESP32 con su lector QR, su relé y luces que avisan si la entrada pasa. Se conecta a la Raspberry por WiFi, así que la Raspberry puede quedar lejos.
Conviene: Para dos o más molinetes, o si la Raspberry no queda al lado.
Adaptador en el panel: ESP32 TCP bridge
B. Lector y relé USB en la Raspberry
El más simple de cablearEl lector y una placa de relé se enchufan por USB a la Raspberry. No hay pines ni soldaduras. Un lector por carril.
Conviene: Para un solo molinete con la Raspberry al lado.
Adaptador en el panel: USB QR
C. Relé de red (Shelly)
Molinete lejosEl lector va por USB a la Raspberry y el relé es un Shelly que se maneja por la red del local.
Conviene: Cuando el molinete está lejos de la Raspberry pero llega el WiFi.
Adaptador en el panel: USB QR
3. Qué comprar
Modelos comunes. Los conseguís en cualquier casa de electrónica o en Mercado Libre.
Para cualquier opción
- Raspberry Pi 4 o 5 (con 2 GB alcanza) y su fuente oficial. Con otra fuente se reinicia sola.
- Tarjeta microSD de 16 GB o más.
- Cable de red para la Raspberry (recomendado) o el WiFi del local.
- Una computadora con Chrome o Edge para configurar todo.
Opción A, por cada molinete
- ESP32 DevKit V1 (ESP32-WROOM-32) o ESP32-S3 DevKit.
- Módulo lector QR GM65 o GM861, en modo serie (UART).
- Módulo relé de 1 canal de 5 V.
- Un LED verde, un LED rojo y dos resistencias de 220 Ω. Opcional: un buzzer de 5 V con un transistor.
- Cables jumper hembra-hembra y una fuente USB de 5 V / 2 A para el ESP32.
- Un cable USB de datos para configurarlo desde la computadora.
Opción B
- Lector QR USB que funcione en modo serie (USB COM). Los que sólo escriben como un teclado no sirven.
- Placa de relé USB LCUS-1 (1 canal).
Opción C
- Lector QR USB en modo serie, como en la opción B.
- Shelly 1 o Shelly Plus 1.
Ojo con los cables USB: muchos sólo cargan y no pasan datos. Si la computadora no ve el ESP32, probá otro cable antes que nada.
4. Cómo conectarlo
El relé: un contacto seco
El relé no le da corriente al molinete. Hace lo mismo que el botón de apertura: une dos bornes un instante.
Relé Placa del molinete ┌──────┐ ┌──────────────────────┐ │ COM ├─────────────────────┤ OPEN / PUSH / BOTÓN │ │ NO ├─────────────────────┤ GND / COM │ │ NC │ (sin usar) └──────────────────────┘ └──────┘
- Usá los bornes COM y NO (normalmente abierto). Así, si el relé se rompe, el molinete queda cerrado.
- COM va a la entrada marcada OPEN, PUSH, EXIT, BUTTON o BOTÓN. NO va al GND o COM de esa misma bornera.
- Nunca conectes 220 V al relé ni a un pin. Si no estás seguro, pedile al instalador del molinete que conecte COM y NO a la entrada de apertura.
- Dejá el botón de emergencia del molinete conectado como vino.
Opción A: el ESP32
Con todo desenchufado. Son los pines del firmware de Beepers.
| Pin del ESP32 | Pin del ESP32-S3 | Va a |
|---|---|---|
| GPIO16 | GPIO18 | TX del lector QR |
| GPIO17 | GPIO17 | RX del lector QR |
| 3V3 o 5V (VIN) | 3V3 o 5V (VIN) | VCC del lector QR, según su manual |
| 5V (VIN) | 5V (VIN) | VCC del módulo relé |
| GND | GND | GND del lector, del relé, de los LED y del buzzer |
| GPIO25 | GPIO7 | IN del módulo relé |
| GPIO32 | GPIO15 | LED verde, con su resistencia de 220 Ω |
| GPIO33 | GPIO16 | LED rojo, con su resistencia de 220 Ω |
| GPIO14 | GPIO14 | Buzzer, a través de un transistor (opcional) |
| GPIO26 / GPIO27 | GPIO4 / GPIO5 | D0 / D1 de un lector Wiegand, con adaptador de nivel a 3,3 V (opcional) |
Lector QR ESP32 Módulo relé
┌──────────┐ ┌───────────┐ ┌──────────────┐
│ TX ────┼─────────┤ GPIO16 │ │ │
│ RX ────┼─────────┤ GPIO17 │ │ │
│ VCC ────┼─────────┤ 3V3 o 5V │ │ │
│ GND ────┼─────────┤ GND ──────┼───────────┤ GND │
└──────────┘ │ 5V (VIN) ─┼───────────┤ VCC │
│ GPIO25 ───┼───────────┤ IN │
LED verde ─[220 Ω]───┤ GPIO32 │ │ COM ──> molinete OPEN
LED rojo ─[220 Ω]───┤ GPIO33 │ │ NO ──> molinete GND
Buzzer (transistor) ─┤ GPIO14 │ └──────────────┘
└───────────┘
La otra pata de cada LED y del buzzer va a GND.Los pines del ESP32 son de 3,3 V: nunca les llegues con 5 V. Si el relé queda prendido y se apaga al pasar una entrada, cambiá la polaridad en la página del ESP32.
ESP32-S3 DevKitC: usá el puerto USB marcado UART, tanto para instalarlo como para configurarlo. El otro puerto (USB) no responde a la página.
Opción B: todo por USB
- Enchufá el lector QR y la placa LCUS-1 en los USB de la Raspberry.
- Poné el lector en modo serie (USB COM) escaneando el código de configuración de su manual.
- Conectá COM y NO de la placa a la entrada de apertura del molinete, como arriba.
- El lanes.json del panel ya espera el lector en /dev/ttyACM0 y la placa en /dev/ttyUSB0.
Opción C: Shelly
- Conectá el Shelly al WiFi del local con su app y reservale la IP en el router.
- Su alimentación sí lleva 220 V: si no sabés, que lo conecte un electricista. Sus bornes de salida van a la entrada de apertura, como cualquier relé.
- En lanes.json, cambiá el gate del carril por este, con la IP de tu Shelly. Para el Shelly Plus 1 usá el preset shelly-gen2.
"gate": { "type": "http-relay", "preset": "shelly", "host": "192.168.0.60", "relay": 0, "pulse_ms": 500 }5. Paso a paso
Registrá el molinete en Beepers
- Entrá a Beepers › tu organización › Configuración › Molinetes.
- Elegí el local, poné un nombre (por ejemplo Puerta 1) y el adaptador de tu opción.
- Tocá Registrar, elegí el evento y bajá los dos archivos: beepers-turnstile.env y lanes.json. Quedan en Descargas.
- La clave del molinete se muestra una sola vez. Si la perdés, rotala ahí mismo y bajá los archivos de nuevo.
Prepará la Raspberry
- En tu computadora, instalá Raspberry Pi Imager (raspberrypi.com/software).
- Elegí tu modelo y Raspberry Pi OS (64-bit). La versión Lite alcanza.
- Antes de grabar, en los ajustes del Imager poné usuario y clave, el WiFi (si no usás cable) y activá SSH.
- Grabá la tarjeta, ponela en la Raspberry y prendela. Esperá un par de minutos.
- Pasale los dos archivos: con un pendrive a la carpeta de tu usuario, o desde la computadora con scp.
- Entrá a la Raspberry (con teclado y pantalla, o por SSH) y, en la carpeta de los archivos, corré:
curl -fsSL https://cdn.beepers.app/turnstile-bridge/install.sh | sudo bashEl instalador deja el bridge andando y arrancando solo cada vez que prendés la Raspberry. Al final te dice si quedó conectado a Beepers y cuál es la IP de la Raspberry: anotala, la usás en el ESP32. Si lo corrés de nuevo, actualiza y conserva tu configuración.
Instalá y configurá cada ESP32 (opción A)
- Abrí el instalador del ESP32 en Chrome o Edge, en una computadora.
- Conectá el ESP32 por USB y tocá Instalar firmware.
- Cargá el WiFi del local (2,4 GHz), la IP de la Raspberry y el secreto de tu beepers-turnstile.env (la línea ESP32_SECRET_GATE_1).
- Tocá Guardar en el ESP32. Se reinicia y en unos segundos se conecta.
- Para otro molinete usá otro nombre (gate-2) y sumá los datos que te da la página al .env y a lanes.json.
Probá con una entrada
- Escaneá una entrada válida del evento: el molinete gira una vez.
- Escaneá la misma entrada otra vez: no abre.
- En Beepers › Molinetes, el equipo aparece En vivo.
6. Qué dicen las luces
Las luces y el pitido son del ESP32 (opción A). En las opciones B y C, mirá si el molinete gira.
| Señal | Qué significa |
|---|---|
| Verde y un pitido | Pasa: la entrada es válida y el molinete se abre. |
| Rojo 1 segundo y dos pitidos | No pasa: la entrada está usada, es de otro evento o no existe. |
| Rojo parpadeando lento | Sin conexión con el bridge: no deja pasar a nadie hasta que vuelva. |
| Rojo, doble parpadeo cada 2 segundos | Sin configurar: conectalo al instalador del ESP32. |
7. Si se corta internet
El molinete sigue andando. Con internet, la Raspberry guarda una copia cifrada y firmada de las entradas del evento. Si se corta, valida con esa copia, abre y anota cada ingreso; cuando vuelve internet, se lo manda a Beepers. Mientras no hay conexión, una entrada podría pasar una vez por cada Raspberry: Beepers lo marca como conflicto en Molinetes. Sin copia vigente (por ejemplo, si no tuvo internet antes del evento), no abre. La Raspberry necesita la hora bien: con internet se pone sola.
8. Si algo no anda
| Qué pasa | Qué revisar |
|---|---|
| El instalador dice que el sistema es de 32 bits | Grabá de nuevo la tarjeta eligiendo Raspberry Pi OS (64-bit) en el Imager. |
| El navegador no ve el ESP32 | Probá otro cable USB: muchos sólo cargan. Usá Chrome o Edge en una computadora. Si sigue sin aparecer, instalá el driver del chip USB de tu placa: CP210x o CH340. |
| El ESP32 no se conecta al WiFi | Sólo usa redes de 2,4 GHz. Revisá nombre y clave (las mayúsculas cuentan) y que la señal llegue hasta el molinete. |
| Tiene WiFi pero el rojo parpadea lento | No llega al bridge: revisá la IP de la Raspberry, que estén en la misma red y que el secreto sea el mismo en los dos lados. |
| Cambió la IP de la Raspberry | Reservale la IP en el router para que no cambie más. Cargá la IP nueva en el instalador del ESP32 y corré otra vez el instalador del bridge en la carpeta de los archivos. |
| El relé hace clic pero el molinete no gira | Está en la entrada equivocada o la polaridad está al revés. Revisá COM y NO contra la entrada de apertura y probá la otra polaridad en el instalador del ESP32. |
| El relé queda prendido todo el tiempo | Tu módulo se activa al revés: cambiá la polaridad del relé en el instalador del ESP32. |
| Ninguna entrada pasa | Que sean del evento que elegiste en el panel y que no estén usadas. |
| El instalador dice que no se conecta a Beepers | Que la Raspberry tenga internet y que la clave del molinete sea la última: si la rotaste, bajá los archivos de nuevo. |
¿Algo más técnico?
El protocolo, los códigos de error y el modo sin conexión en detalle están en la documentación técnica.
Documentación técnica de molinetes