Paso 4: El Hardware y Software
Hardware
Se cansó de mantener con el conjunto estándar de componentes de Grove. Esto redujo la variabilidad en la programación y redujo el nivel de esfuerzo de conseguir algo conectado bastante rápidamente. Los componentes electrónicos consistió en:
- Edison de Intel
- Placa de Arduino breakout
- Protector base Grove
- Botones de Grove
- Luz de fondo LCD RGB Grove
- Conductor del motor de Grove I2C
- Motor paso a paso
- LED
- Conductor de EL Grove
El base escudo conectar todo trivial. Hay muy poco que ver con el hardware. Mayoría de los trabajos fue en el software tratando de conseguir cosas para hablar.
Software
Yo había usado Node.js y Javascript ya que ambos permiten la iteración de código muy rápido, que había un montón de. Además, sé que Javascript y Node.js lo programación pude poner la mayor parte de mi energía en el comportamiento. También se utiliza promesas. Esto ayudado con la naturaleza asíncrona de algunos de los componentes. Por supuesto, utilicé MRAA y UPM. Y aunque realmente quería usar Johnny cinco o Cylon.js, estuve lejos de ellos porque no pensaba que tenía tiempo suficiente para aprenderlas. Por último, Pushbullet fue utilizado como el autobús de la notificación.
Últimos cambios aquí: GitHub: pensando de usted
Node.js
Node.js es muy sencillo de usar y entender. Inicio, ejecutar algún código de inicio y luego crear un lazo duradero, similar a la bomba de mensaje de Windows y listo. De aquí encendido hacia fuera el sistema responde a los eventos.
Promesas
Usé una implementación rápida y eficiente de promesas llamado Bluebird. El código parecía un poco menos desordenado que si había usado el idioma estándar de devolución de llamada. Edison no parece tener problemas con esta biblioteca, aunque no hice nada realmente complicado o esotérico. Yo sólo lo básico y sólo trabajó. La razón principal por qué usé promesas es porque necesitaba algo así como la función delay() de Arduino. Retrasos particularmente ayudaron con decoloración donde para ver el cambio que tiene un retraso entre el cambio del brillo del LED.
Pushbullet
Pushbullet es un sistema donde notificaciones al dispositivo pueden ser transmitidas a tus otros dispositivos o computadoras. Proporcionan una API que puede, entre otras capacidades, dispositivo de una persona comunicar a dispositivo o computadora de otra persona simplemente consultando su correo electrónico a través de una llamada del resto. Mediante este sistema, cada persona tendrá su propia clave de API para poder enviar y recibir notificaciones. Por último, hay un paquete de Node.js que proporciona una interfaz de programación fácil de usar a Pushbullet.
Componentes
Pantalla LCD
UPM I2C LCD proporciona un simple utilizar la clase para manejar la pantalla LCD. De forma predeterminada, la pantalla muestra la fecha y hora. Lo hace mostrando la fecha y hora una vez cada minuto a través de un método de intervalo. Cuando un mensaje de juguete viene él, se muestra en la pantalla LCD. Para llamar la atención que ha llegado un mensaje, el fondo al azar cambia de color cada pocos segundos.
Motor paso a paso
El conductor del motor Grove I2C controla el motor paso a paso. UPM ofrece grovemd, una clase fácil de usar para mover el motor adelante o fondo.
LED
El LED no es nada especial. Se conecta directamente a un pin PWM. Aunque puede usarse un resistor, opté por no para usar uno ya que es raramente completamente accionado. Cuando un mensaje llega, el LED se desvanecerá dentro y fuera. Se pone cerca del extremo alto sólo por una fracción de segundo.
Botones
Yo había variado éxito con los botones de Grove. De cinco, dos no. Parece que tienen un desplegable incorporado circuito. Era agradable. He utilizado estándar MRAA GPIO en vez de UPM Grove botón. Estos últimos no tienen un mecanismo de devolución de llamada ISR que trabajó en Javascript (al menos nunca funcionó para mí). Tenía la esperanza de que también hubiera confrontado el efecto rebote en la biblioteca GPIO. Para compensar, sólo utilicé un retraso que si hubo haga clic en eventos con el período de retardo, fueron ignoradas.
EL Panel del
EL es bastante fácil de trabajar. Con los paneles, puede cortar a formas sólo mientras está fluyendo bastante energía al panel. Todo lo que necesitaba solo un simple rectángulo.