100 days of code - day 12
I’ve done a few rounds of 100 Days of Code in the past, but never really made it past 2 weeks. Part of the reason for that failure is the weekend portion - I don’t like to computer on the weekend since I computer very hard during the week.
I decided it would be a really good use of my time to work on my Indoor Air Quality platform as a part of my attempt at 100 Days of Code. It’s the next step for me in my career, so I need a way to force my effort.
There are two parts to making my IAQ platform successful, the sensors themselves, and the backend system.
Previous Days
- Day 1 - Getting the infrastructure setup for development
- Day 2 - Getting basic data out of Temp/Hum sensor, figuring out scope for others
- Day 3 - Publish data to InfluxDB
- Day 4 - Handled some errors in the publisher, got CouchDB up adn running
- Day 5 - Slack bot alerts!
- Day 6 - Health Checks babay!
- Day 7 - Ansible and other things for a friend’s project
- Vacation - I’m on vacation so haven’t been coding much
- Day 8 -
Makefile
to test, build, push multiple docker containers to Github registry - Day 9 - Large refactor to use Flask API instead of reading results from files.
- Day 10 - Bug hunting and logging
- Day 11 - Starting the IAQ-BADGE
Day 12
Completely re-soldered the IAQ-BADGE, was able to get the screen to light up and actually show real data. Pretty exciting! Figuring out partial screen refresh was difficult but I finally got there. The library I’m using didn’t implement all of the framebuf
features like I would have liked, but I figured it out. Low level displays like this are a pain in the butt to work with.
Below you’ll find the boot screen and the main screen (Note the data is fake right now, since I don’t have the CO2 sensor yet). There will be more in the coming days as I get the sensor wired up and figure out how to store the data. Also need to figure out how many data points I can flush to storage on this small 16MB flash storage. Will have to figure out a way to check the size on disk of the json file I plan to flush to. I figure I’ll flush to disk every 5 minutes or something. Resolution of readings will be between 10-30 seconds, need to test that.