Paso 20: Desarrollado algo un poco mejor
En respuesta a mi pregunta, sí yo puedo desarrollar algo mejor que una sesión de terminal para controlar la cacerola y la inclinación. No una porción entera mejor. ' Def un poco mejor y proporciona un ejemplo de lo que podría hacerse.
Descubrí Node.js un tiempo atrás y después de conseguir sobre el hecho de que se basa en Javascript (que hace una aplicación de servidor en Javascript después de todo) realmente decidí que me gusta. Un idioma para el cliente y el servidor y en el servidor puede ser realmente eficiente. Una advertencia. Está destinado a ser escrito en un modelo asincrónico que es cómo puede ser tan eficiente como puede ser para servir a gran número de usuarios. Puesto que mi demo es una aplicación monousuario... y que estaba siendo perezoso, tiene unas operaciones de sincronización < suspiro >. Si eres un purista de Node.js ahora por favor vuelta lejos!
Lo primero que tienes que hacer es instalar el nodo. Hay dos formas de hacer esto pero lo siguiente es fácil como explota un paquete que pone a disposición de Adafruit (artículo aquí):
- Curl - sLS https://apt.adafruit.com/add | sudo bash
- sudo apt-get install nodo
El primer comando agrega el catálogo de adafruit a su sistema y la segunda luego instala nodo de ese catálogo.
Una vez que tengas el nodo puede crear un directorio para la aplicación. Llamé a nodo de la mina. En ese directorio son dos pantilt.js de archivos que es el código de Node.js que toma entrada desde un navegador y ejecuta comandos del sistema operativo (cerdos) para controlar los servos y panttitl.html que es el código html para el lado de la web de nuestra aplicación. También hay un subdirectorio llamado a privado con ella tener un subdirectorio llamado imágenes. Imágenes es donde viven los iconitos de la visualización de la web. El código se adjunta a esta página.
Una última cosa que hacer. Desde el directorio de nodo es necesario ejecutar los siguientes comandos para instalar algunas cosas que hacen muy fácil trabajar con el lado de la web de las cosas:
- MNP instalar express
- MNP instalar analizador de cuerpo
Express es el marco que le da las herramientas para interactuar con la web y analizador de cuerpo hace justamente eso, analiza el cuerpo de un diálogo HTTP.
El nodo de comando "pantilt.js" inicia la aplicación. Tengo este funcionamiento en ".profile" junto con la puesta en marcha del movimiento en segundo plano.
Las fotos muestran lo que parece esta aplicación. El cuadro representa el campo visual de la webcam. Pulse en cualquier lugar dentro de la caja y la cámara web en punto será allí. Pulsando sobre una de las flechas causa la webcam a moverse en esa dirección por un incremento más pequeño o más grande.
Obviamente la siguiente iteración de esta aplicación sería combinar salida de streaming y el control de la cámara web en una página pero tengo el tiempo ahora mismo.