Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

hazyair

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hazyair

Air quality monitoring tool.

latest
Source
npmnpm
Version
1.6.7
Version published
Maintainers
1
Created
Source

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

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, 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.

sudo apt-get install nodejs

Install npm.

sudo apt-get install npm
sudo npm install -g npm@latest
sudo apt-get remove npm
sudo apt-get autoremove

Development

git clone https://github.com/\
hazyair/hazyair.git
cd hazyair
npm install

Production

Create node_modules folder.

mkdir node_modules

Install hazyair module.

npm install hazyair

Use as a service

Browse to hazyair folder.

cd node_modules/hazyair

Run desired sensor configuration script (examples below).

npm run plantower PMS7003 \
/dev/serial0

npm run nova SDS011 \
/dev/serial0

npm run maxim

npm run bosch BME280 1 119

npm run xiaomi AirPurifier2 \
192.168.0.1

Deploy hazyair service.

npm run deploy

Run web browser and open charts under following link http://<ip_address>:8081.

Use as a module - API

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

Keywords

pm1.0

FAQs

Package last updated on 08 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts