⚡ Tecnología
Puso radares UWB en 6 contenedores de basura y el hardware cuesta menos que una pizza
La pregunta mas absurda que he leido en Hacker News esta semana no era si los GPUs nuevos rendian mejor. Era "seguro que no tienes radares UWB en tus contenedores de basura?". Y la respuesta es que si: uno de los proyecto mas tocados del ano lo monto un ingenero britanico que se canso de que su familia olvidara sacar los sacos.
No es una broma, y no es una wastedura. BinRange es un sistema real, con repositorio publico, firmware propio y una evolucion de 122 puntos en HN en menos de 24 horas. La idea es obscenamente simple; la ejecucion es lo que surprising.
El problema mas tonto que se puede resolver con un radar
Home Assistant ya sabe que toca sacar la basura: raspa el calendario del ayuntamiento, te avisa, cambia los colores del panel. Lo que no sabe —y ninguna app resuelva— es si tu ya lo hiciste o no.
La primera idea del autor fue la obvia: etiquetas Bluetooth baratas pegadas a las ruedas, detectadas por un proxy exterior. Le fallo. Baterias que se morian en dias, lecturas de proximidad que decian cualquier cosa, y un proxy que se caia constantemente. El resultado, cuenta el, fue "otro cosa mas que tocar en las noches".
Entonces cambio de tecnologia. Y aqui viene lo interesante.
Por que UWB y no Bluetooth
El Bluetooth clasico mide distancia a ojo: estima a partir de la potencia de la senal. Mueves el router dos metros y el numero se inventa. El UWB hace otra cosa: mide el tiempo que tarda una senal de radio en viajar entre dos dispositivos. Es reloj, noografia. La distancia sale directamente de la fisica.
Los resultados de sus pruebas son difficult de ignorar:
- Precision de 2 centimetros. En la primera calibracion contra una cinta metrica, el radio fallo por menos de dos centimetros. "Mi mente quedo destrozada", escribe.
- 10,09 metros medidos contra 10,1 reales, con una desviacion de tres centimetros.
- Rango util de 30 metros. El record absoluto: 37,28 metros, con huecos. Un carro estacionado bloquea el enlace por completo.
Y hay un detalle de ingenieria que explica por que esto funciona: orientacion importa mas de lo que parece. A diez metros, pasar las placas de tumbadas a verticales subio la tasa de lecturas exitosas del 37% al 100%. Una antena tumbada es una antena apuntando al suelo.
El hardware: 454 dolares que casi nadie usaria
Seamos honestos con el numero, porque nadie lo esta escondiendo:
- Dos placas de desarrollo ESP32-WROVER/DW3000 de Makerfabs: US$123.64 con envio.
- Diez tags UWB KKM K4W a US$25 cada uno, mas jig de programacion: US$330.
Total: US$454.64 para resolver la pregunta de si tu perro ya saco la basura. El autor, con la honestidad que se agradece, dice textualmente que "probablemente deberia evitar calcular el periodo de amortizacion".
Lo que hace ingenieria de verdad (y por que importa)
El grueso del trabajo no esta en los radios. Esta en como los tags se portan bien:
Dormir. Cada tag trae un acelerometro LIS3DH con su interrupcion conectada a un GPIO del nRF52833. Eso permite dormir larguisimas horas sin emitir nada de radio, y despertarse solo cuando alguien mueve el contenedor. Cuando no se mueve, reporta cada 30 minutos; cuando se mueve, cada 5 segundos. Si el contenedor esta quieto, ¿para que gastar bateria diciendo que sigue quieto?
Actualizar firmware por el aire, con firma y rollback. El ancla entrega imagenes firmadas por Bluetooth y conserva la version anterior. Solo reporta exito cuando el tag confirma que esta corriendo exactamente la imagen esperada y que su propia salud es buena. Y —este es el detalle que me encanto— el tag tiene que poder confirmar que esta sano sin respuesta de radio: si el ancla no esta, no puede abandonar firmware que funciona.
El autor desarrollo esto iterating contra Codex, simulando imagenes corruptas, transferencias interrumpidas, cortes de corriente en puntos concretos y recuperacion del watchdog. Ese ultimo detalle —probar que el firmware sobrevive a que le corten la luz a mitad de una actualizacion— es donde se separan los proyectos reales de los de adorno.
El fallo que solo aparecio con el segundo contenedor
Esta es la parte que mas me gusta, porque es la clase de bug que nunca aparece en un demo.
Funcionaba perfecto con un contenedor. Con seis, no. En la biblioteca Bluetooth, un registro estaba dimensionado segun el numero de conexiones simultaneas, no segun el numero de dispositivos emparejados. El resultado: agregar un septimo tag fallaba aunque sus claves ya estuvieran guardadas. La correccion permitio emparejar un tag nuevo sin borrar los existentes.
"Seis contenedores le dieron al software una interpelacion mejor que un unico tag de demo que coopera."
Suena excusable en retrospectiva, pero es la leccion universal de la IoT: un dispositivo que se comporta bien es un dispositivo que no has probado. El hardware que se rompe cuando le agregas el segundo usuario no estaba terminado, estabaiennes.
Y si, hay una carcasa impresa en 3D sin tornillos
Porque nadie se detiene en el firmware. La carcasa del ancla fue su propio proyecto: OpenSCAD, con pasadores de ubicacion cónicos, resortes impresos para sujetar la placa, y una tapa que se mantuviera cerrada.
Los intentos fallidos tambien estan en GitHub. Con todo lo aprendido los clicsmas profundos y raices rotas durante la insercion — "esa version era excelente en convertirse en dos trozos de plastico roto". La solucion fue solapar las paredes de base y tapa y usar varios enganches superficiales en lugar de uno profundo.
El ancla quedo montada en la pared, dentro de una caja electrica exterior. Los archivos de impresion estan en MakerWorld.
El escenario donde esto se vuelve gran negocio
En pocas palabras: seis contenedores de una casa no es un negocio. Es un sobreingeniería con un presupuesto de cena.
Pero la misma tecnologia que detecta si tu saco la basura es exactamente la que detecta si un contenedor municipal esta lleno, si un paleta en un almacen se movio, si un activo en una mina dejo su zona, o si el ganado se salio del potrero. La diferencia entre un juguete caro y un despliegue real es solo la escala y quien paga la pila.
Los sectores que ya pagan por esto no son los aficionados. Son los que pierden dinero por no saber donde esta una cosa: logistica, ganaderia, mineria, construccion, seguridad patrimonial. Alli el mismo tag de 25 dolares deja de ser un extravagio y empieza a ser instrumentación.
Y en su core, la historia de BinRange es una leccion sobre la clase de ingenieria quegets pasada por alto: el 90% del trabajo esta en el acho de borde, no en la demo. Firmas de firmware, rollbacks,manejo de batteries dormidas, registros mal dimensionados que se rompen en el segundo dispositivo.
Lo que te llevas
Si puedes permitirte 454 dolares y tres tardes de trabajo, puedes saber si sacaste la basura desde Home Assistant, con preciscion de centimetros y 37 metros de alcance. Eso ya es un proyecto domotico mas serio que el 95% de los que se publican.
Si no puedes o no quieres, al menos entiende la idea: UWB mide distancia cronometrando el vuelo de la senal, no adivinando por la intensidad. Esa distinction sola cambia lo que puedes construir con el.
Tus contenedores de basura te delatan — y ahora también lo hacen con UWB. Comparte esto con el ingenero que se olvido de comprar un AirTag para las llaves: el cable esta ahi.
¿Tu has gastado alguna vez mas tiempo en una notificacion que en lo que hacias cuando te llego? Comparte tu historia — esta seccion de comentarios necesita mas candidatos.
Fuentes
Proyecto original: github.com/simonjgreen/BinRange · Discusion en Hacker News: "Surely you have ultra-wideband radios on your bins too?" (122 puntos) · Articulo con datos de campo: sjg.io · Referencia tecnica de UWB y medicion por tiempo de vuelo: Qorvo.