mirror of
https://github.com/eclipse/upm.git
synced 2025-03-24 01:10:22 +03:00
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
/*
|
|
* Author: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
|
|
* Copyright (c) 2014 Intel Corporation.
|
|
*
|
|
* This program and the accompanying materials are made available under the
|
|
* terms of the The MIT License which is available at
|
|
* https://opensource.org/licenses/MIT.
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
var upmTP401 = require('jsupm_gas');
|
|
//var time = require('sleep');
|
|
|
|
//give a qualitative meaning to the value from the sensor
|
|
function airQuality(value)
|
|
{
|
|
if(value < 50) return "Fresh Air";
|
|
if(value < 200) return "Normal Indoor Air";
|
|
if(value < 400) return "Low Pollution";
|
|
if(value < 600) return "High Pollution - Action Recommended";
|
|
return "Very High Pollution - Take Action Immediately";
|
|
}
|
|
|
|
function loop()
|
|
{
|
|
//read values (consecutive reads might vary slightly)
|
|
var value = airSensor.getSample();
|
|
var ppm = airSensor.getPPM();
|
|
|
|
//write the sensor values to the console
|
|
console.log("raw: " + value + " ppm: " + (" " + ppm.toFixed(2)).substring(-5, 5) + " " + airQuality(value));
|
|
|
|
//wait 2.5 s then call function again
|
|
setTimeout(loop, 2500);
|
|
}
|
|
|
|
//setup sensor on Analog pin #0 (A0)
|
|
var airSensor = new upmTP401.TP401(0);
|
|
|
|
//warm up sensor
|
|
console.log("Sensor is warming up for 3 minutes..");
|
|
var i = 1;
|
|
|
|
//print a message every passing minute
|
|
var waiting = setInterval(function() {
|
|
console.log(i++ + " minute(s) passed.");
|
|
if(i == 3) clearInterval(waiting);
|
|
}, 60000);
|
|
|
|
//start loop in 3 minutes
|
|
setTimeout(function(){
|
|
console.log("Sensor is ready!");
|
|
loop();
|
|
}, 180000);
|