Requirements

Requirement: Codec comprises an encoder and decoder. CODEC_REQ_3 ../../_images/arrow-right-circle.svg
status: open
links incoming: CODEC_REQ_1, CODEC_REQ_2

The codec comprises has two parts:

  1. An encoder that produces an URL from raw data.

  2. A decoder that recovers raw data from the URL.

Encoder

Requirement: Encoder writes a message CODEC_REQ_1 ../../_images/arrow-right-circle.svg
status: open
links outgoing: CODEC_REQ_3
links incoming: CODEC_REQ_8, CODEC_SPEC_1

The encoder takes environmental sensor data and writes it into a message that is opened and read automatically by most mobile phones.

Requirement: Encoder shall run on a low cost, low power microcontroller CODEC_REQ_12 ../../_images/arrow-right-circle.svg
status: open
links incoming: CODEC_SPEC_4, CODEC_SPEC_8

The encoder will run on an inexpensive microcontroller. This will be powered by a coin cell battery and should run for years.

Requirement: No configuration from the user CODEC_REQ_7 ../../_images/arrow-right-circle.svg
status: complete
links incoming: CODEC_SPEC_6

The encoder must not require any set up or configuration from the user.

Requirement: Message is written to EEPROM CODEC_REQ_8 ../../_images/arrow-right-circle.svg
status: complete
links outgoing: CODEC_REQ_1
links incoming: CODEC_SPEC_2

The encoder must not write to the same EEPROM block too frequently. Each has a write endurance of roughly 100,000 cycles.

Status information changes infrequently compared to environmental sensor data.

Decoder

Requirement: Decoder reproduces encoder data CODEC_REQ_2 ../../_images/arrow-right-circle.svg
status: open
links outgoing: CODEC_REQ_3
links incoming: CODEC_SPEC_19

The decoder must reproduce data fed into the encoder.