StofAnanas

From RevSpace
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Project StofAnanas
StofAnanas.jpg
Showing particulate matter concentration as a coloured light
Status Initializing
Contact bertrik
Last Update 2019-06-16

The idea

Show current airborne particulate matter concentration using a LED light in a lamp, inspired by http://stoflamp.nl The data that the LED colour is based on is simply retrieved over WiFi from the luftdaten website.

This lamp is a plastic pine apple ("ananas"), bought at the "Action" store.

Concepts/ideas:

  • The lamp shows particulate matter concentration as a colour, e.g. soft/positive colours for low concentration and hard/bright colour for high concentration
  • The lamp "breathes" by varying the intensity over time, e.g. a cycle of 10 seconds where the light dims a bit and brightens a bit. Perhaps we can increase the breathing rate as well for higher PM.
  • The lamp retrieves the PM value over wifi from the the luftdaten website

Nice to have:

  • Automatic determination of location by means of wifi location
  • Remote control over IR

Hardware

pinout

The lamp is controlled by an ESP8266, a Wemos D1 mini board. The LEDs used has a built-in PL9823 controller.

Connections:

  • LED Din to Wemos D1 mini pin D4
  • LED Gnd to Wemos D1 mini pin GND
  • LED Vdd to Wemos D1 mini pin 5V

Software

Software is available on github.

Luftdaten interface

The current measurement value of a particular sensor can be retrieved over a REST interface, using URL

 http://api.luftdaten.info/v1/sensor/<sensor-id>/

where <sensor-id> is the database id used by luftdaten (and visible on their map). The trailing slash in the URL is significant.

For example:

 http://api.luftdaten.info/v1/sensor/12246/

A HTTP GET results in a list of JSON structure like this:

  {
    "id": 3941048759,
    "location": {
      "altitude": "0.6",
      "id": 6186,
      "indoor": 0,
      "country": "NL",
      "exact_location": 0,
      "longitude": "4.692",
      "latitude": "52.022"
    },
    "timestamp": "2019-06-16 09:46:03",
    "sampling_rate": null,
    "sensordatavalues": [
      {
        "id": 8353891652,
        "value_type": "P0",
        "value": "10.60"
      },
      {
        "id": 8353891653,
        "value_type": "P1",
        "value": "17.80"
      },
      {
        "id": 8353891654,
        "value_type": "P2",
        "value": "15.60"
      }
    ],
    "sensor": {
      "id": 12246,
      "sensor_type": {
        "name": "PMS7003",
        "id": 22,
        "manufacturer": "Plantower"
      },
      "pin": "1"
    }
  }

Arduino libraries

Libraries:

  • WiFiManager is used to manage WiFi connection to the local AP
  • FastLED is used to control the LED
  • ArduinoJSON for the parsing the luftdaten response