StofAnanas: Difference between revisions
No edit summary |
|||
Line 38: | Line 38: | ||
http://api.luftdaten.info/v1/sensor/12246/ | http://api.luftdaten.info/v1/sensor/12246/ | ||
A HTTP GET results in a JSON structure like this: | A HTTP GET results in a list of JSON structure like this: | ||
<pre> | |||
{ | |||
"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" | |||
} | |||
} | |||
</pre> | |||
=== Arduino libraries === | === Arduino libraries === |
Revision as of 09:53, 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.
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