Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var net = require('net'),
- util = require('util'),
- async = require('async'),
- sensortag = require('sensortag'),
- device = require('./device');
- /*Connect to Each CC2650 Sensors in 10 second intervals*/
- async.series([
- (callback)=> {
- connectDevice(device.tag1.mac);
- callback();
- },
- (callback)=> {
- setTimeout(callback,10000);
- },
- (callback)=> {
- connectDevice(device.tag2.mac);
- callback();
- }
- ]);
- /*Connects and set the sensor to send light data everytime a light value is changed*/
- function connectDevice(mac){
- var client = new net.Socket();
- var port = 3000;
- client.on('error', (error) => {
- console.log(`TCP Server Error: ${error}`);
- });
- console.log(`connecting ${mac}...`);
- sensortag.discoverByAddress(mac, (tag) => {
- console.log(`${tag} discovered`);
- var content = {};
- var sendData = (light) =>{
- console.log('sending data');
- client.connect(port, () => {
- client.write(`light value is ${light}`);
- });
- };
- /* when tag disconnects, try to reconnect */
- tag.on('disconnect', () => {
- console.log(`${tag} disconnected - reconnecting...`);
- connectDevice(mac);
- });
- async.series([
- (callback) => {
- tag.connectAndSetUp(callback);
- },
- (callback) => {
- tag.enableLuxometer(callback);
- },
- (callback) => {
- tag.on('luxometerChange', (lux) => {
- content.lux = Number(lux.toFixed(1));
- sendData(content.lux);
- });
- tag.setLuxometerPeriod(2000, (error) => {
- tag.notifyLuxometer((error) => {
- if(error) {
- console.log(`${tag} Error occurred: ${error}`);
- }
- console.log(`${tag} connected!`);
- callback();
- });
- });
- }
- ]);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement