Ejemplo n.º 1
0
touchSensors.forEach(function (sensor) { robot.addSensor(sensor) })
Ejemplo n.º 2
0
robot.on('ready', function () {
  robot.run()
})
Ejemplo n.º 3
0
var wpi = require('wiring-pi')
var brickpi = require('brickpi-raspberry-watch')
var firebase = require('firebase')
var apiKey = require('./config').apiKey
var deviceName = require('./config').deviceName
var watching = []

firebase.initializeApp({
  serviceAccount: './firebase-service-account.json',
  apiKey: apiKey,
  databaseURL: 'https://play-ev3.firebaseio.com'
})

wpi.setup('wpi')
var robot = new brickpi.BrickPi({pollingInterval: 100})
var touchSensors = [1, 2, 3, 4].map(function (num) {
  wpi.digitalWrite(num, wpi.LOW)
  return new brickpi.Sensor({ port: brickpi.PORTS['S' + num], type: brickpi.SENSOR_TYPE.NXT.TOUCH })
})
touchSensors.forEach(function (sensor) { robot.addSensor(sensor) })
robot.setup()
robot.on('ready', function () {
  robot.run()
})

firebase.database().ref('devices/' + deviceName + '/active').on('value', function (snap) {
  var devices = snap.val() || []
  devices.forEach(function (port) {
    if (watching.indexOf(port) === -1) {
      lightToggle(port)
      sensorSubscribe(port)