Skip to content

Firmware Specification

Zach Cross edited this page Dec 29, 2019 · 1 revision

Firmware Specification

Overview

Device is to periodically capture environment data (primarily temperature), and publish via the Particle Cloud.

Key Features

  • Locally connected sensors shall be regularly monitored by device.
  • Locally connected sensors shall include, at a minimum, temperature and humidity.
  • Current sensor data shall only be published (uploaded), when one of the following conditions becomes true:
    1. A given amount of time (static, but configurable) has passed since last publish.
    2. Sensor data has substantially changed since last publish, but the aforementioned time delay has not yet elapsed. (Delta between last published and current sensor readings that triggers a publish event shall also be configurable.)
    3. Current sensor data is requested via incoming message delivered via Particle cloud.
    4. Current sensor data is manually published via user input (ex. button press) on device.
  • Publish events shall make efficient use of bandwidth by packing as much data as is practical into each publish event, thus limiting data used on publish event overhead needs.
  • All device configuration shall be persistent between power cycles through use of on-device emulated EEPROM.
  • All device firmware shall be identical; each device to be "addressed" by way of dip switches on each unit. (At a minimum, dip switch status is to be read during device startup.)
  • Device to include a "locate" function that may be triggered bi-directionally. (Button press on device sends message to Particle cloud, and message from Particle cloud may cause on-device indicator LED to flash.)

Clone this wiki locally