Cómo hacer un control remoto inteligente web-títere por hacking Twitter, Google, Skype, Arduino y procesamiento! (5 / 16 paso)

Paso 4: Cómo Twitr_janus habla utilizando texto-a-voz (en proceso)

Hablando de datos abiertos

Un punto esencial que estaba tratando de probar con Twitr_janus era si podría conseguir una marioneta para hablar de datos abiertos en la web. Inicialmente se pretendía esto sería tweets de la cuenta en Twitter y esto fue cómo el Twitr_janus consiguió su nombre.

Twitr_janus se ha hecho correctamente hablar tweets, despojados de la API de Twitter con el proceso.

Hacer Twitr_janus hablar tweets se realizó sin utilizar las teclas de la API y la cadena de API, en lugar de hacer referencia a los campos correctamente. Esto fue evitar tener que registrarse como desarrollador de Twitter, etc.. Este método crudo tenía algunas limitaciones, por ejemplo tweets con caracteres de control, confundidos el análisis scripts que truncaban cuando siendo decodificados los mensajes.

El modelo de análisis trabajó mucho mejor con hojas de cálculo de Google, donde los datos en bruto pueden ser añadidos con datos de parada extra para ayudar en el proceso de análisis mediante expresiones en los campos de la hoja de cálculo. Datos de hoja de cálculo de Google no era solamente fácil de usar para la voz, era posible utilizar fácilmente para el control del globo ocular. Porque el método de cálculo de Google es el más fácil y más versátil de los dos enfoques, esto es lo que se describe a continuación.

Cómo se envían datos, codificada y descodificada, paso a paso

Ayuda a pensar en el flujo de datos...

Antes de comenzar en esto me pareció útil a garabatear hacia abajo un diagrama de flujo para tener una idea de los bloques de construcción necesarios. La boca y TTS representan la función de conversión texto a voz.

Esto no es un dibujo técnico!

Parte 1 - introducir datos en la hoja de cálculo de Google

Había tres pedazos de datos que necesitan contáctese con spreadsheed, para ser decodificada por procesamiento. Estos fueron los eyeballUpDown_stop de dos variables (columnas F) y eyeballLeftRight_stop (columna G) que se codifican datos de posicionamiento. Más adelante una vez decodificada serviría para servos de accionamiento con un Arduino conectado a la cabeza de la marioneta. La tercera pieza de datos era text_stop, que es lo que iba a ser procesados en el proceso para crear el texto a voz.

En la versión final fueron enviados sólo dos piezas de datos. Los datos del discurso y un valor de datos solo globo del ojo. Esto puede causar cierta confusión al interpretar el código! (eyeballUpDown fue utilizado, aunque no nombre),

Una variable de posición del globo ocular solo se podría utilizar en vez de dos porque los datos se envían simplemente representaron uno de 25 posiciones. Aunque dos valores de control son necesarios por el Arduino a la posición de los globos oculares (uno para el servo de arriba/abajo, para el servo izquierdo/derecho) la única variable enviada fue utilizada para acceder a los correspondientes pares de valores, almacenados en una matriz en el sketch de Arduino.

En las células, se puede ver que los datos ha sido precedidos por el carácter ¬. Esto se agrega que cualquier datos se ingresa manualmente utilizando una expresión de células de concatonating. Se utiliza como un carácter de parada para delimitar las secuencias de datos más adelante. Estos personajes aparecerán en el feed RSS y utiliza el script de procesamiento donde se detiene un dato y el siguiente comienza. (delimitación de carácter de control)

Inicialmente, fue introducido manualmente datos en los campos en la hoja de cálculo, como a continuación. No es lo ideal, como usted debe saber los valores de la posición exacta para enviar, que es difícil de recordar y fácil de estropear...

Para evitar introducir manualmente datos en la hoja de cálculo, se utilizó la forma incorporada de Google. Esto está disponible para cualquier Google hoja de cálculo fue utilizada.


Que se ve así...

Sin embargo, la forma estándar de Google todavía necesita el numérico de globo ocular posicionamiento valores indicarán exactamente, por lo que necesita ser modificado.

Para crear una forma más útil con fácil control de valores predefinidos para las variables de globo ocular básico html del formulario fue transferido a una página web (un widget de html en una página de NetVibes), donde podría ser bonitas un poco.

La forma en Netvibes como parecía al operador de la marioneta

Las entradas de texto libre fueron intercambiadas para entradas de botón de radio con valores preestablecidos y texto legible de la posición correspondiente.

Lo principal era usar los nombres originales de Google para que las opciones de datos ser despedidas en la misma celda en la hoja de cálculo cuando se presentó la nueva forma

Puede verlo en la vista html del formulario a continuación. Todas las opciones siguen el mismo patrón que a continuación

  • XXX es un valor de control que se envía datos que corresponde a la posición del globo ocular física "positionxxx"
  • El valor de xxx es realmente un número de referencia para el valor dentro de un elemento específico de un array (hay 25 diferentes posiciones preestablecidas, por lo tanto, hay un botón para cada valor entero entre 1 y 25, utilizándose para referenc los valores del array entre matriz [1] y arsenal [25]
  • positionxxx es una simple Descripción inglés para mostrar al operador, para que puedan escoger un globo blanco
  • "entry.1.single" es el nombre de campo de Google que debe mantenerse la misma, por lo que lo pone el xxx de valor en la celda correcta en la hoja de cálculo. Este es el mismo para cada botón de radio, porque los valores son efectivamente elección de valores para poner en ese una campo

Por volver a trabajar la forma, se creó una interfaz más visual, por lo que era más fácil ver dónde se moverían los globos oculares, mientras que todavía permite a voz texto a introducir.

La otra línea que es importante que también procede de la original Google formulario html es este:


Es la forma de presentar la acción y debe mantenerse el mismo.

Esta técnica del chuleo una forma simple de Google tiene algunas ventajas:

  • Permite otras posibilidades como la adición de reguladores continuos mediante la característica de HTML 5 < tipo de entrada = "range" / >
  • Usted puede crear un método de inyectar datos en la hoja de cálculo sin ningún tipo de API key. Sólo necesita saber cómo modificar los valores y controles de formulario html.
  • Usted puede introducir los datos en un campo, pero sacar los datos de otro campo que utiliza los datos de entrada, pero modificado de alguna manera ampliar su versatilidad, como sea necesario

La desventaja es

  • en enviar el formulario, Google le llevará volver a la forma original no su forma pimped, por lo que necesitará hacer una actualización de la página después de cada presentación para recargar forma

La forma en Netvibes - código fuente html (imagen de abajo)

Parte 2 - sacar los datos en el otro extremo de la web

El método de entrada de datos descrito anteriormente representa el primer eslabón en el algo basura datos diagrama de flujo que se muestra en la parte superior de la página (aunque muestra Twitter como fuente de datos, no de Google). El paso de entrada de datos ocurre en un dispositivo de control utilizado por el operador desde la Twitr_janus títere con cabeza. Es, en efecto, la interfaz de control primario.

En el otro extremo de la web, cabeza de Twitr_janus fue conectada a un equipo independiente que ejecuta su bosquejo del cerebro de procesamiento. Esto fue votación unas datos RSS alimentación de la hoja de cálculo publicada. Para conseguir este avance, la hoja de cálculo tuvo que ser publicado. Cuando se publica una hoja de cálculo de Google, se da un feed RSS público, con un enlace dedicado. Esto se utiliza más adelante en el script de procesamiento para analizar los datos. El aspecto de la Url de un RSS Google se verá así...

Y el resultado se ve así...

En la salida de la RSS, la parada de carácter ¬ es claramente visible (segundo de la última línea, antes de los nombres de campos: "eyeballupdownstop", "eyeballleftrightstop" y "textstop" y los correspondientes valores de 13, 22 y "Hola mi nombre es..."

El bosquejo de procesamiento que es cerebro de Twitr_janus es la interrogación esta URL varias veces y utiliza el carácter ¬ para tira los datos...

Aquí está el código que es la hoja de cálculo de google feed para extraer los datos de control y pasar en una matriz de análisis. Busca el carácter ¬ primero, luego el < carácter
>>>
[] String texty = loadStrings(gssApiString);
String [] texty2 = split (texty [0], '¬'); sacar datos con el carácter de parada

String [] texty3 = split (texty2 [4], ' <'); deshacerse de arrastre texto después <
gssText = texty3 [0];
gssTextLength = gssText.length();

<<<

Luego esto se comprueba proceso contra los últimos datos recibidos.  Si es diferente, ha recibido una nueva instrucción.

Artículos Relacionados

Cómo hacer un CONTROL REMOTO UNIVERSAL DIY

Cómo hacer un CONTROL REMOTO UNIVERSAL DIY

https://www.youtube.com/watch?v=HUv4y56Uwzs&feature=youtu.bePaso 1: Hacer un CONTROL REMOTO UNIVERSAL bricolaje necesita!!!!!! En el video de hoy voy a compartir una idea genial sobre como hacer un control remoto universal DIY.Para hacer un DIY de co
Hacer propio control remoto personalizado para su proyecto

Hacer propio control remoto personalizado para su proyecto

Hice un proyecto que utiliza un arduino y un IR eliminar biblioteca para controlar un par de cosas.Tan en este instructable le muestro cómo puede reutilizar un control remoto para su propósito en.Y no necesita algo de fantasía para hacer un control r
Cómo hacer un control remoto Stunt coche control en casa

Cómo hacer un control remoto Stunt coche control en casa

En este Instructable, aprenderemos a hacer un artilugio increíble que cada individuo deseaba y había también por lo menos intentado una vez hacer durante su infancia. No es más que un coche de control remoto y adivina qué, en este instructable, no va
Control remoto inteligente de luces

Control remoto inteligente de luces

El concepto de luces inteligentes es concepto muy innovador, que satisface nuestras necesidades con el consumo de energía mínimo.Con este proyecto puede hacer una luz que puede ser dado vuelta encendido usando un Control remoto. Aparte de encender y
RGB control remoto (pinguino + web + linksys)

RGB control remoto (pinguino + web + linksys)

este proyecto tiene varios usos, básicamente es una forma de controlar un grupo de LED RGB (tricolores con masa común) vía una página web para seleccionar que color queremos mostrar.Puede ser una forma de armonizar una habitación, cambiar el color de
Android Smart teléfono Bluetooth Control remoto inteligente Smart auto 51 MCU (código STC89C52)

Android Smart teléfono Bluetooth Control remoto inteligente Smart auto 51 MCU (código STC89C52)

al principio del año nuevo, Robot inteligente coche aficionados y estudiantes (como todos) sobre la ingeniería, ciencia y tecnología están ocupados con la preparación para las competiciones de robots ahora.Es el gran momento para mostrar al mundo su
Cómo hacer tu control remoto ATV

Cómo hacer tu control remoto ATV

lo siento por cualquier ortografía o gramática a volver a editar más tarde. Quería conseguir este.vídeos del robot se pueden encontrar en: http://www.phantasm1.com/videos.htmlEcha un vistazo a ver Ladibug en acción.Mi primer paso fue quitar todas las
Conceptos básicos de convertir su vehículo de control remoto en un sistema autónomo (abejón) utilizando un Arduino

Conceptos básicos de convertir su vehículo de control remoto en un sistema autónomo (abejón) utilizando un Arduino

comencé este proyecto con el objetivo de convertir barato mi RC helicóptero en algo de un UAV o al menos para algunos sensores para reducir las colisiones y otros "haps mal."Ahora por desgracia al principio del proyecto calcularon mal las capaci
Hacer una Web conectada Robot (por unos $500) (utilizando un Arduino y un Netbook)

Hacer una Web conectada Robot (por unos $500) (utilizando un Arduino y un Netbook)

este Instructable le mostrará cómo construir tu propio Robot conectado de Web (usando un microcontrolador Arduino y Asus eee pc).¿Por qué quieres un Robot conectado Web? Para jugar con, por supuesto. Conduce tu robot de en toda la habitación o en tod
Cámara de Control remoto para hacer primavera 2015

Cámara de Control remoto para hacer primavera 2015

Este instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com). Este proyecto incluye los pasos necesarios para crear la cámara de control remota.Paso 1: Paso 1: el si
Control remoto de Arduino DIY y Lego RC vehículo!!!!

Control remoto de Arduino DIY y Lego RC vehículo!!!!

Actualizar (29/08/13): lectores gracias por sus palabras de entusiasmo y tipo con respecto a este proyecto! Ha sido un viaje tremendo desde que comencé este proyecto en marzo, pero estoy muy contento con el producto resultante y el entusiasmo con que
Frambuesa Pi + WebCam + control remoto controlador de inicio

Frambuesa Pi + WebCam + control remoto controlador de inicio

WebCam + casa control remoto IRHarware:1. HomeWebCam2. IR Remote Control3. frambuesa Pi¿Cómo hacer?Ver arriba fotos¿Cómo funciona?Utilice su inicio WemCam Software control y vista.Cuando el puntero láser punto a dispositivo, control remoto para encen
Estación de Control remoto IR para Android - baje la TV

Estación de Control remoto IR para Android - baje la TV

Nota: esta guía también puede encontrarse en TECHBITAR.COMACTUALIZACIÓN28 de noviembre de 2013: Aparece en prototipos peligroso http://goo.gl/FjwNoQINTRODUCCIÓNEn esta guía voy a explicar la elaboración y operación de un circuito simple de basados en
Control remoto de Arduino (arco)

Control remoto de Arduino (arco)

En este proyecto, vamos a hacer un Control remoto de Arduino (ARC) que descifra cualquier control remoto de infrarrojos (IR) en hexadecimal o en cualquier otro formato y utilizarlo para encender LED ON/OFF!Es un proyecto bastante fácil y puede hacers