Advertisement
ButchAnton

bbb_web_light_switch.js

Mar 2nd, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var http = require('http');
  2. var bb = require('bonescript');
  3.  
  4. var outletOnPin = "P8_9";
  5. var outletOffPin = "P8_10";
  6. var LEDPin = "P8_11";
  7. var statReturn = '/';
  8.  
  9. bb.pinMode(outletOnPin, bb.OUTPUT);
  10. bb.pinMode(outletOffPin, bb.OUTPUT);
  11. bb.pinMode(LEDPin, bb.OUTPUT);
  12. bb.digitalWrite(outletOnPin, bb.LOW);
  13. bb.digitalWrite(outletOffPin, bb.LOW);
  14. bb.digitalWrite(LEDPin, bb.LOW);
  15.  
  16. setInterval(loop, 1000);  // Check the status of the request every 1 second.
  17.  
  18. function sleep(ms) {
  19.     var unixtime_ms = new Date().getTime();
  20.     while(new Date().getTime() < unixtime_ms + ms) {}
  21. }
  22.  
  23. function loop() {
  24.   // console.log("*** Loop: statReturn = " + statReturn);
  25.   if (statReturn == "/?status=on" || statReturn == "/?status=outlet+on") {
  26.     // console.log(">>>>>>>>> Turning outlet on");
  27.     bb.digitalWrite(outletOnPin, bb.HIGH);
  28.     bb.digitalWrite(outletOffPin, bb.LOW);
  29.     bb.digitalWrite(LEDPin, bb.HIGH);
  30.     sleep(100);
  31.     bb.digitalWrite(outletOnPin, bb.LOW);
  32.     bb.digitalWrite(outletOffPin, bb.LOW);
  33.     bb.digitalWrite(LEDPin, bb.LOW);
  34.     statReturn = "processed";
  35.   } else if (statReturn == "/?status=off" || statReturn == "/?status=outlet+off") {
  36.     // console.log("<<<<<<<<<< Turning outlet OFF");
  37.     bb.digitalWrite(outletOffPin, bb.HIGH);
  38.     bb.digitalWrite(outletOnPin, bb.LOW);
  39.     bb.digitalWrite(LEDPin, bb.HIGH);
  40.     sleep(100);
  41.     bb.digitalWrite(outletOffPin, bb.LOW);
  42.     bb.digitalWrite(outletOnPin, bb.LOW);
  43.     bb.digitalWrite(LEDPin, bb.LOW);
  44.     statReturn = "processed";
  45.   } else {
  46.     // do nothing
  47.   }
  48. };
  49.  
  50. http.createServer(function (req, res) {
  51.   res.writeHead(200, {'Content-Type': 'text/html'});
  52.   res.end('<html><body><CENTER><form><button name="status" type="submit" value="on">Outlet on</button><BR><button name="status" type="submit" value="off">Outlet off</button></form></body></html>');
  53.   if (req.url != "/favicon.ico") {
  54.     statReturn = req.url;
  55.   }
  56.   // console.log("Server: req.url = " + req.url);
  57.   // console.log("Server: statReturn = " + statReturn);
  58. }).listen(8000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement