StofAnanas: Difference between revisions
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
The lamp is controlled by an ESP8266, a Wemos D1 mini board. | The lamp is controlled by an ESP8266, a Wemos D1 mini board. | ||
The LEDs used has a built-in PL9823 controller. | 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 == |
Revision as of 20:14, 16 June 2019
Project StofAnanas | |
---|---|
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
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