Scalable embedded system for cosmic rays data collection.
- Unlimited number of devices
- Web page with all devices statuses
- Email alerts when a device stops to send data
- Supported device types: nm, muon
When data is collected, the device sends HTTP POST request with urlencoded
or json
body. Which includes following values:
k
-key
- unique device identifiers
-secret
- device secret key (only if configured)dt
-date/timestamp
- timestamp of counting period beginningupt
-uptime
- device uptime at the moment of counting period start (in minutes)inf
-info
- different debugging info, if LSB set (number is odd), dev time is trusted, other bits are reservedff
-flash failures
- count of device external flash program/erase failurest
-temperature
- air temperature in Celsius .2f near the device core (bmp280)te
-temperature_ext
- air temperature in Celsius .2f temperature measured by ds18b20 (optional)p
-pressure
- air pressure in mb .2fv
-voltage
- device supply voltage (optional)c
-counts
- array of N integers
note: time (dt
) is interpreted either as epoch (count of seconds since 1970) or as ISO 8601
string if it includes T
character.
- Timekeeping functionality: internal or external RTC
- Internet connection: Ethernet, WiFi or GSM
- Time syncing functionality: NTP or GPS
- Onboard BMP280 pressure sensor
- (optional) DS18B20 External temperature sensor
- (optional) External flash memory for data persistence in case of transmission failures
- (optional) ADC for device supply voltage measurements
- (optional) Device configuration HTTP server
Device has 3 informative LED's:
- green led on stm32 board
- blue led (referred to as DATA_LED)
- red led (referred to as ERROR_LED)
Green led behaves as follows:
- it's lit when device is being initialized
- it blinks shortly at the moment of data registration period transition
DATA_LED (blue) led behaves as follows:
- it's lit when device data storage is being read (it happens on flash initialization - green led is on)
- it's lit when device have any data stored
- it blinks (inverted) at the moment of data sending try
ERROR_LED (red) led behaves as follows:
- it's lit when device peripherals initialization happens
- it blinks shortly after data sending try is failed
- it blinks with period of ~500ms when some of device peripherals is lost or fails to answer
- green and blue leds are lit - whole flash memory is being read
- red and green leds are lit - device failed to initialize RTC peripheral on start
- red led blinks with period of ~500ms - something is wrong with device peripherals
- blue led is lit and red led blinks shortly - device fails to send data to server