-
Notifications
You must be signed in to change notification settings - Fork 3
Software Specification
This page contains the requirements specification and the usecase descriptions of the bGeigieNano - stationary unit.
TODO: Discuss and add more
Type | Description |
---|---|
Functional | User can switch from mobile mode to stationary mode |
Functional | User can switch from stationary mode to mobile mode |
Functional | System uploads reading to the API every 5 minutes |
Functional | The current mode / state is displayed to the user through a RGB LED |
Functional | User can set configuration for the wifi and API without reflashing the hardware |
Usability | bGeigieNano can be used as a fixed sensor |
Usability | System is intuitive to use, 100% of current volunteers should be able to understand the system |
Reliability | If temporarily disconnected, the system should keep up to 15 (?) minutes worth of data |
Performance | Using the system should have the same impact on the battery life while in mobile mode as using the BLEBee extension |
Supportability | The system is compatible with the bGeigieNanoKit |
Supportability | The bGeigieNanoKit should not require any changes to the source code or hardware design |
Supportability | The source code is fully documented with comments in the code as well as design diagrams on the github wiki |
Type | Description |
---|---|
Functional | The system can upload un-uploaded logs to the API |
Functional |
Use cases of the system. Only those for the esp32 controller are described here. The diagram contains some use cases for the bGeigie controller as well, but are not included in this document. All use cases require the esp32 controller to be connected to the bGeigie, powered on and working correctly (no hardware faults).
- Pre-conditions: webserver is running
- Post-conditions: New configurations are saved on flash memory
User connects (browser) to the system through the pre-defined ip address of the esp32. System displays login form. User uses the pre-defined username and password to authenticate. System displays form with configurations, pre-filled with current config. Fields are: SSID, password, API key. User updates the fields and submits the form. System saves the new configurations to the flash memory. System displays a success message to the user.
Note: additional fields might be added later
- Pre-conditions: esp is in mobile mode
- Post-conditions: esp is in stationary mode, LED color is StationaryLedColor
User places the bGeigie in the stationary dock. User presses the button on the esp32. System sets the LED color to ConnectingLedColor. System connects to the wifi based on configurations. System tests API availability. System sets the LED color to StationaryLedColor.
- Pre-conditions: esp is in stationary mode
- Post-conditions: esp is in mobile mode, final data is send to API, LED color is MobileLedColor
User takes the bGeigie from the stationary dock. User presses the button on the esp32. System sends the latest readings to the API. System disconnects the wifi. System sets the LED color to MobileLedColor.
- Pre-conditions: System is initialized
- Post-conditions: Data has been reported
bGeigieNano controller reports new readings to the system. System parses the reading string into values. System validates the reading data. System <>. System <> (if in staionary mode).
- Pre-conditions: esp is in stationary mode, esp is connected to WiFi, 5 minutes have passed since the last send (or connect)
- Post-conditions: latest data has been send to the API, temporarily saved readings are send to the API
TODO
- Pre-conditions: -
- Post-conditions: latest reading has been published over bluetooth
TODO