Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. var net = require('net'),
  2. util = require('util'),
  3. async = require('async'),
  4. sensortag = require('sensortag'),
  5. device = require('./device');
  6.  
  7. /*Connect to Each CC2650 Sensors in 10 second intervals*/
  8.  
  9. async.series([
  10. (callback)=> {
  11. connectDevice(device.tag1.mac);
  12. callback();
  13. },
  14. (callback)=> {
  15. setTimeout(callback,10000);
  16. },
  17. (callback)=> {
  18. connectDevice(device.tag2.mac);
  19. callback();
  20. }
  21. ]);
  22.  
  23. /*Connects and set the sensor to send light data everytime a light value is changed*/
  24. function connectDevice(mac){
  25. var client = new net.Socket();
  26. var port = 3000;
  27.  
  28. client.on('error', (error) => {
  29. console.log(`TCP Server Error: ${error}`);
  30. });
  31.  
  32. console.log(`connecting ${mac}...`);
  33.  
  34. sensortag.discoverByAddress(mac, (tag) => {
  35. console.log(`${tag} discovered`);
  36.  
  37. var content = {};
  38.  
  39. var sendData = (light) =>{
  40. console.log('sending data');
  41. client.connect(port, () => {
  42. client.write(`light value is ${light}`);
  43. });
  44. };
  45.  
  46. /* when tag disconnects, try to reconnect */
  47. tag.on('disconnect', () => {
  48. console.log(`${tag} disconnected - reconnecting...`);
  49. connectDevice(mac);
  50. });
  51.  
  52. async.series([
  53. (callback) => {
  54. tag.connectAndSetUp(callback);
  55. },
  56. (callback) => {
  57. tag.enableLuxometer(callback);
  58. },
  59. (callback) => {
  60. tag.on('luxometerChange', (lux) => {
  61. content.lux = Number(lux.toFixed(1));
  62. sendData(content.lux);
  63. });
  64. tag.setLuxometerPeriod(2000, (error) => {
  65. tag.notifyLuxometer((error) => {
  66. if(error) {
  67. console.log(`${tag} Error occurred: ${error}`);
  68. }
  69. console.log(`${tag} connected!`);
  70. callback();
  71. });
  72. });
  73. }
  74. ]);
  75. });
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement