HWB Standard
MQTT topic and payload specifications for hardware devices and sales clients.
Technical documentation and specifications for message exchanges between hardware devices and sales clients in bus. All communication is to be done through MQTT with JSON as payload.
Scope of this specification is primarly for Møre og Romsdal Fylkeskommune and FRAM, but the overall ambition is for a broad consensus with other operators and authorities.
Topic specifications
/ ├── device │ ├── [deviceId] │ │ └── diagnostics │ │ └── request │ └── diagnostics │ └── request ├── sensors │ └── location └── validators ├── [deviceId] │ ├── configure │ │ ├── current │ │ └── request │ └── response ├── barcode ├── configure │ ├── current │ └── request └── nfc └── apdu ├── [deviceId] │ └── transmit └── receive
Hardware topology
All communication happens through a local MQTT Broker, eg. a hardware gateway. Newer versions of ITxPT also specifies MQTT as a standard way of interacting with devices.
--- title: Component connections w/protocols --- graph TB subgraph terminal A("Sales Client\n(Client)") end A <--MQTT--> B("Gateway\n(Broker)") subgraph READERS D("Barcode/NFC\n(Device)") E("Barcode/NFC\n(Device)") F("Barcode/NFC\n(Device)") end B <--MQTT--> READERS B<--MQTT-->G("GPS\n(Device)") B<-.MQTT.->C("APC\n(Device)") style C opacity:0.7,stroke-dasharray: 4
Terminology
- Client: Sales client used by operators.
- Broker: Local running MQTT Broker that relays all messages.
- Device: Hardware devices in bus communicating with sales client.
Prior work
Other similar work that is used as inspiration.
- Ruter
- ITxPT
- Samverkansgruppen Validation Services messages