Compare commits
3 commits
firmware_d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 80863be65e | |||
| 3eb1a3eb40 | |||
|
|
74686e9b85 |
8 changed files with 78 additions and 6 deletions
1
.envrc
Normal file
1
.envrc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
use_flake
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -444,3 +444,4 @@ obj/
|
||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/platformio,c,cmake,c++,intellij,android,androidstudio,clion+all,java
|
# End of https://www.toptal.com/developers/gitignore/api/platformio,c,cmake,c++,intellij,android,androidstudio,clion+all,java
|
||||||
|
|
||||||
|
.direnv
|
||||||
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"cmake.sourceDirectory": "/home/clara/repositorys/climate-go/firmware"
|
||||||
|
}
|
||||||
12
README.md
12
README.md
|
|
@ -1,20 +1,20 @@
|
||||||
# Climate GO
|
# Climate GO
|
||||||
Climate GO is a fully open source open hardware Sensor pack, to track and analyze personal air quality data. It's goal is to provide a way to monitor ones own air quality and motivate people to avoid polluted places and protect the environment.
|
Climate GO is a fully open source open hardware Sensor pack, to track and analyze personal air quality data. Its goal is to provide a way to monitor ones own air quality and motivate people to avoid polluted places and protect the environment.
|
||||||
|
|
||||||
## Paradigms
|
## Paradigms
|
||||||
This project is intended to be open source, open hardware and open data oriented. It is of central importance to make this available to anyone who whishes to build a climate go device and to ensure no personal data is collected and stored. This is especially important because the climate data collected will be correlated with GPS information and could thus be used to construct a movement profile if not handled with uttermost care.
|
This project is intended to be open source, open hardware and open data oriented. It is of central importance to make this available to anyone who whishes to build a climate go device and to ensure no personal data is collected and stored. This is especially important because the climate data collected will be correlated with GPS information and could thus be used to construct a movement profile if not handled with uttermost care.
|
||||||
|
|
||||||
## Technical information
|
## Technical information
|
||||||
### Stack
|
### Stack
|
||||||
The sensor pack itself is based around the ESP32 microprocessor and contains several sensors:
|
The sensor pack itself is based around the ESP32 microprocessor and contains several sensors:
|
||||||
- BMP280 air pressure and temperature monitoring sensor
|
- BMP280 air pressure and temperature monitoring sensor
|
||||||
- [name] particulate matter sensor
|
- Nova SDS011 particulate matter sensor
|
||||||
- [name] CO2 sensor
|
- [name] CO2 sensor
|
||||||
- [name] NO2 sensor
|
- MISC 2714 NO2 sensor
|
||||||
|
|
||||||
A custom PCB/housing is yet to be designed and manufactured. Data collection is made possible by an Android App, that will connect to the sensor pack via Bluetooth low energy. It is imperative to design the sensor pack to be lightweight and consume as little as possible energy to ensure comfort in transporting the sensor pack (it is intended to be clipped to e.g. a backpack) and long battery life.
|
A custom PCB/housing is yet to be designed and manufactured. Data collection is made possible by an Android App, that will connect to the sensor pack via Bluetooth low energy. It is imperative to design the sensor pack to be lightweight and consume as little as possible energy to ensure comfort in transporting the sensor pack (it is intended to be clipped to e.g. a backpack) and long battery life.
|
||||||
|
|
||||||
## Outlook
|
## Outlook
|
||||||
It might be interesting to add more types of sensors, to collect more information and provide a broader picture of personal air quality. However this will increase cost and power consumption of the sensor and must thus be considered carefully.
|
It might be interesting to add more types of sensors, to collect more information and provide a broader picture of personal air quality. However this will increase cost and power consumption of the sensor and must thus be considered carefully.
|
||||||
|
|
||||||
It would also be interesting to "gamify" the idea, by providing users the opportunity to collect awards and complete quests related to personal air quality, increasing the motivation to protect the environment and b healthy even more.
|
It would also be interesting to "gamify" the idea, by providing users the opportunity to collect awards and complete quests related to personal air quality, increasing the motivation to protect the environment and b healthy even more.
|
||||||
|
|
|
||||||
5
firmware/.gitignore
vendored
Normal file
5
firmware/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
.pio
|
||||||
|
.vscode/.browse.c_cpp.db*
|
||||||
|
.vscode/c_cpp_properties.json
|
||||||
|
.vscode/launch.json
|
||||||
|
.vscode/ipch
|
||||||
10
firmware/.vscode/extensions.json
vendored
Normal file
10
firmware/.vscode/extensions.json
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||||
|
// for the documentation about the extensions.json format
|
||||||
|
"recommendations": [
|
||||||
|
"platformio.platformio-ide"
|
||||||
|
],
|
||||||
|
"unwantedRecommendations": [
|
||||||
|
"ms-vscode.cpptools-extension-pack"
|
||||||
|
]
|
||||||
|
}
|
||||||
27
flake.lock
generated
Normal file
27
flake.lock
generated
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728241625,
|
||||||
|
"narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
25
flake.nix
Normal file
25
flake.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
description = "A Nix-flake-based PlatformIO development environment";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs }:
|
||||||
|
let
|
||||||
|
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||||
|
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
|
||||||
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
devShells = forEachSupportedSystem ({ pkgs }: {
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
platformio-core
|
||||||
|
openocd
|
||||||
|
python3
|
||||||
|
platformio
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue