Hermes is a Communication Protocol defined using Google Protocol Buffer allowing a supervision engine (also called the supervisor) and vehicles to communicate in order to operate a transportation service.
Bestmile's supervision engine is called Bestmile Core Engine.
Access to Hermes Protobuf source code is restricted
Hermes Protobuf Definition source code is available on GitHub. Currently, we only share access to the Hermes source code to selected partners. You will see a 404 Page not found error if you try to access it while not having the proper rights. If you want to receive access, go to the Hermes Protocol access request form.
The protocol is intended to be used either by:
- Vehicle manufacturers who want to be compatible with Bestmile
- Fleet monitoring software providers who wish to benefit from Bestmile's fleet orchestration services
Hermes relies mainly on two distinct kinds of messages:
- Vehicle Messages: sent by the vehicles to the supervisor to announce themselves, give feedback about their current state and acknowledge messages.
- Supervisor Messages: sent by the supervisor to control the vehicle or check the vehicle availability.
With Hermes, a typical message exchange flow looks like this:
- Vehicle establishes a TCP connection to Bestmile Core Engine.
- Vehicle sends a Vehicle Message announcing itself.
- Vehicle sends a Vehicle Message with its current state, especially its position, speed and battery to initialize the supervision.
- Bestmile Core Engine sends a Supervisor Message defining a mission to execute. A mission defines a path that a vehicle should take immediately.
- Vehicle sends a Vehicle Message acknowledging the mission.
- Vehicle rides the path defined in the mission, sending Vehicle Messages informing the supervisor about its state along the way.
- When the vehicle reaches the end of the mission, it sends a Vehicle Message announcing that the mission has been completed.
- Vehicle waits for new missions.
For more details, you can directly jump to the Example Hermes Message Exchange Scenario.
|Hermes Exchange Scenario|