https://github.com/JSkrat/kagami-house-usb2nrf
- Add encryption
- Add counter of failed decryption to rf statistics
- Make firmware stm32-compatible
- Remove unnecessary address transactions from/to transceiver
- Make slaves response at same predefined address to avoid receive address transaction to transceiver at master (only in normal slave mode, not in advertisement)
- Alpha version of light control modules: PCB
https://github.com/JSkrat/kagami-house-nrf-gateway
- It has a registry of reachable devices. (devhub uses that)
- It has a queue per transmitter.
- It has an asynchronous socket interface for the devhub.
- It communicates to the hardware transmitter (or usb2nrf master device) directly.
- It periodically generates heartbeat requests (RF statistics) for all the devices and forms online/offline events for the devhub (for all the device units, but unit 0)
- It traces the rf statistics of every device to generate events like “rebooted” or to detect potential tampering.
- It manages encryption keys
- It listens for a devices in advertisement mode, connects them to itself and generates event about that
- It has to convert the device responses to a standard format to isolate different protocols
- It has a cache of all readable channels, by device (actually, unit) uid, isolating the control program from the network connectivity.
- It can connect to multiple gateways simultaneously.
- It regularly updates readable channel cache values from all the gateways.
DB0 represents all units known to DevHub. It has two kinds of values:
- [UID] is unit availability (0 — offline)
- [UID.FNo] is a function value. Either readonly or writeonly.
It has somehow to control all the devices <_>
Add new comment