Cómo iniciar un app automáticamente en Android


AutoStart es una interesante aplicación Android gratuita que podríamos usar, para ordenar a cualquiera de nuestras aplicaciones instaladas en el dispositivo móvil para que se ejecuten automáticamente cada vez que encendamos el terminal.

Objetivamente se puede intuir , que en Google Play existen otras alternativas que podría elegir quizás mejores ,pero  desde luego no sin un interfaz  tan minimalista como el  de este app y desde luego sobre todo que no precisen ser root  o consuman  tantos recursos en el sistema operativo Android como esta app.  Una característica muy interesante destacable respecto  otras apps es que el inicio automático funciona muy bien en todos los teléfonos o tabletas y no requiere permisos de root. Veamos el modo de usarla junto con un ejemplo:

 

 

En este post vamos a comentar la app AutoStart disponible en Google Play .  Una vez que la tengamos instalada  en nuestro dispositivo móvil Android (que puede ser un “ChromeCast” o un mini PC), sólo tiene que ejecutarla para configurarla    directamente desde la pantalla inicial  tanto que se autoinicie la app ( sin esta app corriendo no se iniciara el resto)  como se ejecuten las apps que se deseen.

Como podrá observar  pues la pantalla principal de AutoStart tiene una interfaz minimalista en la configuración.

Allí solamente tiene que tocar al botón para activar el servicio (es decir, para que esté siempre activa) y también, seleccionar al botón “Add” para agregar una o varias aplicaciones Android que desee que se ejecuten automáticamente cada vez que se encienda su dispositivo Android ,  es  decir como vemos tan solo  tiene que seleccionar las aplicaciones que desea iniciará automáticamente después de encendido del teléfono (arranque).

Otros parámetros que podrá  ajustar se ven  un poco más abajo ,los cuales pueden  ayudara hacer que haya un tiempo de espera antes de que la ejecución de estas aplicaciones en  el inicio. El primer valor corresponderá a la propia app,  mientras que el segundo, es el tiempo que debe esperar el sistema para que se vayan ejecutando el resto de aplicaciones Android.

i

Un detalle de esta app es que funciona  tanto en terminales Android con pantallas pequeñas(smartphones)  como terminales con pantallas  mas grandes como pueden ser  tabletas ,android TV, etc, dispositivos todos ellos donde en ocasiones nos puede venir muy bien poder tener disponibles al arrancar estos nuestra app favorita
 

Un ejemplo claro de uso de la app AutoStart   es usarla para iniciar Seguricasa .  La  app Seguricasa disponible en Google Play por 1€ pretende  que reciclemos o reutilicemos  un viejo terminal Android  que tengamos en desuso  fijándolo a la pared  , para que nos sirva tanto para el control de accesos ,como la monitorización del estado de suministro eléctrico  (la utilidad aquí de Autostart sera para que se inicie automáticamente la app Seguricasa en caso de agotamiento de la batería o de un apagado involuntario)

Dado que los inmuebles son el mayor activo de las personas tanto a nivel personal como a nivel de empresas o negocios,  es importante asegurarnos que no son accedidos por terceros o que siempre están alimentados eléctricamente, dada la gran dependencia del suministro de corriente alterna, por lo que es necesario tener constancia de cualquier caída en el suministro eléctrico.

Enviar notificaciones si se detecta un corte de red ,es posible sin ningún hardware adicional ,puesto que dejaría de estar alimentado externamente el Smartphone (por el cargador del terminal), circunstancia que puede ser monitorizada y procesada dentro de la aplicación  SEGURICASA  que es interpretada  como falta de red de corriente alterna.

Quizás lo interesante  de la aplicación es pues que no se necesita ningún cableado ni hardware adicional pues lo único que  requiere es el cargador que alimente el terminal ,una tarjeta SIM ( para que pueda enviar SMS’s o correo en caso de falta de suministro eléctrico)   y por ultimo un simple cartón que se fije solidario a la puerta de modo que al abrir la puerta de acceso tape el sensor de proximidad presente en el frontal de cualquier Smartphone.

 

 

La app Seguricasa puede enviar notificaciones automáticamente vía SMS o por correo electrónico según se desee en el momento que se detecte una falta de red en el suministro eléctrico o también la apertura o cierre de la puerta gracias al sensor de proximidad que incluye cualquier Smartphone y así como también  detectar actos de vandalismo sobre el terminal para notificarlo al usuario.

Como ejemplos de utilidad de esta aplicación seria la vigilancia de los alimentos perecederos (es decir de mantener la refrigeración ) o sistemas de calefacción ,aunque es obvio que todos sabemos cómo las consecuencias de una falta de red eléctrica puede abarcar otros muchísimos usos: servidores para servicios de TI, comunicaciones, seguridad , riegos automatizados, cultivos ,acuarios, etc.

Esta app, pues, está pensada dirigida a familias, pequeños comerciantes, o incluso negocios etc., ya que por su simplicidad está prevista para ser auto instalada por cualquier usuario. Seguricasa es una solución ideal pues para aquellas personas que no están dispuestos a pagar una cuota por un sistema de alarma pero les gustaría saber lo que ocurre en sus propiedades sobre todo con el suministro de corriente alterna en el acceso. La solución es única, pues no es necesario adquirir ningún hw adicional ya que se basa en un Smartphone para gestionar tanto los accesos como los cortes de red de corriente alterna de una vivienda o local

 

Como habrá podido observar , “AutoStart” ofrece una simplicidad bastante grande a la hora de manejar sel arranque automático  fiable sin ser root de cualquier aplicación como por ejemplo la aplicación Seguricasa

Anuncios

Acceso web a Sensores conectados a una Raspberry Pi


Aunque  efectivamente  cualquier  Raspeberry  PI  no puede procesar directamente señales analógicas al no contar  en su electronica interna con convertidores  A/D  y D/A muliproposito como otras placas (Arduino,Netduino,Edison,etc), todavía es posible procesar gran cantidad de información,  pues cuenta  con 14  entradas/salidas digitales que pueden usarse para cualquier propósito como vamos a ver a  continuación, usando como referencia la plataforma Cayenne la cual nos permite rápidamente obtener lecturas en tiempo real  de cualquier sensor que conectemos a nuestra Raspberry Pi

Aunque es posible conectar múltiples sensores analógicos  usando CI auxiliares, vamos a  ver en primer lugar  todas las posibilidades   de usar las entradas/salidas digitales para conectar diferentes tipos de sensores.

Un par de notas antes de comenzar:

  • Los diagramas proporcionados son sólo ejemplo de cómo conectar el sensor. Hay muchas maneras para conectar sensores y extensiones, así que trate de lo que funciona mejor para usted!
  • Asegúrese de que Raspberry Pi está apagada al conectar los cables.
  • Cuando utilice un cable de cinta GPIO, asegúrese de que está conectado el cable (es un color diferente que los otros) en la esquina de la Raspberry Pi y la parte superior de su RP Pi.
  • Algunas placas de prototipos  (usados en los diagramas a continuación) tienen unas lineas de alimentación  que se separan en el medio. Si este es el caso, asegúrese de que sus sensores están conectados en la misma mitad de la placa en su Raspberry Pi.

 

 SENSORES DIGITALES

Es muy sencillo leer el estado  de cualquier interruptor conectado a la Raspberry Pi .Por extraño  que pueda parecer usar sensores basados en  interruptores es unas de las vias de sensorización mas fiables que existen pues al no haber apenas electronica los hace inmunes  a interferencias, averías, sabotaje,etc

Ademas el abanico de sensores de este tipo  no se limita a interruptores mecánicos pues , también existen sensores magnéticos , sensores de líquidos, sensores conductivos,etc , todos ellos  funcionando de una manera muy similar cerrando o abriendo el circuito en función de una determinada característica

Utilice el diagrama siguiente para conectar un sensor a una de las Entradas digitales de Raspberry Pi.

 

Paso 1

Conecte alimentación de  3v de la  RP Pi (pin 1 ) para alimentar el pulsador, a través de una resistencia de 10k.
Digital Input

Paso 2

Conectar la tierra de la RP Pi al pulsador(pin 9).
Digital Input

Paso 3

Conectar el pulsador (utilizando el mismo pin como la resistencia) a uno de los pines GPIO en la RP  Pi, en este caso 17 de GPIO(pin 11).
Digital Input

Paso 4

Ahora finalmente  entre en su cuenta de Cayenne , acceda  a la RP  y agregue la entrada Digital a su escritorio  de Cayyene  para poder  leer el estado del botón usando 17 GPIO.

 

g17

 

 

 

BMP180

BMP180

Este sensor de precisión de Bosch es la mejor solución de detección de bajo costo para medir la presión barométrica y la temperatura. Dado que la presión cambia con la altitud también se puede utilizar como un altímetro! El sensor está soldado a una placa con un regulador de 3.3V, un cambiador de nivel I2C y resistencias de pull-up en los pines I2C.

Esta placa es compatible con 5V pues lleva un regulador de 3.3V y un circuito cambiador de nivel I2C  incluidos para que pueda utilizar este sensor de manera segura con la lógica de 5V y la alimentación.

En el ejemplo  vamos a agregar un sensor de temperatura y presión de BMP180 para ver lo fácil que es empezar.

Paso 1

Conectar al linea  de 3.3V de energía desde la RP Pi a BMP180 (VIN).
BMP180

Paso 2

Conectar toma de tierra de la RP(pin 9)  Pi a BMP180 (GND).
BMP180

Paso 3

Conectar los pins el SCL (pin 5) en el zapatero de Pi y BMP180.
BMP180

Paso 4

Conecte un hilo de la SDA (pin 3) en la RP Pi y BMP180.
BMP180

Paso 5

¡Listo! Ahora puede Agregar el BMP180 a su tablero de instrumentos.

Ahora finalmente  entre en su cuenta de Cayenne , acceda  a la RP  y  haga clic en Agregar nuevo > dispositivo / Widget.

Add New Device

  1. Seleccione sensores, temperatura, y BMP180.
  2. Haga clic en Add Sensor.

Add Sensor

Los widgets de temperatura y presión de BMP180 se agregan a su tablero de instrumentos.

Vamos a probarlo! Coloque su mano sobre el sensor de BMP180. Las actualizaciones de valor de la temperatura tan pronto como se recibe un cambio de temperatura.

Puede comprobar el estado actual de su sensor en cualquier momento visitando el tablero de instrumentos.
Added Sensor

TMP102

TMP102
Se trata de un tablero del desbloqueo de accesorios para el pequeño sensor de temperatura digital TMP102. El TMP102 es un sensor digital (I2C alias TWI), tiene una resolución de 0,0625 ° C, y tiene una precisión de hasta 0,5 ° C. Este es un sensor muy práctico que requiere una muy baja corriente.

La comunicación con el TMP102 se logra a través de una interfaz serie de dos hilos. No existe regulador de tensión de a bordo, por lo que el voltaje suministrado debe estar entre 1,4 a 3.6VDC. Los condensadores de filtrado y resistencias de pull-up se incluyen een la placa .

Use el siguiente diagrama para conectar el sensor de temperatura TMP102.

Una  nota antes de comenzar: Algunos sensores de TMP102 le permiten cambiar la dirección predeterminada conectando  un puente sobre el pin de dirección. Algunas versiones, como la utilizada en este ejemplo, están conectados a una dirección predeterminada de 0x48. Consulte las especificaciones de su ficha para obtener más detalles.

 

Paso 1

Alimentar desde la RP  Pi a TMP102 mediante el pin 1 de 3.3V  (VCC).
TMP102

Paso 2

Conectar la masa   de la RP Pi a TMP102 (GND).
TMP102

Paso 3

Conecte la  toma de SDA(pin 3)  de la RP  Pi hacia a TMP102  .
TMP102

Paso 4

Conecte los pines SCL de la TMP102 a la RP Pi(pin 5).
TMP102

Paso 5

¡Listo! Ahora puede Agregar el sensor de TMP102 en el panel de Cayenne, con dirección por defecto de 0x48.

DS18B20

DS18B20

Este es el último sensor digital de temperatura DS18B20 1-Wire de Maxim IC  y  es un componente muy usado en muchos proyectos de registro de datos y control de temperatura

Envia  al bus I2C la información de la temperatura exterior en  grados C con precisión 9-12 bits, -55C a 125C (+/- 0.5C).a.

Cada sensor tiene un número de serie único de 64 bits grabado en él lo cual permite un gran número de sensores que se utilizarán en un bus de datos.

Use el siguiente diagrama para conectar el sensor de temperatura DS18B20 “1-Wire”.

Un nota antes de comenzar:Para aprovechar las ventajas de la detección automática de cayenne  de sensores 1-wire, conecte a 4 GPIO.

 

Paso 1

Desde la RP Pi para alimentar el pin VDD del DS18B20, use el pin1 de 3.3V. Asegúrese de que usa una resistencia de pull-up de 4k7  entre la alimentación (VDD) y la salida (DQ) en ambos pines del DS18B20.
DS18B20

Paso 2

Conectar la tierra de la RP Pi con el conector de tierra (GND) del DS18B20.
DS18B20

Paso 3

Conectar la  salida del DS18B20 (DQ) en GPIO  4 (pin 7) en la RP Pi. La Conexión a 4 GPIO permite la detección automática del dispositivo 1-wire en Cayenne.
DS18B20

Paso 4

¡Listo! Encienda su RP Pi y Cayenne automáticamente detectará el sensor DS18B20 y añadirá este  a su panel de control.

 

VCNL 4000

vcnl4000

El VCNL4000 puede detectar su proximidad a un objeto utilizando IR dentro de un rango de aproximadamente 20 cm. Los datos de proximidad, así como los datos del nivel de luz ambiental, se pueden recoger en una interfaz I2C.

La placa la acceso a los pines I2C, el pin Vcc, GND y el pin IR + (fuente de alimentación para el emisor IR incorporado). Simplemente necesita alimentación  de 3.3Vy dé al emisor de IR en cualquier lugar de 2.5-5V y usted será capaz de decir lo lejos que está de un objeto de hasta 20 cm.

Use el siguiente diagrama para conectar un VCNL4000 de proximidad y sensor de luminosidad.

Paso 1

Conecte las líneas de energía. Conecte el pin de 3.3V de la RP Pi  al pin de  3.3V de  VCNL4000  y al alimentación de 5V(pin 5)  al pin emisor de IR (IR +).
VCNL4000

Paso 2

Conectar toma de tierra de la raspberry Pi a VCNL4000 (GND).
VCNL4000

Paso 3

Conecte las clavijas SDA de la VCNL4000 a la raspberry Pi(pin3).
VCNL4000

Paso 4

Conecte los pines SCL de la VCNL4000  a la RP Pi(Pin 5).
VCNL4000

Paso 5

¡Listo! Ahora puede Agregar el sensor de VCNL4000 en el  panel de control de Cayenne

 

TSL2561

TSL2561

TSL2561 es un sensor de luz digital avanzado, ideal para su uso en una amplia gama de situaciones de luz. En comparación con las células bajo coste CdS , este sensor es más preciso, lo que permite cálculos exactos de lux y se puede configurar para diferentes ganancia / tiempo rangos para detectar rangos de luz de hasta 0,1 – 40.000+ Lux sobre la marcha.

La mejor parte de este sensor es que contiene dos diodos infrarrojos y espectro completo! Esto significa que puede medir por separado de infrarrojos, y  el espectro completo o humano luz visible (la mayoría de los sensores sólo pueden detectar uno o el otro, lo que no representa con exactitud lo que ven los ojos humanos ya que no podemos percibir la luz infrarroja que es detectado por la mayoría de los fotodiodos)

El sensor tiene una interfaz digital (I2C). Puede seleccionar una de las tres direcciones por lo que puede tener hasta tres sensores en una placa (cada uno con una dirección I2C diferente). El qeu incluya el ADC significa que usted puede utilizar esto con cualquier microcontrolador, incluso si no tiene entradas analógicas. El consumo de corriente es extremadamente baja, así que es genial para los sistemas de registro de datos de baja potencia. sobre 0,5 mA al detectar activamente, y menos de 15 uA cuando está en modo powerdown.

Use el siguiente diagrama para conectar un sensor de luminosidad TSL2561.

Una nota antes de comenzar:El sensor de TSL2561 le permite cambiar la dirección predeterminada  tendiendo un puente sobre el pinde dirección. Dejando el pin de dirección flotante (desconectado) le dará la dirección por defecto, 0 x 39 en este ejemplo. Consulte las especificaciones de su ficha para obtener más detalles.

 

Paso 1

Alimentar desde la RP  Pi con 3.3 V (pin1)  a TSL2561 (VIN).
TSL2561

Paso 2

Conectar toma de tierra de la Rp Pi a TSL2561 (GND).
TSL2561

Paso 3

Conecte las clavijas SDA de la TSL2561  a la RP Pi(pin 3).
TSL2561

Paso 4

Conecte los pines SCL de la TSL2561 a la RP Pi(pin 5).
TSL2561

Paso 5

¡Listo! Ahora puede Agregar el sensor de TSL2561 en el panel de control de Cayenne  con dirección por defecto de 0 x 39.

 

Aunque existen muchos mas sensores y actuadores que podemos conectar a  nuestra Raspberry Pi , una vez conectados  y configurados en el panel de control de Cayenne  aparte de poder visualizar el historial , una gran utilidad es generar alertas antes determinados cambios en los valores transmitidos a la plataforma Cayenne.

Sin duda dos de las grandes utilidades es enviar alertas o notificaciones de correo ante cambios en los valores  registrados de los sensores que hemos conectado

 

 

Recibir alertas  SMS

Cayyene  le enviará alertas de notificación por mensaje de texto si selecciona.
Notification Alert

Correo electrónico

Cayenne le enviará alertas de notificación por correo electrónico si ha seleccionado.
Email Alert

 

Fuente aqui

 

Cónstruya un robot con Raspbery Pi y Arduino


 

En el video anterior en efecto vemos  un robot controlado a distancia basándose  en interfaces web usando para ello  una red  inalámbrica .Dado la potencia de la Raspberry Pi se usa esta para el soporte de Video  y  una placa  Arduino  para el control de los motores 

Se usa la Raspberry Pi pues para la gestión  de la cámara, una red Wi-Fi para la  interfaz de usuario  entre el robot u el usuario  y una placa  Arduino para controlar servos, sensores y motores.


¿Qué necesitamos para construir el robot?,pues propprcionamos a continuacion la siguiente lista de componentes:

 

En realidad dado que  todos estos módulos ya vienen montados , el esquema de conexiones es bastante sencillo ,pues se usa  un convertidor dc/dc  para alimentar  el puente  en h para los 4 motores , los 2 servos y el sensor ultrasonico  , y otro convertidor dc/dc para alimentar exclusivamente  el Arduino Nano

La comunicación entre  Raspberry Pi y Arduino se lleva  a cabo a través de GPIO TX serie / RX (/ dev / ttyAMA0) por medio de un convertidor de nivel.

Otro aspecto destcable  es que tanto el sensor ultrasonido como los dos servos son controlados por la propia placa Arduino Uno

Esquemas cameraRobot

Asimismo se  hace uso de un modulo de cámara para Raspberry Pi  , la cual va conectada con un cable de cinta  a la Raspberry Pi . La cámara se sujeta al soporte movil especial el cual  permite gracias a los dos servos  mover la cámara  en los tres ejes

Aquí puede echar un vistazo a los detalles de  ensamblaje de los componentes mas importantes:

Pan Tilt & detalle con los servos
Detalle de conexion con los servos
Frambuesa Pi / Arduino y convertidor de nivel
Raspberry Pi / Arduino y convertidor de nivel
las conexiones del sensor y Servos

 

Software:

El software se divide en dos secciones: software para Raspberry  Pi  y software de Arduino.

Para la Raspberry se usa dawnrobotics SD imagen para su cámara robot Pi , la cual proporciono  con una pequeña modificación  el  archivo robot_web_server.py  para permitir la comunicación serie con Arduino Nano en lugar del controlador dawnrobotics.

A continuación se detalla el código fuente empleado:

 

#include <ecat.h>
#include <Servo.h>

Servo servoP1B2; Servo servoP1B3;

#define MAX_GRAUS 170
#define MIN_GRAUS 20

String szMissatge;
Ecat ecat;
int valorServoV;
int valorServoH;

void setup(){
  ecat.setupNibbleMode(NIBBLE_H_P1,OUTPUT);
  ecat.vUltrasonicSensorP1b0b1_init();
  
  valorServoV=90;
  valorServoH=90;
  pinMode(ecat.nPinP1B2,OUTPUT);
  pinMode(ecat.nPinP1B3,OUTPUT); 
  servoP1B2.attach(ecat.nPinP1B2);
  servoP1B3.attach(ecat.nPinP1B3);
  servoP1B2.write(valorServoV);
  servoP1B3.write(valorServoH);  
  pinMode(ecat.nPinP2B7,OUTPUT);
  pinMode(ecat.nPinP2B6,INPUT);
  pinMode(ecat.nPinP2B5,INPUT);
  pinMode(ecat.nPinP2B4,INPUT);
  ecat.setupNibbleMode(NIBBLE_L_P2,INPUT);
  Serial.begin(115200);
}

void vRobotAturat(){
  ecat.vWriteHighNibbleP1(0x00);
}

void vRobotEndarrera(){
  ecat.vWriteHighNibbleP1(B00000110);
}

void vRobotEndavant(){
  ecat.vWriteHighNibbleP1(B00001001);
}

void vRobotEsquerra(){
  ecat.vWriteHighNibbleP1(B00000101);
}

void vRobotDreta(){
  ecat.vWriteHighNibbleP1(B00001010);
}



void vManageMsg(){
 
  if(szMissatge == "b"){
    vRobotEndarrera();
  }
  if(szMissatge == "f"){
    if (ecat.nUsDistanceCmP1b0b1()>7) {
        vRobotEndavant();
    }
  }
  if(szMissatge == "s"){
    vRobotAturat();
  }
  if(szMissatge == "l"){
    vRobotEsquerra();
  }
  if(szMissatge == "r"){
    vRobotDreta();
  }
  if(szMissatge == "w"){
    if (valorServoH<MAX_GRAUS) {
      valorServoH++;
    }
  }
  if(szMissatge == "x"){
    if (valorServoH>MIN_GRAUS) {
      valorServoH--;
    }
  }
  if(szMissatge == "a"){
    if (valorServoV>MIN_GRAUS) {
      valorServoV--;
    }
  }
  if(szMissatge == "d"){
    if (valorServoV<MAX_GRAUS) {
      valorServoV++;
    }
  }
}

void loop(){

  while(Serial.available()){
    delay(3);
    char c = Serial.read();
    szMissatge += c;
  }
  vManageMsg();
  szMissatge = "";
  if (ecat.nUsDistanceCmP1b0b1()<7) {
    vRobotAturat();
  }
  servoP1B2.write(valorServoV);
  servoP1B3.write(valorServoH);
}

Como estamos utilizando versión ligeramente modificada de la imagen downrobots, la Raspberry Pi está configurado para actuar como un punto de acceso Wi-Fi, por lo que para conectarse a la nueva red inalámbrica   debe aparecer llamada ‘CameraRobot’. La contraseña de la red es “raspberry”.

Nota: En algunas ocasiones el dongle WiFi en el Pi no obtendrá una dirección IP (error conocido) y por lo que no será capaz de conectarse a la red (el dispositivo pasará edades autenticación y obtener una dirección IP).Este problema suele resolverse girando el robot apagado y otra vez.

 

Para la sección de Arduino Nano,  gracias a @JordiBinefa y @electronicscat se  usa su  biblioteca de e-cat .

El robot se controla con una interfaz web que significa que debería ser accesible desde la más amplia gama de dispositivos posibles. La interfaz web hace uso de HTML5 sin embargo, por lo que tendrá que utilizar un navegador hasta la fecha. Se encontró que Chrome funciona bien en todas las plataformas que se ha probado.

 

Para controlar el robot escriba la dirección IP 192.168.42.1 en la barra de direcciones.

 

 

robot coche con PICAM. Prespectiva.

 

Tiene conexión Wifi, por lo tanto se puede trastear con ella sin cables y eso es muy cómodo. Con éste sistema básico, se puede expandir muchísimo y quizás dar el paso con OpenCV o algún otro tipo de funcionalidad compleja gracias a la potencia que ofrece la Raspberry Pi.

El proyecto desde luego es sumamente interesante  y desde luego abre un camino para nuestra imaginación para replicarlo y mejorarlo dotándolo de nuevas modificaciones   que sin duda lo harán mucho mejor si cabe

Fuente aqui

Manejo de un robot con node.js


Node.js es un entorno en tiempo de ejecución multiplataforma de código abierto  para  servidor , aunque como vamos a ver,  se puede usar para otros propósitos . Fue creado con el enfoque de ser útil en la creación de programas de red altamente escalables, como por ejemplo, servidores web. 

