GithubHelp home page GithubHelp logo

co2-monitor's Introduction

co2-monitor

I'll be attending the 2024 US-RSE meeting and I'm concerned about ventilation and COVID-19 risk. Rather than buying a CO2 sensor with a readout, I took some advice on Twitter and decided to build my own. My plan is to share the data I collect on Mastodon.

This repository holds code to pull data from the Arduino trinkey kit and send a toot with rtoot. When the Arduino trinkey is plugged into a USB port, running the code in co2_monitor.R will prompt the user for a room number and start collecting data. When the trinkey is unplugged from the port, it will create a plot and some text and prompt the user if they'd like to post a toot with the plot and some info about the CO2 levels and the room number.

In arduino/ there is the very slightly modified arduino code I'm using to send the data over serial (co2_sender.ino) as well as a forced re-calibration script I cobbled together but did not test. Originally I thought the sensor needed re-calibration as it was reading ~500ppm outdoors, but then I just moved the sensor further away from my face and it reads ~420ppm. So please use forced_calibration.ino at your own risk!

References

Literature on CO2 as a proxy for COVID-19 risk:

co2-monitor's People

Contributors

aariq avatar

Watchers

 avatar

co2-monitor's Issues

API problems

Not sure why, but API returns 403 error with auth_as(rtweet_user()) most of the time and with auth_as("co2-app") (a rtweet_app() auth) it gives me something like "API did not return JSON".

Calibrate sensor?

Take my laptop outside and see what it reads. Figure out how to calibrate if necessary.

better cutoffs for CO2

Would be nice to have some categorical cutoffs for values of CO2, but should be supported by data

Add "toot" button to Shiny app

Rather than sourcing the co2_monitor.R script, I could use the Shiny app and add some inputs for room number and a "toot" button to send a plot of the current data.

Shiny app freezes

App seems to freeze after running for more than an hour. Investigate? I wonder if using crew or something to be collecting the data from the sensor asynchronously from running the app might help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.