Control remoto de webcam usando Arduino, SensorMonkey, jQuery y Justin.tv (6 / 7 paso)

Paso 6: Control remoto Webcam con jQuery UI

En la parte final de este tutorial, voy a combinar las secuencias en directo de SensorMonkey y Justin.tv para crear una página web sencilla que puede usarse para controlar remotamente mi webcam. He descargado la última biblioteca jQuery UI (1.8.21 en el momento de la escritura) y lo colocó en el mismo directorio que la página web (junto con el CSS asociado y archivos de imagen de mi tema elegido - ligereza UI - ver imagen). Usted tendrá que editar el código siguiente y guárdelo como 'Webcam.html':

(¡ Importante! Debe reemplazar YOUR_NAMESPACE y YOUR_PRIVATE_KEY en el código de abajo con los asignados a usted cuando inicie sesión en SensorMonkey. Usted también tendrá que reemplazar YOUR_CHANNEL con el nombre de tu canal de Justin.tv)

--------------------------------------------------------------------------------
<! Html DOCTYPE >
< html >
< head >
< title > remoto controlado webcam usando Arduino, SensorMonkey, jQuery y Justin.tv < / title >
< link rel = "stylesheet" type = "text/css" href = "jquery-ui-1.8.21.custom.css" / >
< estilo tipo = "text/css" >
{cuerpo}
padding: 10px;
}
#container {}
margen inferior: 20px;
}
#webcam {}
Float: left;
altura: 240px;
margen derecha: 20px;
ancho: 320px;
}
{} #tilt-slider
Float: left;
altura: 240px;
margen derecha: 10px;
}
{} #tilt-pantalla
altura: 240px;
line-height: 240px;
}
{} #pan-slider
margen-bottom: 10px;
ancho: 320px;
}
visualización de panorámica # {}
texto-alinee: Centro;
ancho: 320px;
}
{.rotation}
color: #F6931F;
font-weight: bold;
}
< / estilo >
< script tipo = "texto/javascript" src = «jquery-1.7.2.min.js» >< / script >
< script tipo = "texto/javascript" src = «jquery-ui-1.8.21.custom.min.js» >< / script >
< script tipo = "texto/javascript" src = "https://sensormonkey.eeng.nuim.ie/socket.io/socket.io.js" >< / script >
< script tipo = "texto/javascript" src = "https://sensormonkey.eeng.nuim.ie/js/client.min.js" >< / script >
< /HEAD >
< cuerpo >
< div id = "contenedor" >
< div id = "webcam" >
< tipo de objeto = "application/x-shockwave-flash" data = "http://www.justin.tv/widgets/live_embed_player.swf?channel=YOUR_CHANNEL"id = "live_embed_player_flash" height = "240" width = "320" bgcolor = "#000000" >
< nombre de param = "allowFullScreen" value = "true" / >
< nombre de param = "allowScriptAccess" value = "always" / >
< nombre de param = "allowNetworking" valor = "all" / >
< nombre de param = "movie" value = "http://www.justin.tv/widgets/live_embed_player.swf" / >
< nombre de param = "flashvars" value = "nombre de host = www.justin.tv & channel =YOUR_CHANNEL& auto_play = true & start_volume = 25" / >
< / objeto >
< / div >
< div id = "inclinación-slider" >< / div >
< div id = "indicador de inclinación" > inclinación: < span clase = "rotación" > 96 < / span >< / div >
< / div >
< div id = "pan-slider" >< / div >
< div id = "visualización de panorámica" > Pan: < span clase = "rotación" > 96 < / span >< / div >
< script tipo = "texto/javascript" >
Convierte un entero (o una representación de una cadena) a un carácter hexadecimal (0-9A-F).
función toHex (i) {}
volver a parseInt (i) .toString (16) .toUpperCase();
}

$(function() {}
Crear slider de inclinación.
$("#tilt-slider") .slider ({}
gama: "min",
orientación: "vertical",
valor: 8,
min: 0,
máximo: 15,
paso: 1,
diapositiva: función (event, ui) {}
Actualización de interfaz de usuario.
$("#tilt-pantalla .rotation") .html (180 * ui.value / 15);

Cálculo combinado ángulos de rotación pan/tilt y enviar al editor de flujo
como un par de caracteres hexadecimales. Pan es alta 4 bits; la inclinación es baja 4 bits. Por
prefijo con '#', decimos SensorMonkey interpretar como datos binarios.
pan de var = toHex ($("#pan-slider") .slider ("valor"));
inclinación var = toHex (ui.value);
client.deliverToStreamPublisher ("/ privado/mi Webcam", "#" + pan + inclinación);
}
} );