Es un lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Goog asi que desde este punto de vista Node.js es similar en su propósito a Twisted o Tornado de Python, Perl Object Environment de Perl, libevent o libev de C, EventMachine de Ruby, vibe.d de D y JEE de Java existe Apache MINA, Netty, Akka, Vert.x, Grizzly o Xsocket.

Como nota  muy diferenciadora,al contrario que la mayoría del código JavaScript, no se ejecuta en un navegador, sino en el servidor.

Asimismo Node.js implementa algunas especificaciones de CommonJS   e  incluye un entorno REPL para depuración interactiva

Tal es la potencia de  Node.js  que ya existen plataformas basadas en este entorno para intereactuar con placas como Arduino ,Linino. Intel Edison, Raspberry pi,etc  en aplicaciones de Robotica o plataformas de IoT

Johnny – Five    es una Plataforma JavaScript Robótica  e  IO  lanzada por bocoup en 2012  y mantenida por una comunidad de desarrolladores de software apasionados e ingenieros de hardware (más de 75 desarrolladores han hecho contribuciones a la construcción de éste).

onny

Como  ejemplo de “Hola Mundo”  con un LED parpadeante sencilla , el  siguiente ejemplo para Arduino nos muestra lo sencillo que es hacerlo en el entorno de Johnny Five :

 

var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  var led = new five.Led(13);
  led.blink(500);
});

 

  • Ejecute el  códido Run: npm install johnny-five

 

