Munich Transit System Deploys HiveMQ for Real-time Passenger Information
Stadtwerke München (SWM), Munich’s municipal utility company, is one of the largest energy and infrastructure companies in Germany with nearly 10,000 employees and 10.7 billion Euros in revenue (2019). SWM not only supplies Munich with energy, fresh drinking water, and state-of-the-art telecommunication services, their mobility subsidiary, MVG, manages Munich’s extensive subway, bus, and tram networks as well as the MVG bicycle offerings. SWM runs multiple instances of HiveMQ to fulfill different purposes. This use case looks at how SWM uses HiveMQ to power the real-time passenger information that is dynamically displayed throughout the Munich public transportation system.
"Maintenance of our previous system was time-consuming and expensive. With HiveMQ and MQTT, our whole operation is much more economical and efficient and the lifecycle from idea to implementation is greatly reduced."
Konstantin Steuer, Engineer/Software Architect at SWM (Stadtwerke München)
MQTT and HiveMQ Provide Fast and Efficient Integration
Since 2018, SWM’s smart mobility unit deploys a single-node HiveMQ instance on-premise to supply real-time data to their internally-developed ZuMPA passenger information system. Based on their initial research, SWM decided that MQTT was a clear choice for the communication protocol. In their evaluation of MQTT broker solutions, HiveMQ differentiated itself from all other MQTT brokers that were under consideration on several key points:
- HiveMQ is an enterprise-grade MQTT broker that can deliver the reliability and availability benefits the SWM use case requires.
- HiveMQ was the only broker that fully supports all MQTT 5 features. For the ZuMPA application, the MQTT 5 message expiry feature is particularly important.
- The SWM development team values the fact that HiveMQ allows custom extensions that could be useful for future use cases.
“We encountered very few technical challenges in implementing HiveMQ. Everything worked perfectly without the need for further assistance. The teams that are responsible for building the native displays and infotainment systems found the integration with HiveMQ and MQTT to be quite simple.” explained Konstantin Steuer, Engineer/Software Architect, Digital Solutions and Technologies - Smart Mobility, SWM - Stadtwerke München.
HiveMQ Provides Reliable High-availability Passenger Information
The ZuMPA system supplies real-time passenger information to multiple touchpoints in Munich’s metropolitan transportation network. The passenger information that the system provides on displays at bus stops and stations throughout the city includes the following:
- Timetable data for busses, trains, subways, suburban trains
- Actual arrival and departure times
- General news and information
- Passenger-journey related information
- Current service disruption alerts
The three components that make up the ZuMPA application share information through a central HiveMQ broker. The ZuMPA event-monitoring component uses the VDV protocol (a standardized protocol for the provisioning of passenger information developed with the support of the German Federal Ministry of Economics and Energy) to receive data from a central information management system and forwards the information to HiveMQ as MQTT messages. The ZuMPA display and monitoring components subscribe to and publish MQTT messages via HiveMQ to deliver real-time passenger information on different types of displays:
- LCD monitors and LED dot-matrix displays such as the information screens at subway stops and on buses.
- Client-based LED dot-matrix devices such as the information panels at transportation stops.
HiveMQ makes the remote management of displays such as status updates, reloads, and restarts possible. The ZuMPA monitoring component uses HiveMQ to receive data from approximately 1,000 displays throughout the system. Each display device publishes its status as an MQTT message every 30 seconds.
Most points on the public transportation system require data for two travel directions (an inbound stop and an outbound stop). Currently, HiveMQ supports approximately 2,000 stops. At peak times, the stops receive up to 2,000 messages per minute through HiveMQ. When the planned addition of infotainment becomes available in busses, message throughput is expected to exceed 5,000 messages per minute. To ensure that devices always receive information when they subscribe to a topic, the ZuMPA solution makes extensive use of MQTT retained messages. HiveMQ’s support for the MQTT 5 message expiry feature is essential in the SWM use case to free the system of out-dated messages. “Passenger information data is only valid for a certain period of time”, says Konstantin Steuer, Engineer/Software Architect, Digital Solutions and Technologies - Smart Mobility, SWM - Stadtwerke München. “Message expiry is a vital part of our real-time data delivery. Each indicator in our system has its own configuration, old data that no longer has added value is not kept. For example, once a particular bus leaves the stop, retained messages about the scheduled departure time can be cleaned up. HiveMQ gives us that capability.”
“Maintenance of our previous system was time-consuming and expensive. With HiveMQ and MQTT, our whole operation is much more economical and efficient and the lifecycle from idea to implementation is greatly reduced.”, says Konstantin Steuer.