The first prototype from CCCamp used a laptop to connect to the internet. Now that seemed like a bit too much to have for a sensor station, so that was the first thing to go.
I went through a bit of iterations, trying out different hardware along the way. Since the PPD42NS (PM sensor) I had came as part of the LinkIt One Grove Kit, and I had gotten a free LinkIt One, I tried to set that up first, without any success. So it came down to using the ESP8266 for the job (using a WeMo board as an adapter).
Playing around with software and different methods to get the measurements from the sensor, I finally built another prototype. Using only two different sensors this time, a PPD42NS for PM, and a DHT22 for temperature and humidity, I built a small box to put it all in. I also added a fan to get air flowing through the thing. I'm not entirely sure how that influences the measurements, so there will be some more tests without a fan, but for now that seemed sensible.
The ESP8266 outputs the measurements on its serial interface for debugging, but also sends it to a webservice. I didn't use OpenSenseMap this time, because I wanted more control over the data. Instead, I set up my own little thing using InfluxDB and Grafana, to log all the data. I had it running in my kitchen for a while, which seemed like a better testing environment than putting it straight outside, since I have more control over what is happening.
You can find the code and some more on the GitHub Repository, if you want to give it a try yourself: https://github.com/tiefpunkt/airqualitystation. Note that the readme isn't really up to date, need to get that fixed once I find the time.