1
0
This repository has been archived on 2026-06-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
MSE-PI-E2EEDA-Plein-de-eeee…/doc_resources/gateway/sequence_data_collection.puml
DjeAvd ddcdb32e4e docs(gateway): update diagrams following review feedback
- Simplify class diagram: remove KEY_* constants, add is_duplicate
  and on_disconnect, keep only behavior-relevant elements
- Update sequence diagram: replace repeated conditions with else,
  add deduplication step, update payload size to 14 bytes
2026-06-04 12:32:48 +02:00

42 lines
1.1 KiB
Plaintext

@startuml
skinparam sequenceMessageAlign center
collections "BLE broadcaster" as thingy
participant "Gateway\n(Raspberry Pi)" as gw
participant "MQTT Broker\n(RabbitMQ)" as broker
participant "Database\n(InfluxDB)" as db
== Data collection ==
thingy -> gw : BLE advertising packet
alt company_id != 0xffff
gw -> gw : discard packet
else
gw -> gw : check payload size
alt payload size != 14 bytes
gw -> gw : discard packet\n(non-Thingy device)
else
gw -> gw : decode_payload()
alt unknown key in payload
gw -> gw : discard packet\nlog debug
else
alt CO2 == 0xFFFFFFFF
gw -> gw : discard CO2 value\n(sensor not ready)
end
alt duplicate within 10 seconds
gw -> gw : discard packet\n(deduplication)
else
gw -> gw : add UTC timestamp
gw -> broker : publish JSON\n{gateway_id}/{mac}/update
broker --> gw : on_publish confirmed
broker -> db : store measurement
end
end
end
end
@enduml