Crear slider de pan.
$("#pan-slider") .slider ({}
gama: "min",
valor: 8,
min: 0,
máximo: 15,
paso: 1,
diapositiva: función (event, ui) {}
Actualización de interfaz de usuario.
$("visualización de panorámica # .rotation") .html (180 * ui.value / 15);

Cálculo combinado ángulos de rotación pan/tilt y enviar al editor de flujo
como un par de caracteres hexadecimales. Pan es alta 4 bits; la inclinación es baja 4 bits. Por
prefijo con '#', decimos SensorMonkey interpretar como datos binarios.
pan de var = toHex (ui.value);
inclinación var = toHex ($("#tilt-slider") .slider ("valor"));
client.deliverToStreamPublisher ("/ privado/mi Webcam", "#" + pan + inclinación);
}
} );

// 1. Conectarse a SensorMonkey
// 2. Únete a espacio de nombres
// 3. Suscribirse al flujo de

var cliente = new SensorMonkey.Client ("https://sensormonkey.eeng.nuim.ie");
Client.on ("connect", function() {}
client.joinNamespace ("YOUR_NAMESPACE", "YOUR_PRIVATE_KEY", función (e) {}
Si (e) {}
ALERT ("error a espacio de nombres:" + e);
retorno;
}

client.subscribeToStream ("/ privado/mi Webcam", function (e) {}
Si (e) {}
ALERT ("error al suscribirse a Arroyo:" + e);
retorno;
}
} );
} );

Client.on ("desconexión", function() {}
ALERT ("cliente se desconectó!");
} );
} );
} );
< /script >
< /body >
< / html >
--------------------------------------------------------------------------------

El código dentro de < objeto >< / objeto > etiquetas se utiliza para la transmisión en vivo Justin.tv en la Página Web. Usted tendrá que reemplazar cada instancia de YOUR_CHANNEL en el código entre las etiquetas con el nombre de tu canal. La corriente no mostrar en dispositivos iOS (iPhone, iPad etc) pero funciona en smartphones Android y tabletas, como se muestra en las fotos.

Yo uso jQuery UI para crear un deslizador de bandeja horizontal y un inclinación vertical deslizante para controlar la orientación de la cámara web. Cuando uno de los deslizadores se mueve a una nueva posición, el código calcula una rotación combinada de pan/tilt, codifica como un par de caracteres hexadecimales (como se describe en el paso 2 y paso 4) y lo envía a través de SensorMonkey a Arduino controlar los servos.

Finalmente, el flujo de trabajo para la conexión a SensorMonkey es muy sencillo (no olvide de reemplazar YOUR_NAMESPACE y YOUR_PRIVATE_KEY en el código anterior):

-Cliente importación
-Conectar a SensorMonkey
-Unir el espacio de nombres
-Suscribirse al flujo de

Una vez suscrito, simplemente puedo llamar client.deliverToStreamPublisher() para enviar los datos directamente a la Arduino a través del servicio de SensorMonkey.

Eso es todo! Ahora puedo controlar remotamente mi PC en tiempo real usando una combinación de Arduino, SensorMonkey, jQuery y Justin.tv. Puedo cargar la página web en un servidor web público y accede desde cualquier lugar en cualquier dispositivo con un navegador compatible con HTML5/Flash. Ver el siguiente paso para sugerencias sobre la mejora de la aplicación descrita hasta el momento.

Artículos Relacionados

Guante de Control remoto de TV usando Arduino, proyecto sumativa TEJ3

Guante de Control remoto de TV usando Arduino, proyecto sumativa TEJ3

Hoy vamos a aprender cómo crear un guante de control remoto para su TV utilizando un Arduino. Hice un guante que sólo utiliza tres dedos, para que todos los cinco que necesitarás flex sensor (5), resistencia (5), cables puente macho (7) y los cables
Controlar el acceso a su cerradura usando Arduino, SensorMonkey y RF módulo

Controlar el acceso a su cerradura usando Arduino, SensorMonkey y RF módulo

