jkransen / fijnstof Goto Github PK
View Code? Open in Web Editor NEWMeasures and distributes readings for air quality
License: GNU General Public License v3.0
Measures and distributes readings for air quality
License: GNU General Public License v3.0
Main:88 runs the flows sequentially
branch: master
Background info: SDS011 is PM measurements, MHZ19 is CO2 measurements.
Reproduce:
first run docker-compose up -d domoticz
run Main with program argument "test"
You will see a PM2.5 and a PM10 measurement submitted to Domoticz
After that, a CO2 measurement is also submitted to Domoticz.
This is expected.
run Main again, without arguments, it will now run infinitely
You will see only PM2.5 and PM10 measurements repeatedly, no CO2 anymore, because apparently these will come after the infinite stream of SDS011.
Expected:
CO2 measurements will come every 4 measurements of PM2.5 and PM10
Tried:
Make an explicit evalOn on Main:88:
_ <- configs.foldMap(conf => contextShift.evalOn(ec)(runFlow(isTest)(conf)))
Disconnecting and reconnecting physical sensor should allow for a restart of the stream. While disconnected, polling may be done with increasing intervals.
Treshold values should result in GPIO outputs being low or high. This way, connected LEDs can light up green/yellow/red to reflect the air quality. Mock devices should be added to allow testing on environments without GPIO.
The GPIO output will be a separate target, with configuration items setting the GPIO pins and treshold values.
Use and improve jkransen/framboos module for this.
Landing page should only contain high-level information and a quick HOWTO. Technical details should be split off into separate files.
When run with the "test" parameter, only one measurement is collected and submitted. However, the program does not return after that. Expected: after the measurement, exit code 0 is returned.
A Target should be added to return the latest measurement. At first this can be a simple GET endpoint. A simple HTTP client should be able to fetch and display the measurements.
Use Cats IO and STTP, and target the ZIO branch.
HTTP requests to Domoticz and Luftdten should use AsyncHttpClientCatsBackend or AsyncHttpClientFs2Backend instead of the current side effectful HttpURLConnectionBackend.
Domoticz:25
Luftdaten:19
Similar to Domoticz, measurements should be sent to a Fibaro system. Included is a mock Fibaro system to test the functionality without an actual Fibaro. Consider the automatic creation of a "virtual sensor" in Fibaro. Not sure if Fibaro supports this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.