Bonescript demo: Weather Station


function tempData(x) {
 if(!x.err) temperatureUpdate(x.data);
 setTimeout(tempRead, 500);
};

function tempRead() {
 readTextFile('/sys/bus/i2c/drivers/bmp085/3-0077/temp0_input', tempData);
};

function pressureData(x) {
 if(!x.err) pressureUpdate(x.data);
 setTimeout(pressureRead, 3000);
};

function pressureRead() {
 readTextFile('/sys/bus/i2c/drivers/bmp085/3-0077/pressure0_input', pressureData);
};

function startUpdates(x) {
 alert('Starting updates');
 pressureRead(); tempRead();
};

writeTextFile('/sys/class/i2c-adapter/i2c-3/new_device', 'bmp085 0x77', startUpdates);