Control de acceso a su puerta desde cualquier lugar del planeta mediante su teléfono, ficha o PC.Esta configuración tiene dos segmentos principales, uno tiene la interfaz gráfica utilizando jQuery, SensorMonkey, Freeduino (Arduino compatible desarrol
Conducir a una página web en tiempo real usando Arduino, SensorMonkey y Processing.js

Conducir a una página web en tiempo real usando Arduino, SensorMonkey y Processing.js

visualización remota de datos en tiempo real.Este tutorial describe detalladamente cómo utilizar el servicio gratuito de SensorMonkey para datos de los sensores en tiempo real push desde un Arduino a una página web para la visualización con Processin
Siéntase como un control remoto de TV controlados Arduino Robot!

Siéntase como un control remoto de TV controlados Arduino Robot!

Hola chicos.Abhay y Akshay aquí!Hoy que vamos a hacer una televisión remota controlada por Robot que no sólo funciona como un encanto pero también puede actualizar editando el código y utilizando unos botones más en el control remoto de TV. También p
Confiable, seguro, control remoto de SMS personalizables (Arduino/pfodApp) - No codificación requerida

Confiable, seguro, control remoto de SMS personalizables (Arduino/pfodApp) - No codificación requerida

Actualización: 19 de mayo de 2015: uso del biblioteca pfodParser Versión 2.5 o superior. Corrige un problema reportado de no permitir tiempo suficiente para que el escudo para conectarse a la red después de haber encendido arribaIntroducciónCómo es p
Control remoto del ordenador con Arduino

Control remoto del ordenador con Arduino

esta semana utilicé un Teensyduino actuar como traductor entre un control remoto infrarrojo y mi ordenador.  El Teensy Lee las señales infrarrojas del control remoto y luego emula un teclado USB.  Lo estoy usando para el control de VLC Media Player c
Control remoto de Tv Android/Arduino

Control remoto de Tv Android/Arduino

Paso 1: Lista -Arduino-Modul Bluetooth (HC-05/06)-IR recever (38kHz)-IR led (puede utilizar un control remoto viejo)-Resistencia-Teléfono androidPaso 2: La aplicación para Android http://AI2.appinventor.MIT.edu/En la app invetor 2 crear su aplicación
Cómo hacer un control de voz, control de dirección, control remoto, robot Android y arduino, (3 en uno)

Cómo hacer un control de voz, control de dirección, control remoto, robot Android y arduino, (3 en uno)

Esta es una versión simplificada de cualquier otro robot de control de voz, No compleja codificación fácil codificación con algoritmo fácil de entender.La aplicación está desarrollada de tal manera que convertir el comando de voz a texto y el texto d
Autónomo Control de RC coche usando Arduino

Autónomo Control de RC coche usando Arduino

este instructable muestra cómo modificar un coche RC barato por lo que puede ser controlado por un microcontrolador incorporado.  Usted puede programar el controlador para hacer cualquier número de patrones y acrobacias de conducción del coche.  Una
CONTROL REMOTO cualquier aparatos usando TSOP

CONTROL REMOTO cualquier aparatos usando TSOP

sensor de infrarrojos de TSOP usando usted puede controlar cualquier electrodomésticos (techo del ventilador, heladera, etc...)con cualquier mando a distancia.Paso 1: Componentes necesitan ° • TSOP (cualquier tipo)° • condensador 10 uf x 1• resistenc
CONTROL de 8 LED usando ARDUINO:-

CONTROL de 8 LED usando ARDUINO:-

Espero que tengas tienen práctica mi consiguiendo comenzado con ARDUINO #1 que mostró el control de LED con Arduino.In este instructables te enseñaré cómo controlar 8 Led simultáneamente. así que ¿estás listo para construir un colorido instructables?
Control remoto 4 relé con Arduino a través de WIFI (touchOSC + proceso)

Control remoto 4 relé con Arduino a través de WIFI (touchOSC + proceso)

Hola, no soy inglés lo hablando entienda por favor mis errores.Mina fue sólo una idea, era curioso, yo busqué en Google algunas horas pero allí eran un problema: :) no encontré un guión previamente elaboradoEmpecé desde un script en una página web, p
Basados en ARDUINO robot de control remoto IR

Basados en ARDUINO robot de control remoto IR

Hola todo el mundo. Este mi nuevo robot de control remoto proyecto IR utilizando arduino. Se trata de un robot de simple diseño, que usted puede construir fácilmente.Paso 1: requisitos:Requerimientos del proyecto:Arduino uno Tsop1738 (receptor ir)H p
Controles de lectura/emular con Arduino y frambuesa Pi

Controles de lectura/emular con Arduino y frambuesa Pi

Mandos a distancia están en todas partes. Son la interfaz a su televisores, sistemas de música y qué no. Probablemente tienes unos cuantos de repuesto ahí, devastada en la desaparición de su mejor. Animarlos y les ponga en uso! (Skynet aprueba...)Aqu