Traducido del English por IA ·
El año pasado instalamos 60 plazas en el aparcamiento de un centro comercial con LoRaWAN simple y ha funcionado bien. No necesitas nada especial para un piloto. Esto es lo que montamos:
La pasarela es una pasarela Basics Station instalada en una farola (el antiguo reenviador de paquetes UDP no es compatible, así que comprueba que la tuya funcione con Basics Station). Los sensores se añadieron como dispositivos OTAA. Si tienes que dar de alta 40, el modo de emparejamiento ahorra mucho tecleo, pero requiere un AppKey compartido en el perfil, que el fabricante de nuestros sensores de suelo no nos quiso dar, así que añadimos los 60 como dispositivos OTAA a mano. No es nada divertido, reserva una tarde.
El fabricante solo entregó un decodificador en JavaScript. Hermetry no ejecuta scripts de decodificación en absoluto; los codecs son tablas JSON. El nuestro era un frame de diseño en el FPort 2 y nos llevó 15 minutos:
{
"id": "t.bay-puck",
"title": "In-ground parking puck",
"vendor": "Example maker",
"fports": [2],
"kind": "layout",
"frames": [{ "fport": 2, "min_length": 3, "fields": [
{ "at": 0, "field": "occupied", "fmt": "u8" },
{ "at": 1, "field": "battery_mv", "fmt": "u16be" }
]}],
"tests": [{ "name": "car present", "fport": 2, "hex": "010E74", "expect": { "occupied": 1, "battery_mv": 3700 } }]
}
Envía occupied como 0/1 para que los gráficos puedan dibujarlo. Para el mapa, creamos cada plaza como un activo con sus coordenadas bajo un sitio «Main Street» y colocamos el sensor debajo; luego una tarjeta de mapa en Status bajo un activo. El color libre/ocupado procede del estado del sitio.
Por último, una regla Device offline en el perfil. Con un heartbeat de 6 horas, usa Recent message con intervalo 21600 y factor 2; si no, las placas muertas se ocultan durante días.
We did 60 bays for a shopping centre car park last year with plain LoRaWAN and it’s been fine. You don’t need anything special for a pilot. What we built:
Gateway is a Basics Station gateway on a lamp post (the old UDP packet forwarder is not supported, so check yours speaks Basics Station). Sensors added as OTAA devices. If you have 40 to do, pairing mode saves a lot of typing, but it needs a shared AppKey on the profile, which our puck vendor wouldn’t give us, so we added all 60 as OTAA devices by hand. Not fun, budget an afternoon.
The vendor only shipped a JavaScript decoder. Hermetry doesn’t run decoder scripts at all, codecs are JSON tables. Ours was a layout frame on FPort 2 and took 15 minutes:
{
"id": "t.bay-puck",
"title": "In-ground parking puck",
"vendor": "Example maker",
"fports": [2],
"kind": "layout",
"frames": [{ "fport": 2, "min_length": 3, "fields": [
{ "at": 0, "field": "occupied", "fmt": "u8" },
{ "at": 1, "field": "battery_mv", "fmt": "u16be" }
]}],
"tests": [{ "name": "car present", "fport": 2, "hex": "010E74", "expect": { "occupied": 1, "battery_mv": 3700 } }]
}
Send occupied as 0/1, then charts can draw it. For the map we made each bay an asset with its coordinates under a «Main Street» site and placed the sensor under it, then a map card on Status under an asset. Free/occupied colour comes from the site status.
Last thing: a Device offline rule on the profile. With a 6 hour heartbeat, use Recent message with interval 21600 and factor 2, otherwise dead pucks hide for days.

