This repository holds protobuf descriptors for the sensors used by the HAND teams.
Python:
docker run --rm -v $(pwd):$(pwd) -w $(pwd) znly/protoc --python_out=. -I. weather-station.proto
Javascript:
TODO
The weather stations (David Vantage VUE) stream data to a home-developed microchip. This data is then encoded into protobuf frames and sent to the HAND-Cloud API.
Multiple packets exist in the protocol:
This packet is emitted as frequently as possible when device connectivity is established. The frame contains all live sensor-data of the station.
This packet is emitted as soon as an alarm state changes. The frame contains all alarm states.
This packet contains all hi-low stats gathered from the weather station.
This packet is sent to cloud to ask for a new synchronization. Will return the sync_id
This packet is sent by cloud and contains the new synchronization id when a device attempts to perform a sync.
This packet contains synchronization data for a specific sync_id. It is identified by a batch_id which will later be acknowledged (or not) by the broker.
This packet contains the sync_id. It can either be used:
- to ask for the actual synchronization status
- to ask for sync commit
- to rollback a sync
This packet is sent by the broker in order to give sync status.