Como ejemplo mas avanzado en el repositorio de github  (https://github.com/stylixboom/lr_motor ) Siriwat Kasamwattanarote   nos ensela  como podemos  controlar  un coche de juguete  directamente a través de SSH  (mediante  el terminal)  usando  Node.js.

Desde SSH no  se aceptan 2 teclas de flecha al mismo tiempo, es por eso que la forma en que gira a la izquierda / derecha no es tan suave (al cambiar las dos teclas en consecuencia) pero el funcionamiento es muy fluido

Los requerimientos son los siguientes:

 

Este proyecto es pues aprender a controlar dos motores ( izquierda – derecha) mediante el uso de la Raspberry Pi . El código proporcionado  está escrito en Node.js , y requiere un paquete de ‘ Pigpio ‘ para  acceder al puerto GPIO en la Raspberry Pi . ‘ Pulsación ‘ es escuchar a la entrada de teclado de la tecla de flecha ( arriba-abajo – izquierda – derecha) .

Este experimento apoya dos controladores de motor diferentes :

  • Toshiba – TB6612FNG Texas Instruments
  •  L293D

Notas:

-TB6612FNG es más eficiente , pero más caro (unos  10 $ ) , y se necesita soldadura .

 

TB6612FNG
Ref: http://www.robotshop.com/media/files/PDF/Datasheet%20713.pdf
Truth table
Input                           Output
IN1     IN2     PWM     STBY    OUT1    OUT2    Mode
H       H       H/L     H       L       L       Short brake
L       H       H       H       L       H       CCW
L       H       L       H       L       L       Short brake
H       L       H       H       H       L       CW
H       L       L       H       L       L       Short brake
L       L       H       H       OFF(High ohm)   Stop
H/L     H/L     H/L     L       OFF(High ohm)   Standby

-L293D es mucho más barato ( $ 0,6 ) y más fácil de utilizar con una placa.

L293D
Ref: http://www.robotplatform.com/howto/L293/motor_driver_1.html
Truth table
Input                   Function
PWM     IN1     IN2    
H       H       L       Reverse
H       L       H       Forward
H       H       H       Stop
H       L       L       Stop
L       X       X       Stop

En caso de usar la primera opcion , este es el esquema seguido: 





Una vez montado el circuito y ya vez tenga el código descargado  (https://github.com/stylixboom/lr_motor)  ,simplemente para ejecutarlo use :

                        $ sudo node app_t.js

Finalmente en el vídeo que os dejo a continuación podemos ver el conjunto del  robot utilizando una Raspberry Pi combinando NodeJS y el controlador de motores. .

Placa de deasarrollo con W10


Dado el numero limitado de puertos digitales de las la Placa Raspberry  y tambien por no contar con puertos analógicos , es habitual encontrar muchas personas que usan el binomio Arduino + RaspBerry PI

Para todos aquellos desarrolladores que usen habitualmente el binomio Arduino + RaspBerry PI, esta nueva placa denominada LattePanda producida por la compañía china DFRobot les resultará un gran avance por las posibilidades que ofrece.

LattePanda incluye todo lo que un PC normal tiene y de hecho  puede hacer cualquier cosa que un PC normal hace, todo ello a un bajo precio incluso pudiendo correr con W10 .

Esta placa puede funcionar perfectamente en cualquier lugar permitiendo la creación de documentos con Microsoft Office, la reproducción de vídeos de alta definición y ejecutar aplicaciones de Windows  con   exactamente la misma experiencia que el uso de un PC normal.

LattePanda viene pre-instalado con una edición completa de Windows 10, que incluye potentes herramientas como Visual Studio, NodeJS, Java, producción, y mucho más

Es importante destacar  que hablamos de una placa capaz de ejecutar Windows 10 completo, no la versión IoT ,  gracias  a  su potente hardware consistente en  un procesador Intel Atom y que, gracias a un coprocesador, integra todas las funciones de Arduino en la misma placa.

Gracias a la combinación de  hw, se consigue  un equipo donde podremos cargar Windows 10, Visual Studio y la IDE de Arduino y donde programar y probar nuestros desarrollos.

Por supuesto la placa dispone de 20 conectores GPIO para conectar nuestros accesorios (sensores, actuadores, etc.)

LattePanda tiene quad-core 1.8Ghz, cuenta con 2 ó G RAM, una tarjeta de 32 ó 64 GB eMMC,

En cuanto conectividad tene WIFI y  Bluetooth 4.0 integrados  y cuenta con puertos   USB 3.0  y no debemos olvidar el procesador Arduino incluido en la propia placa ( con sus  correspondientes entradas/salidas  tanto digitales como analógicas)

 

 

Más informacion  aqui

Control de cargas con Raspberry-pi usando MQTT


MQTT significa MQ Telemetry Transport, es decir hablamos de un protocolo de mensajería publicación / suscripción, extremadamente sencillo y ligero, diseñado para dispositivos limitados y bajo ancho de banda y latencia alta o redes no confiables , razón por lo cual  es ideal para IoT (Internet de las cosas).

Los principios de diseño se centran en  minimizar el ancho de banda de la red y los requisitos de recursos del dispositivo, a la vez que intentan asegurar la fiabilidad y cierto grado de garantía de las entregas. Estos principios también resultan ideales para conformar el protocolo ideal de la emergente (M2M) “máquina a máquina” o “Internet de las cosas”  que compone el universo de los dispositivos conectados, asi como  también para aplicaciones móviles en las que el ancho de banda y la energía de la batería están en juego

A partir de marzo de 2013, MQTT está en el proceso de normalización a someterse a OASIS.La especificación del protocolo ha sido publicada abiertamente con una licencia libre de regalías para muchos años, y empresas como Eurotech (anteriormente conocido como Arcom) han puesto en práctica el protocolo en sus productos.En noviembre de 2011 IBM y Eurotech anunciaron su participación conjunta en el Grupo de Trabajo de la Industria M2M Eclipse y la donación del código MQTT al proyecto Eclipse OPS  .

Muy resumidamente  un  sistema basado en  MQTT funciona mediante un Brocker, que es al fin y al cabo un pequeño servidor en el cual se pueden publicar temas llamados Topics.

mqrç

Una vez  publicados esos Topics  en el  Broker ,  otros dispositivos pueden suscribirse a éstos  para intercambiar información o simplemente para consumir información.

Hay muchas librerías para utilizar MQTT,  tanto con diversos microcontroladores (como por ejemplo Arduino)  , con el ESP8266 y por supuesto también con la Raspberry-Pi.

Como Broker, uno de los más famosos es Mosquitto  , el cual también puede correr en una Raspeberry-Pi

Para interectuar con el broker  , no tenemos que crear una nueva app , pues existe la aplicación  ioT Mqtt dashboard , gratuita desrcargable desde Google Play  (si está buscando una aplicación para administrar sus proyectos de IO utilizando el protocolo MQTT, dejar de buscar, aquí está 🙂

Con esta aplicación, puede controlar fácilmente los dispositivos cliente MQTT con pasos de configuración muy sencillas. En un momento  puede comunicarse con su  Arduino, o puede ordenar a su ESP8266 esclavo que haga algo,etc …

 

iot mqtt

Las principales funcionalidades de esta app:

  •  Muchas conexiones
  •  Conexión SSL
  •  Especificar su unidad de datos
  •  Visualizar los valores numéricos de una tabla de actualización en tiempo real
  •  Componentes de Publicaciones personalizables:
    + Texto
    + Botón
    + Interruptor
    + Barra de búsqueda
    + Cuadro de lista desplegable
    + Selector de color
    + botones multi
  • WIDGETS PANTALLA DE INICIO( Botón,Botón basculante (versión del componente widget de interruptor),Selector de color)

Nota:
– Usted puede encontrar el registro de errores en: almacenamiento externo (tarjeta SD) / MQTT-salpicadero / registro
– Los widgets de la pantalla principal se utilizan para publicar sólo! Ellos no se suscribe al tema y reflejan su estado.

El protocolo MQTT es pues un sencillo y ligero sistema diseñado especialmente para IoT (Internet Of Things) que funciona prácticamente en cualquier sitio y no consume apenas recursos  como lo vamos a ver , precisamente usando una Raspberry-PI al que simplemente se han conectado tres leds de colores a modo de ejemplo ,pero que obviamente se podría haber conectado cualquier carga , usando por ejemplo un simple relé o un driver de potencia.

El  esquema como podemos simplemente usa los pines 11,12 y 13 y la masa (pin6) del conector de aplicación de la Raspberry Pi   para conectar simplemente tres leds de colores al que solo se han conectado  tres simples resistencias para limitar la corriente que circula por el puerto:

esqeuma

Como una imagen (y si es en vídeo), vale mas que 1000 palabras , continuación en el siguiente vídeo podemos ver la aplicación ioT Mqtt dashboard , interactuar con una Raspberry Pi usando el esquema anterior:

 

 

Para mas información sobre este proyecto  se puede consultar los siguientes recursos:

Electric Imp


Puede parecer como una tarjeta SD corriente , pero la electric imp es mucho, mucho más . Es un microprocesador con Wi-Fi . Es programable por el aire . Tiene GPIOs , UART , I2C y SPI , interfaces de ancho de pulso modulación, la señal digital a analógica y convertidores de analógico a digital . Básicamente, es lo que se obtiene si se integra un microprocesador ARM y un módulo WiFi hacia abajo en un paquete de tarjetas SD de tamaño pequeño .

El imp proporciona una forma fácil e integrada para conectar casi cualquier dispositivo de hardware para los servicios de Internet . Se adapta bien a ser la columna vertebral de su proyecto de Internet -enabled , ya sea que el control remoto de su manta eléctrica o desencadenar un sistema de riego a través de un navegador web. Conexión del imp a una red inalámbrica y la programación es un proceso sencillo y aerodinámico.

El diablillo se compone básicamente de impresionante puro. Pero , si levantamos el capó de genialidad por un momento , podemos hablar un poco sobre el hardware de la imp . La plataforma de la imp eléctrico es un microprocesador Cortex- M3 . Al igual que cualquier microprocesador, el duende tiene una colección de pines de entrada y salida , cada uno con funciones únicas . Hay seis direccionables pines de E / S – No tantos como Arduino, pero lo compensa en términos de funcionalidad . La IMP tiene tres UART , dos interfaces de I2C y SPI , y dos salidas del CAD ; además de que cada pasador puede actuar como una entrada al ADC y la salida de PWM .

Table from Imp’s Wiki Page
Pin # UART1289 UART57 UART12 I2C89 I2C12 SPI257 SPI189 DAC ADC PWM
1 CTS TX SCL SCLK Yes Yes Yes
2 RTS RX SDA MISO Yes Yes
5 TX SCLK Yes Yes Yes
7 RX MOSI Yes Yes
8 TX SCL MOSI Yes Yes
9 RX SDA MISO Yes Yes

Por supuesto , cada uno de los pines también puede ser utilizado como un simple insumos ( con o sin resistencias de pull- up ) o salidas , hundiéndose / sourcing hasta 4 mA cada una.

También en ese paquete SD pequeña es un módulo de Wi-Fi, una antena , y un sensor de luz . Vamos a averiguar por qué el sensor de luz es fundamental en las próximas páginas.

El diablillo es un dispositivo de 1,8 – 3.3V, suministrándole más de tensión que puede ser perjudicial. Se puede requerir hasta 400 mA (en el peor de los casos) , pero por lo general va a tirar unos 80 mA ( incluso a 5 mA en modo de ahorro de energía ) .

Todo el código escrito para el imp se realiza en línea , en un navegador web. El entorno de desarrollo integrado ( IDE) para los diablillos se llama el planificador . Todo el mundo puede ( libremente ) crear su propia cuenta en el planificador , donde ambos, sus programas y sus duendes están a salvo y seguro.

Ciertamente, hay pros y los contras de este enfoque ” siempre en línea ” ( aunque se puede escribir y guardar todos los programas a nivel local, y subirlo cuando esté listo ) . Aún así, parece una buena solución para este tipo de plataforma.

Firmware para la imp está escrito en un lenguaje llamado Squirrel . Squirrel es un lenguaje orientado a objetos similar a Javascript, pero a diferencia de la mayoría de los lenguajes de programación de sistemas embebidos que hemos encontrado ( a saber Arduino ) . Entrando desarrollo imp del mundo de Arduino puede ser un poco desagradable . No hay bucle () o setup () funciones , en lugar la mayoría de las acciones son de evento o tiempo de motor.

Ejemplo

Hay un montón de buenos ejemplos en la página wiki de imp eléctrica, y si usted está realmente interesado en el aprendizaje de la ardilla , echa un vistazo a la página Squirrel . También existe la API Imp. eléctrica para familiarizarse con . Son funciones y librerías utilizadas para llevar a cabo acciones con pines GPIO del imp y otras funcionalidades de hardware.

impRoduction

El duende eléctrico es una plataforma sinuosamente impresionante desarrollo . Disfrazado como una tarjeta SD de cada día , el diablillo es en realidad una combinación única de microprocesador y el módulo de WiFi. El duende hace conectar cualquier dispositivo a Internet una brisa. Mirando a hacerse con esta moda “Internet de las cosas” ? El diablillo es un excelente lugar para comenzar.

La tarjeta imp eléctrica. ( Nota : No coloque mal el redactor , imp eléctrica es su convención marca. )

En este tutorial , vamos a estar explicando cómo utilizar el duende con una de las placas de interfaz . Este montaje PCB sencilla alberga el mínimo que pueda necesitar para tener una imp arriba-y -running . En primer lugar, vamos a cubrir cómo conectar el extremo del hardware del combo imp / Breakout . Después de eso nos dirigimos más al dominio de firmware, la programación de la imp a parpadear LEDs y leer las entradas analógicas y digitales. El ejemplo de código anterior muestra la parte más fresca de la imp: hardware de control a través de Internet !

La eléctrica imp Breakout

El tablero del desbloqueo imp eléctrica.

Requerimientos

Por supuesto , usted necesitará un duende y un tablero del desbloqueo . Aparte de esas dos partes , vamos a utilizar algunas piezas de electrónica comunes que ya tenga . Aquí hay una lista de todo lo que vamos a utilizar . Si desea utilizar algunas partes es posible que ya tenga en la casa

Además de estos elementos, también necesitará los siguientes materiales no SparkFun:

Red inalámbrica con acceso a Internet
cuenta planificador imp eléctrico (registrarse es gratuito / Fácil)
eléctrica web planificador imp detuvo en su navegador web
SmartPhone w / la imp aplicación eléctrica (Android o iOS)
instrumentos

Habrá un poco de soldadura en cuestión. El tablero del desbloqueo no viene con conector macho sueldan en que usted necesita con el fin de interactuar con los pines del imp de E / S. Usted necesitará una simple soldador y un poco de soldadura. (Si nunca has soldadas antes, este es un gran lugar para comenzar! Los puntos de soldadura son trabajos fáciles, a través del agujero.)

Sobre el Breakout
Para utilizar un duende eléctrico, se requieren dos piezas de hardware : la tarjeta de imp y IMPEE . Un IMPEE es la pieza de hardware que se encuentra el imp . Aparte de tener una toma de corriente estándar SD para la imp a deslizarse hacia el IMPEE también tiene que proveer de energía a la imp, y hacer algo con los pernos de la imp E / S . Nuestro IMPEE para este tutorial es tan simple como parece … un tablero del desbloqueo .
Vista superior / inferior de imp ruptura
Superior e inferior vistas a la ruptura imp .
El diablillo de arranque proporciona el mínimo que debería ser necesario agregar un imp eléctrica para su proyecto. Hay una toma de SD, un regulador de voltaje de bajada , y cada pin I / O del diablillo se rompe a una cabecera de 0.1 ” a espacio .
Encendido del Breakout
Una gran parte de los circuitos de la placa Breakout es un TPS62172 3.3V regulador reductor (y el inductor / condensadores lo apoyan ) . Este regulador permite voltajes de entrada en cualquier lugar entre 3,3 V y 17 V ( tensión en el extremo superior del rango que pueden producir algo de calor ) . Puede soportar hasta 500mA de corriente continua.
Hay tres entradas de alimentación de la placa , todos los cuales , se introducen en el regulador de 3.3V a bordo :
Cabecera ” VIN ” – Esta norma “header 0,1 alimenta directamente en el regulador de 3.3V .
Entrada de la batería – Estos son los pines y las pastillas marcadas “+ ” y “- ” . La huella de los dos pernos a través de agujeros coincide con hasta un conector JST 2 pines de PTH , que se acopla con nuestras baterías LiPo ( o pilas AA ) . Debe ser seleccionado mediante el puente (ver abajo ) Esta entrada .
Conector USB mini- B – Esta entrada de alimentación debe alimentar a una fuente de 5V limpio en el regulador del tablero del desbloqueo . La tensión de alimentación USB puede venir de un cable mini- B conectado al ordenador oa un adaptador de pared USB. Debe ser seleccionado mediante el puente (ver abajo ) Esta entrada .
Cuando las entradas de alimentación están
Colocación del puente
Para utilizar la batería o entradas de alimentación USB , el puente debe estar configurado en el tablero. Para usar el puente , primero soldar un conector macho de 3 pines para los pernos del puente. A continuación, utilice un puente de 2 patas para abarcar desde el pin del medio , a cualquiera de las dos entradas que te gustaría usar.
Jumper ajustado en USB
En esta imagen, el puente está definido para aplicar la energía del USB de la ruptura imp . Un conector JST fue soldado a las clavijas de entrada de la batería, en caso de querer utilizar un LiPo para alimentar la placa .
Esquema del Breakout
Hay tres componentes principales en el tablero del desbloqueo : un regulador TPS62172 reductor (U2 ), el imp toma de corriente ( U1 ) , y el chip de autenticación ATSHA204 (U3 ) .
Electricidad Imp Breakout Esquema
eléctrica imp Breakout Esquema . Haga clic en la imagen para obtener una imagen más grande, o haga clic aquí para ver el esquema en formato PDF .
Pinout
Todos los pines GPIO del imp se rompen a la cabecera de 0.1 ” a espacio , junto con unos pocos pines de alimentación relacionados :
GND – Pin común para la tensión de entrada.
VIN – Fuente de tensión de entrada alimenta al regulador.
PIN1 – imp pin 1 (DAC , UART1289 CTS , UART12 TX, I2C12 SCL, SPI189 SCLK )
PIN2 – imp pin 2 ( UART1289 RTS, UART12 RX , I2C12 SDA , SPI257 MISO )
Pin5 – imp pin 5 (DAC , UART57 TX, SPI257 SCLK )
PIN7 – imp pin 7 ( UART57 RX , SPI257 MOSI )
PIN8 – imp pin 8 ( UART1289 TX, I2C89 SCL, SPI189 MOSI )
PIN9 – imp pin 9 ( UART1289 RX ​​, I2C89 SDA , SPI189 MISO )
CD – Tarjeta de detectar. Esta señal se conecta a GND cada vez que una tarjeta se inserta en la toma de corriente .
3V3 – Salida 3.3V del regulador .
GND – Masa común .
chip ID
De hecho, hay una pieza más de hardware requerida del IMPEE : un chip de identificación , lo que proporciona a cada IMPEE con un código de identificación único . Esto significa que cada IMPEE encuentra debe incluir un chip de autentificación Atmel ATSHA204 . El IMP interfaz automáticamente con este chip cada vez que se arranca , por lo que pueden identificar qué IMPEE está conectado a . Esta realidad resulta ser bastante impresionante , ya que el programa que se ejecuta un diablillo depende de lo IMPEE está enchufado a . Si tuvieras dos impees en su casa – por ejemplo el control de un sistema de riego y otro el control de una máquina de café – uno, solo imp iría en dos programas diferentes en función de la máquina se conecta a .
Usted no debe nunca tener que quejarse con el chip de identificación. De hecho , usted puede olvidarse que jamás dijo nada acerca de la ATSHA204 !
BlinkUp
Códigos de parpadeo
El duende tiene una red interna / LED verde, que se utiliza para decirle al mundo lo que el estado es actualmente pulg Si usted acaba de instalar en la imp , y no han contado cómo en su red WiFi , debe ser naranja parpadea (rojo / verde al mismo tiempo) . Aquí está el resto de los códigos a tener en cuenta :
códigos intermitentes imp (del dev wiki imp)
Color Velocidad de imp Estado
Naranja 1 Hz No hay configuración WiFi
Pulso Verde Soltero recibió con éxito la configuración a través Blinkup .
Red Triple -pulse Error al recibir la configuración a través Blinkup .
Red 1 Hz se intenta conectar a Wi-Fi .
Rojo, naranja , Off 1 Hz dirección IP Conseguir (via DHCP) .
Orange, Red , Off 1 Hz Got dirección IP , la conexión con el servidor.
Verde 0,5 Hz conectado a la nube ( se apaga después de 60 segundos).
Red 2 Hz Conexión perdida , tratando de volver a conectar.
Ninguno funcionamiento normal
Vamos a hacer que el parpadeo del LED verde! Es hora de enviar un BlinkUp .
BlinkUp
Para obtener su imp conectado a la red Wi-Fi , así como los servidores de imp en línea, usted tiene que pasar por el proceso imp eléctrica requiere la puesta en marcha . Hay un gran reportaje sobre el proceso de puesta en marcha a través de la página wiki de imp eléctrica. Aquí está el quid de la cuestión , así como algunos consejos .
Antes de empezar, tendrá que hacer una cuenta Imp eléctrico, visitando la página de agenda.
Actualización de la imp con sus credenciales de Wi-Fi es un proceso único . La tarjeta imp tiene incorporado un sensor de luz , mirando por la pequeña ventana en el corto, borde plano de la imp . El sensor de luz se puede utilizar para procesar pequeñas cantidades de datos con precisión modulados en forma de una luz intermitente .
El borde de la tarjeta imp en la ventana del sensor de luz es
Para generar esta luz parpadea , necesita la electricidad imp aplicación instalada en su teléfono inteligente ( iOS o Android ) . Ir descargar esa aplicación si no lo ha hecho !
Siga las instrucciones de la aplicación, y se preparan para actualizar el duende con su red WiFi. Luego , cuando todos los ajustes parecen correctos pulse el botón Enviar BlinkUp . A continuación, coloque rápidamente la pantalla del teléfono lo más cerca posible del sensor de la luz de la imp posible.
BlinkUp en acción
Evitar los ojos! A menos que disfrute mirando brillante, luces estroboscópicas blancas.
Si todo va bien , debería haber muy poco blip verde del LED, seguido por unos pocos parpadeos de color rojo y naranja. Cuando el duende verde comienza a parpadear una vez por segundo , ya sabes que tienes tu imp encargó yay!
Solución de problemas
Si usted es imp aún no se encuentra en la fase verde blinky , utilice los códigos intermitentes LED para averiguar dónde está fallando . Estos son algunos pasos recomendados , dependiendo del punto de falla :
Conectar al servidor (naranja, rojo, desconectada ) – Asegúrese de que no hay ningún cortafuegos que bloquee el camino del imp a Internet (y asegurarse de que su red Wi-Fi con conexión a Internet en el primer lugar ) .
Obtener la dirección IP a través de DHCP (rojo, naranja, off) – Compruebe su contraseña WiFi.
El intento de conexión WiFI ( rojo) – Compruebe su nombre de red WiFi ( SSID ) .
Si todo lo anterior se establecen correctamente , intente enviar el BlinkUp una vez más. Hemos encontrado que ayuda a cerrar todas las demás aplicaciones, o incluso tratar de restablecer el teléfono si sigue fallando .
También puede tratar de apagar las luces de la habitación por un momento. Pellizcar la imp, justo por encima y por debajo de la ventana del sensor de luz puede ayudar también.

Licencia Creative Commons
solo-electronicos por Carlos Rodriguez Navarro se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported.