A SensorWeb Thing for PMS3003 particle sensor (PM2.5), based on nodeMCU 1.0 board
MIT License
This repo aims at providing a PM2.5 (and others) sensor that pushes data to the Internets, namely AirCasting API. It uses a PMS3003 + NodeMCU v1.0 (ESP-12E), as it was built as a side-project to augment (now defunct) Mozilla SensorWeb project with something that could be autonomous and outdoor.
Ensure to configure board in Arduino IDE as:
For first flash, ensure you properly populate data/
subdirectory with:
wifi.json
ntp.json
aircasting.json
data/
. Then in Arduino IDE, flash using Tools
, ESP8266 Sketch Data Upload
.Default configuration should be for AirCasting.org website, but it is expected to work on any instance following their API.
Then you can build and flash. It should boot and work.
Serial debugging should work over USB. The same data is sent over the wire,
defaulting to UDP multicast address 239.0.0.1
, port 8899
.
To be able to handle outdoor, original SensorWeb project has been augmented with a power source. This leads to the design of a small PCB that serves several purposes:
The power part of the PCB is inspired from Adafruit's Minty Boost: https://learn.adafruit.com/minty-boost/overview
Solar power cannot be available 100% of the time, so it is battery-backed, using the kit provided by Adafruit: https://learn.adafruit.com/usb-dc-and-solar-lipoly-charger?view=all
Solar panel are also provided, though they can be found at a lot of different places.
Any LiPo or LiIon should work.
Checkout the Kicad project for exact references.