Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hazyair/hazyair
Air quality monitoring tool.
https://github.com/hazyair/hazyair
air chart humidity measurements monitoring pressure raspberry-pi raspberrypi sensor temperature
Last synced: 3 months ago
JSON representation
Air quality monitoring tool.
- Host: GitHub
- URL: https://github.com/hazyair/hazyair
- Owner: hazyair
- License: mit
- Created: 2018-01-04T16:56:46.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T17:31:13.000Z (about 2 years ago)
- Last Synced: 2024-10-10T18:23:20.829Z (3 months ago)
- Topics: air, chart, humidity, measurements, monitoring, pressure, raspberry-pi, raspberrypi, sensor, temperature
- Language: JavaScript
- Homepage: https://hazyair.github.io/hazyair
- Size: 977 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# __*hazyair*__ - air quality monitoring tool.
__*hazyair*__ is a handy tool that enables to retrieve measurments of the:
* dust conectration in the air (PM1.0, PM2.5, PM10),
* temperature,
* humidity,
* pressure,from the sensors and optionally store them to the simple database. It can also visualize the measurement results on the
charts that can be accessed from the web browsers.## Hardware - [Configuration](https://github.com/hazyair/hazyair/wiki)
__*hazyair*__ was orginally developed on Raspberry Pi Zero W but it should work on any version of Raspberry Pi.
Following sensors are supported:
* dust sensors - [Plantower sesors](https://github.com/perfectworks/node-plantower#supported-device-models),
SDS011 (__not tested__), SDS018 (__not tested__), SDS021 (__not tested__),
* temperature sensors - DS18B20,
* temperature, pressure and optionally humidity combo sensors - BME280, BMP280,
* builtin dust, temperature, humidity sensors - Xiaomi Air Purifier 2.## Installation
### Common Steps
Install `node`.
```bash
sudo apt-get install nodejs
```Install `npm`.
```bash
sudo apt-get install npm
sudo npm install -g npm@latest
sudo apt-get remove npm
sudo apt-get autoremove
```### Development
```bash
git clone https://github.com/\
hazyair/hazyair.git
cd hazyair
npm install
```### Production
Create `node_modules` folder.
```bash
mkdir node_modules
```Install `hazyair` module.
```bash
npm install hazyair
```### Use as a service
Browse to `hazyair` folder.
```bash
cd node_modules/hazyair
```Run desired sensor configuration script (examples below).
```bash
npm run plantower PMS7003 \
/dev/serial0npm run nova SDS011 \
/dev/serial0npm run maxim
npm run bosch BME280 1 119
npm run xiaomi AirPurifier2 \
192.168.0.1
```Deploy `hazyair` service.
```bash
npm run deploy
```Run web browser and open charts under following link ```http://:8081```.
### Use as a module - [API](https://github.com/hazyair/hazyair/wiki/API)
```javascript
const Hazyair =
require('hazyair');// Initialize hazyair.
hazyair = new Hazyair([{
parameter: 'dust',
model: 'PMS7003',
persistent: true,
options: {
device: '/dev/serial0'
}
}]);// Optionally handle incoming
// measurements.
hazyair.on('dust', (data) => {
// New measurement result
// available.
});// Optionally send out incoming
// data to the ThingSpeak™
// service once available.
hazyair.thingspeak({
api_key:
'XXXXXXXXXXXXXXXX',
parameters: {
dust: {concentration_pm10_normal:
'field1'
}}
});// Optionally send out incoming
// data to the dweet.io
// service once available.
hazyair.dweet({
thing:
'XXXXXXXXXXXXXXXX',
parameters: {
dust: {concentration_pm10_normal:
'PM10'}
}
});// Start collecting
// measurements data.
hazyair.start();// Optionally start http server
// and make data accessible to
// the web browsers.
hazyair.listen({
port: 8081
}, () => {
// Additional code goes
// here.
});
```## License
MIT License
Copyright (c) 2018-2019 Marcin Sielski