Anuncios

Llega la tecnología a la cocina


No hace mucho el centro de los avances en la tecnología de consumo no era  nuestro salón ,  sino precisamente todos los electrodomésticos que llenaban nuestras cocinas, como en su momento eran las  neveras, las cocinas, hornos de microondas, cafeteras, robots  de cocina ,y así, un largo  etcétera de gadgets

.Smart Phone

En efecto actualmente  nos puede dar  sensación de que ha habido muy pocos avances  en esos dispositivos  de serie  blanca , pues la electrónica de consumo parece  avanzar en otras direcciones , pero como siempre, el tiempo o la llamada “madurez tecnológica” vuelve  a colocar la  innovación donde le corresponde,  y lo cierto es que ya se ven signos de que nuestra cocina está a punto de ser   mejorada  por una tecnología  que  se centrará  en el  telecontrol y la monitorización gracias a la conectividad   .

Veamos algunos gadgets  curiosos  que en el momento actual son  ya una realidad:

Belkin Crock-Pot WeMo Slow Cooker

De le mano del famoso fabricante Belkin  y por un precio muy asequible  nos encontramos  con  una de las   propuestas tecnológica  más  interesantes que podemos ver en este campo

Con esta olla  casi por el precio de una oya programable podemos ademas adquirir una nueva olla  que ademas  nos va permite controlar  verdaderamente a distancia como se cocina nuestra comida desde cualquier parte.

Algunas de las características de esta  olla  inteligentes son:

  • CROCK-POT ® SMART:Añade flexibilidad a su horario de comidas con el Crock-Pot ® Smart olla con WeMo ®. Descargando la App gratuita WeMo al dispositivo inteligente y lo sincronización con el Crock-Pot ®, tendra  acceso remoto a las funciones de todos su olla de cocción lenta, no importa donde ests.
Wemo App
  • AJUSTAR Y CONTROLAR EL TIEMPO DE COCCIÓN Y LA TEMPERATURA CON APP GRATIS WEMO ™:La lapp ibre WeMo App permite cambiar el tiempo de cocción o ajustar la temperatura en la olla de cocción lenta utilizando tu smartphone o tablet. Ahora no hay que preocuparse si se levantó en la oficina o en un atasco. Puede utilizar la aplicación para supervisar el estado de cocción, activar o desactivar la la Crock-Pot ® Smart olla de cocción lenta y recibir notificaciones cuando termine la cocción. Lo mejor de todo, puede hacerlo todo desde la App WeMo gratis en su dispositivo inteligente. Cuando este en casa durante la cocción, la olla de cocción lenta tambien permite  controlar manualmente también desde la pantalla de LED.
Crock-Pot features
  • MISMAS CARACTERÍSTICAS CONVENIENTES:Preparar sopas, asados y otras comidas de una olla con esta gran olla de 6 cuartos. Simplemente añada los ingredientes, enchufe en la olla de cocción lenta y programar la hora y la temperatura de cocción antes de ir sobre tu día y controlarla desde tu dispositivo inteligente, no importa donde estés. Asas frescas al tacto Mantén seguras si tienes que mover la olla mientras aún está caliente.Tapa removible de recipiente de cerámica y vidrio son ambos lavavajillas para una fácil limpieza.
Three Temperature Settings
  • ELEGIR ENTRE TRES AJUSTES DE TEMPERATURA:El Crock-Pot ® Smart tiene tres ajustes de temperatura.Tiempos de cocción uso alta para los tiempos de cocción más cortos y bajo durante más tiempo. Cuando termine el tiempo de cocción, el Crock-Pot ® cambia automáticamente a warm para mantener los alimentos a una temperatura ideal servir hasta que estés listo para comer.
Elegant Design
  • DISEÑO ELEGANTE CON PANTALLA ILUMINADA LED:De esta olla acero inoxidable acabado y acentos negros hacen una pieza atractiva para que aparezca en cualquier mostrador. Ver fácilmente los controles de cocción incluso con luz tenue con la exhibición de LED iluminada.
Easy to Use
  • FÁCIL DE USAR, FÁCIL DE INSTALAR:Para comenzar a controlar tu Crock-Pot ® Smart olla de cocción lenta del dispositivo inteligente, simplemente enchufe la olla de cocción lenta y uso del dispositivo para descargar la App gratuita WeMo desde el Google Play Store, la App Store de Apple o Amazon App Store. La libre WeMo App que te mantiene conectado a su Crock-Pot ® Smart olla dondequiera usted es… sobre redes Wi-Fi, 3G o 4G. Haga clic aquí para referencia Guía de inicio rápido para obtener instrucciones detalladas.
  • TRABAJA CON DISPOSITIVOS ANDROID Y APPLE:El Crock-Pot ® Smart olla de cocción lenta es compatible con tu router Wi-Fi casera existente y su existente smartphone o tablet con Apple iOS 6 y superior o Android 4.0 y superiores. Está respaldado por una garantía limitada de un año.

Mas informacion  aqui

 

 

Admetior Digital Volumetric Spoon Scale

Capaz de cuantificar medidas volumetricas exactas y expresarlas para usted esta cuchara puede medir  cuatro tipo de unidades mediante su pantalla LCD  de forma muy sencilla.

Sus carastericticas  son 4 unidades de volumen (taza, mililitro, cucharada y cucharadita), pala desmontable para una fácil limpieza, fácil de leer pantalla LCD, mantenga la función de congelar las lecturas en la pantalla LCD, indicador de baja masa, apagado automático

En Amazon    esta disponible por unos 62€ :Admetior Digital Volumetric Spoon Scale by Admetior

 

 

Jarra medidora

Este gadget  es  muy similar a la anterior  pero en forma de taza de medir con escala digital y  con lectura de combinación integrado en el mango

Convierte automáticamente 5 ingredientes preestablecidos – harina, el azúcar, la leche, el agua y el aceite – de onzas (peso) a tazas (volumen),

Es fácil de leer medir las marcas de la taza de 1 incrementos / 4 de taza y 2 oz y esta alimentado por una  batería de litio (incluida)

Tiene  características  de tara / añadir y pesar y  recalibración, aviso de batería baja y  apagado automático.

!Por cierto sólo lavado a mano¡

En Amazon    esta disponible en Taylor 3890 Digital Measuring Cup and Scale by Taylor Thermometers

 

Egg Minder

Probablemente de las experiencias más desagradables con las que se puedes encontrar es romper un huevo en la sartén para descubrir que está caducados,lo cual parece les pasó a los creadores  de Egg Minder, que para solucionar el problema crearon este gadget que le avisará cuando sus huevos no se deben consumir.

De igual manera le notificará cuántos huevos le quedan, para que pueda reponer el inventario cuando va de compras.

Estas son las características en resumen:

  •  Ver cantidad de huevos en bandeja a través de la aplicación en el dispositivo móvil
  • Reciba notificaciones cuando los huevos van mal y son cerca de ir mal
  • Las alertas de programa cuando se ejecuta bajo en los huevos
  • LED parpadeante le permite saber que el huevo es la más antigua , cuando esté listo para cocinar
  • Tiene capacidad para 14 huevos

Neuro Fuzzy Rice Cooker

 

No hay comida más universal que el arroz. Sin embargo, preparar arroz delicioso puede ser un arte de lo más complicado. Si no es usted especialmente docto, y le gusta la  tecnología, entonces necesita el Neuro Fuzzy Rice Cooker. Como su nombre lo dice, es una máquina que hace arroz, y literalmente se encarga de hacer todo el proceso, controlando parámetros como humedad, presión, calor y demás, para hacer el arroz perfecto.

 

Blendtec Designer 700

Una licuadora no parece muy inteligente  cuando pensamos en alta teconología para la cocina, pero la verdad es que el Designer 700 de Blendtec  parece ser algo diferente pues estamos ante una máquina programable con pantalla táctil y 6 programas precargados.

Los que saben de cocina aseguran que se puede hacer maravillas con este aparato,pero la verdad que por unos 750$  esperamos que así sea.

 

 

Refrigerador Inteligente

Aunque parece ser  solo un diseño conceptual, este refrigerador inteligente intenta solucionar uno  de los grandes problemas con los que nos enfrentamos cada día en nuestra cocina: con los  ingredientes que tenemos en el refrigerador  ¿que nos podemos  cocinar?

La  idea es pues clara :que el refrigerador de sugerencias en función de loa alimentos  que almacena en su interior . Esperamos que esta  idea pueda  materializarse algún día pues en realidad va  a ser bastante complicado sobre todo por lo complejo de automatizar el control del inventario que almacenamos en su interior.

 

 

 

Funte  aqui

Anuncios

Cómo crear una aplicación móvil en 2 minutos


 

Una forma muy rápida de empezar a desarollar apps móviles en la nube es usando el software del Mit llamado App Inventor, plataforma que  liberó Google al MIT para usarlo en educación y cualquier uso en general ( actualmente salió de la beta publica y ahora va por la versión 2)

Con App Inventor puede tener su primera aplicación sencilla en funcionamiento en 2 minutos  o menos como se puede ver en el vídeo anterior, aunque esto no debe ser obstaculo para  poder programar aplicaciones más complejas en mucho menos tiempo que con los lenguajes más tradicionales, basados ​​en texto

Una de las características de esta plataforma es que se desarrolla en la nube si necesidad de tener nada instalado en nuestro ordenador pues toda la herramienta se maneja desde un navegador de modo que con nuestra cuenta ge google para app inventor es fácil seguir desarrollando desde otro equipo siempre que se tenga conexión a la red. Sólo se aconseja que se cuente con un móvil conectado la misma red para probar el sw que desarrollamos, aunque en su defecto se puede usar un emulador.

Inicialmente fue desarrollado por el profesor Hal Abelson (profesor de MIT)  y un equipo de Google Educación ,pero   actualmente  App Inventor se ejecuta como un servicio Web administrado por personal del Centro del MIT para el aprendizaje móvil – una colaboración de MIT de Ciencia Computacional e Inteligencia Artificial de laboratorio (CSAIL) y el Laboratorio de Medios del MIT.

La aplicación se puso a disposición del público el 12 de julio de 2010 y está dirigida a personas que no están familiarizadas con la programación informática. En la creación de App Inventor, Google se basó en investigaciones previas significativas en informática educativa.

El editor de bloques de la aplicación utiliza la librería Open Blocks de Java para crear un lenguaje visual a partir de bloques. Estas librerías están distribuidas por Massachusetts Institute of Technology ( MIT ) bajo su licencia libre (MIT License). El compilador que traduce el lenguaje visual de los bloques para la aplicación en Android utiliza Kawa como lenguaje de programación, distribuido como parte del sistema operativo GNU de la Free Software Foundation

Personalmente   lo estoy usando con bastante éxito , aunque al final cuando quiere hacer algo mas sofisticado, también es complejo a pesar de su aparente simplicidad basado en piezas de puzzles

En este  blog  se ha tratado  en numerosas ocasiones cómo programar con esta herramienta , sobre todo para a aquellas personas  que pretenden empezar con esta interesantisima plataforma y no saben por donde empezar.

Estos son  todos los temas que se han tratado  en este blog en relación con  la herramienta:

1-Instalación

2-Empezando con bloques

3-Uso avanzado

4-Ejemplo interactuando con Arduino

5-Obtener ingresos en sus aplicaciones hechas con MIT App Inventor 2

 

MIT App Inventor es compatible con una comunidad mundial de casi dos millones de usuarios que representan a 195 países en todo el mundo. Más de 85 mil usuarios semanales activas de la herramienta han construido más de 4,7 millones de aplicaciones de Android. Una herramienta de código abierto que pretende realizar la programación y la creación de aplicaciones accesibles a una amplia gama de audiencias

 

Sitio web oficial

Más información en

http://web.archive.org/web/http://sites.google.com/site/appinventorhelp/

http://googleblog.blogspot.com/2010/07/app-inventor-for-android.html

Obtener ingresos en sus aplicaciones hechas con MIT App Inventor 2


Si ha llegado hasta aquí , probablemente usted ya tenga una aplicación hecha  con Mit App Inventor 2  y quizás después de tanto esfuerzo se  esté cuestionando vías posibles de monetizar el esfuerzo invertido en esta

Hay  dos  grandes  posibilidades :

Monetizar directamente via Google Play

Esta es la forma más simple y sencilla  y consiste en poner un precio a la aplicación cuando lo baje en Google Play

En esa sección puede ponerle un precio a su app o distribuirla gratuitamente además de seleccionar en que países se va a distribuir y operadoras. Hay que tener en cuenta que una app definida como gratuita desde un inicio nunca podrá ser de pago, en cambio, una app con precio pre-establecido puede cambiar de valor en todo momento e incluso segmentar precios por países. Si la aplicación es de pago Google se lleva el 30% de lo recaudado.

Paises

Una vez hemos rellenado todos los campos y subido el archivo .apk solo nos queda aceptar las directrices para el contenido y las leyes de exportación de EE.UU. Toda la información esta en los enlaces de color azul.

Si no queremos que promocionen nuestra app fuera de Google Play seleccionamos la casilla “Excluir Marketing”.

Consentimiento

Una vez hayamos rellenado toda la información mínima necesaria veremos tres verificaciones en las secciones: APK, Entrada en la Play Store y Precio y distribución.

En la parte derecha de la pantalla seleccione el menu desplegable “Lista para publicarse” y haga clic en “Publicar esta aplicación”.

Publicación listaCaptura de pantalla 2013-08-09 a la(s) 13.31.19

Monetizar con publicidad incrustada dentro de la propia aplicación

Quizás   ponerle precio a una aplicación  no sea muy interesante puesto que los ingresos vendrían exclusivamente por las descargas  una sóla vez  y   no es siempre fácil  conseguir que los usuarios paguen por una aplicación, pues  ya sabemos que la tendencia es que no éstas tengan ningún coste.

Hay  vías de conseguir ingresos todavía si su aplicación ha decidido que sea gratuita gracias a la inclusión de publicidad

Hay básicamente tres  vías de obtener ingresos en su aplicación  construida  con Mit App Inventor:

 

 1-Monetizar con Mobpartner.

Para poder acceder a esta vía  , es obligatorio subir previamente  la app creada con App Inventor a google play sin publicidad, y por supuesto  tenerla publicada para poder agregarle MobPartner.

Para acceder al  programa, primero debe  crearse una cuenta en MobPartner:

  1. Después nos validamos en la web de MobPartnerr ,iremos a  nuestro panel de control, e iremos a crear nuestro anuncio para nuestra App. Para ello pulsamos en la pestaña Sites & Apps y después en Add a new service y rellenamos el formulario con los enlaces de nuestra App.
  2. Buscaremos una campaña para nuestra aplicación en la pestaña  Campaigns y seleccionaremos  la campaña que queramos.
  3. Una vez que tengamos la campaña pulsamos en  html code y tendremos un código en html muy sencillo :href =”http://c.mobpartner.mobi/?pool=19413″> (<!–losculos de los anuncios–><img src=”http://r.mobpartner.mobi/?pool=19413&#8243; alt=”click here”/>(<!– banner que aparece en la aplicación–>)</a> 
  4. Ahora nos vamos a Mit App Inventor2 en nuestra app para agregar tres componentes: un botón,un activityStarter y un reloj ( así como la lógica asociada)
  5. Para los anuncios añdimos  un botón (en el ejemplo se llama button_ads)al que asociaremos una llamada a ActivityStarter_ads_page.StartActivity

    boton1

  6. Añadimos  tambien un ActivityStarter con la Acción: android.intent.action.VIEW y DataURI http://c.mobpartner.mobi/?pool=19413 ( obviamente, con el número de ID de su anuncio)                           .activity_starter

  7. Por último añadimos un objeto timer, con las propeiedades del  temporizador con TimerAlwaysFires controladas, TimerEnable marcada y TimerIntervall por ejemplo 15.000 (15 segundos, es suficiente ,no la coloque en 5 segundos, porque cada vez que el cambio de bandera en la aplicación hay un desfase) asociando ademas esta lógica:timer

Por ultimo compilaremos nuestra nueva aplicación en App Inventor , veremos que todo funciona como esperábamos y volveremos a publicar la aplicación esta vez con el nuevo formato con pubicidad.

2 Agregar Admob a su aplicación creada con App Inventor.

No han añadido por desgracia aún el componente de Admob  en Mit App Inventor 2, aunque hay una posibilidad de hacerlo  en modo local instalando un software llamado AiLiveComplete! la versión antigua de App Inventor (versión 1 ) en  local customizada con ese componente   ( el software esta  aqui en sourceForge)

Hay otra posibilidad  de monetizar su app creada con app inventor que tiene un coste de una donación la cual será de 25€ para la primera Aplicación y de 10€ para las posteriores::

 

  1. Entrar en la página oficial de Admob y crearse una cuenta.
  2. Una vez creada  vamos a la pestaña sitios y aplicaciones y pulsamos en agregar sitios/aplicaciones y seleccionamos Android.
  3. Rellenamos el cuestionario.
  4. Una vez aceptada, nos aparecerá abajo.
  5. Colocamos el ratón sobre el nombre de la App y pulsamos sobre gestionar aplicación y os aparecerá algo como esto:
    URL de sitio: market://details?id=appinventor.ai_flissby.HorariostranviadeVelez&feature=search_result
    ID de editor: a14e158798b2567 (Copiamos el id de editor)
  6. Una vez hecho esto tendrán que pasarnos su código fuente de la App y el id que han copiado.Nosotros nos encargaremos de agregar admob a su aplicación y devolveros el .apk ya con Admob.(está deberán confiar en nosotros al pasarnos su código.

 

 

 

 

3-Agregar el sistema de anuncios de Leadbolt a su aplicación creada con App inventor con unos sencillos pasos.

 

Para empezar , primero hay que registrarse  en Leadbolt  . Una vez registrado tiene que agregar su App.

  1. Pulse en create new App
  1. Rellene los datos: Nombre de App, plataforma en nuestro caso Android, etc..
  2. Para activarla pulse Set Active y rellene los datos de nuevo.
  3. Al rato le enviarán un correo confirmando su App.
  4. Una vez creada y activada pulse Add Ad
  5. Pica en la ventana Html Ads
  6. Pulse sobre App Wall
  7. Escoja una de las dos plantillas
  8. Dele un nombre y en la pestaña Appearance puedes configurar el diseño, colores y demás, una vez configurado pulse sobre add now.
  9. Copie la url que le dan que es la que tendremos que darle como home url al webviewer.
  10. En App inventor tenemos que añadir dos  timers, un elemento web y un elemento activitystarter: Publicidad en App inventor
  11. El webviewer tiene puesto en homeURL “file:///mnt/sdcard/AppInventor/assets/banner2.html” que es la url que utilizaremos para pruebas en el emulador.   Una vez instale la app en el móvil tendrá que cambiarla por esta otra: “file:///android_asset/banner2.html” sino no aparecerá la publicidad.
  12. Por ultimo el diseño de los bloques sería el siguiente:
Publicidad en App Inventor

 

 

Fuente aqui

App Inventor para Android: Servicio WebDB Tiny


En este post vamos a tratar el servicio Web de demostración  WEBDV TINY , el cual está diseñado para trabajar con App Inventor para Android y el componente TinyWebDB. El sitio está diseñado para su uso por las aplicaciones que se ejecutan en  un terminal Android a través de las solicitudes JSON.

 

También puede invocar las operaciones get y almacenar a mano de esta página web para probar la API, así como borrar las entradas individuales.

Este servicio es por tanto  sólo una demo de modo que la base de datos almacenará en la mayoría de las 250 entradas; añadiendo entradas más allá de eso hará que las entradas más antiguas se borren. Además, los valores de datos individuales se limitan a en la mayoría de 500 caracteres.

El código fuente de este servicio, diseñado para funcionar con Google App Engine, se incluye en la documentación de la aplicación Inventor.

Usted puede utilizar esta aplicación como un modelo para la implementación de sus propios servicios, con mayor capacidad y funciones adicionales, y crear aplicaciones que utilizan el componente TinyWebDB hablar con su servicio.

Llamadas disponibles:

  • / Storeavalue : Almacena un valor, dada una etiqueta y un valor a almacenar

api

 

  • / Getvalor : Recupera el valor almacenado en una etiqueta determinada. Devuelve la cadena vacía si no hay valor se almacena

api2

 

 

NOTA: Estos servicios dependen de sus creadores  que  pueden modificarlo, por lo que podrian desconectarse sin previo aviso

Fuente aqui

Crear un API para usar con App Inventor


TinyWebDB es un componente App Inventor que le permite acceder a la web desde una aplicación para Android. Usted puede utilizar TinyWebDB para acceder a una fuente de datos (API) o para almacenar los datos de la aplicación de forma persistente en una base de datos web. Estas notas le indican cómo hacer lo primero a crear un-Inventor compatible App API que devuelve los datos a una aplicación App Inventor. A menudo, el servicio se escribe para usarlo como un proxy y llamar a algún otro servicio de datos existente (por ejemplo, Twitter, Amazon, Yahoo Finance).

Aunque puede crear un Inventor-compatible-App API en muchos lenguajes y entornos, estas instrucciones que a continuacion se describe, son sobre  una API escrita en Python  utilizando el servicio de cloud computing libre App Engine de Google. Tambien seria factible  hacerlo en Java / App Engine, PHP

Para seguir estas instrucciones, usted tendrá que tener algunos conocimientos de programación y estar familiarizado con Python y servicios web (API).

Sneak Peak

Vas a descargar un código de ejemplo a continuación. Su poco de código HTML y Python que se puede implementar en la nube de Google usando App Engine. Sin embargo, para mostrar lo fácil que es crear una API App Inventor-conforme, vamos a echar un vistazo al código que usted realmente tiene que mirar y cambiar. La parte adaptable está en el main.py archivo y específicamente en la función GetValueHandler.get_value:

def get_Value (auto, etiqueta):

value = “hola” + tag
value = “\” “+ valor +” \ “”

si self.request.get (‘fmt’) == “html”:

WriteToWeb (auto, etiqueta, valor)

más:

WriteToPhone (auto, etiqueta, valor)

Para crear su propio servicio, usted simplemente cambie las líneas enfatizadas con cualquier código que te gustaría. Tal vez llamar a otro servicio web y retransmitir los datos a la aplicación. Tal vez usted va a realizar algunos cálculos. Usted puede hacer cualquier cosa, con la única limitación de que establece el “valor” variable a una cadena o una lista. Los datos que usted deposita en “valor” se envía a la aplicación que solicita a una solicitud TinyWebDB.GetValue.

Tenga en cuenta que la línea críptica debajo de la que va a cambiar:

value = “\” “+ valor +” \ “”

simplemente pone entre comillas el valor. Esto es necesario cuando se devuelva una cadena como valor y que la cadena cuenta con más de una palabra. Si devuelve una lista, que no es necesario añadir comillas, aunque puede que tenga que añadir alrededor de cada cadena en la lista.

App Inventor Protocolo TinyWebDB

TinyWebDB proporciona dos funciones clave: StoreValue (etiqueta, valor) y GetValue (tag) que permiten una aplicación para almacenar y recuperar los pares de etiquetas de valor. Para responder a la solicitud de la aplicación, una-Inventor compatible App servicio debe manejar peticiones POST como se define a continuación:

TinyWebDB Cliente Call Solicitud API
StoreValue (etiqueta, valor) store_value (etiqueta, valor)
GetValue (tag) obtiene_valor (tag)

Si la API no está proporcionando un almacenamiento de base de datos, y que acaban de volver de datos, basta con responder a get_Value (etiqueta) las solicitudes, como en el pico del chivato arriba.

Hola Tag ejemplo de la API

Puede descargar el API Tag Hola aquí

Este código de ejemplo es una versión básica de un servicio Web de App-Inventor-Compliant. Responde a get_Value (etiqueta) peticiones con “tag hola”. La muestra:

  • Proporciona tanto una página web y la interfaz API. Puede probar el servicio con la interfaz de la página web. Tu App Inventor App hablará con la interfaz API.
  • Implementa sólo la operación GetValue, no el StoreValue. No debe llamar StoreValue de su aplicación, si usted está utilizando este servicio.

Cuando se descarga la muestra, podrá ver que tiene los siguientes archivos:

  • main.py – El código del controlador de Python, esta es la carne de la API.
  • index.html – La plantilla de la página web para la interfaz web de la API.
  • app.yaml archivo config App Engine
Una vez que haya agregado el código personalizado, puede probar y desplegar el servicio siguiendo estas instrucciones:
  • Si no lo tiene, descárgue  App Engine para Python enhttp://code.google.com/appengine/ . Después de instalarlo, ejecute el GoogleAppEngineLauncher haciendo clic en su icono.
  • En el GoogleAppEngineLauncher, seleccione Archivo | Agregar aplicación existente. Vaya a establecer la ruta a la carpeta con tus code.Then haga clic en el botón Ejecutar. Esto lanzará un servicio web de prueba que se ejecuta en el equipo local.
  • Puede probar el servicio abriendo un navegador y entrar en “localhost: 8080” como la dirección URL. Verá la interfaz de la página web para su servicio web.El objetivo final de este servicio es para comunicarse con una aplicación móvil creada con App Inventor. Pero el servicio proporciona una interfaz de página Web para el servicio para ayudar a los programadores con la depuración. Puede invocar las operaciones get y tiendas a mano, ver las entradas existentes, así como eliminar las entradas individuales
  • Su aplicación no está aún en la web, y por lo tanto aún no puede acceder a una aplicación App Inventor. Para llegar allí, tienes que subirlo a los servidores de Google App Engine.
  • En el GoogleAppEngineLauncher, seleccione Panel. Ingresa tu información de cuenta de Google y usted será llevado a un panel de control de App Engine.
  • Elija Crear una aplicación. Tendrá que especificar una aplicación identificador único global. Recuerde que el identificador de aplicación, ya que lo necesitará más adelante. Proporcione un nombre a tu aplicación y haga clic en Crear solicitud a presentar. Si el identificador es único, ahora tiene una nueva aplicación, vacía en los servidores de Google.
  • Abra un editor de texto del equipo local y abrir la app.yaml archivo dentro de la carpeta del proyecto. Modifique la primera línea para que la aplicación coincide con el identificador de la aplicación se establece en Google.
  • En GoogleAppEngineLauncher, seleccione Desplegar y siga los pasos para implementar su aplicación.
  • Prueba para ver si su aplicación se está ejecutando en la web. En un explorador, introduzca myapp.appspot.com, sólo sustituir el identificador de la aplicación de “frontend”. La aplicación debe ser la misma que cuando se ejecutó en el servidor de prueba local. Sólo que ahora, está en la web y se puede acceder a él desde su App Inventor para aplicación Android.

Aplicaciones App Inventor Cliente

Una vez que usted tiene una “-App Inventor-compliant” servicio web, puede crear aplicaciones Inventor de la aplicación que accedan al mismo. Para la muestra que acaba de crear, haga lo siguiente:

  • Arrastre en un componente TinyWebDB en el Diseñador de componentes.
  • Modifique la propiedad ServiceURL del predeterminado (http://appinvtinywebdb.appspot.com/ ) a la URL de su servicio.
  • En el editor de bloques, llame TinyWebDB.getValue con una adecuada llave de su servicio.

Así es como los bloques buscan una llamada a la API de la muestra:

La aplicación recibe la entrada del usuario desde TagTextBox y lo envía como la etiqueta en la llamada GetValue del TinyWebDB. Esto desencadena una solicitud obtiene_valor API. El API devuelve el valor (hola: tag) en el teléfono. Cuando llegan los datos, el evento TinyWebDB.GotValue se dispara y la aplicación sólo muestra el valor en el valueLabel.

 

Fuente aqui

App Inventor y las API


En este pot, vamos a echar un vistazo más amplio a las aplicaciones que la información del origen de la Web.Vamos a empezar por la creación de una aplicación que le pide a un sitio web para generar un gráfico de barras (imagen) de las puntuaciones de un jugador del juego de la pantalla. Luego hablaremos de cómo TinyWebDB se puede utilizar para acceder a cualquier tipo de datos (no sólo imágenes) desde la Web, y le proporcionaremos una muestra que tiene acceso a los datos del stock de Yahoo! Finanzas. Por último, vamos a discutir cómo se puede crear sus propias fuentes de información web que pueden ser utilizados por la aplicación Inventor apps.

 

La web y el mundo de los móviles hay diferentes: sitios web y aplicaciones de contenido el remix de varias fuentes de datos, y la mayoría de los sitios están diseñados con la interoperabilidad en mente. Un ejemplo ilustrativo de un mashup web es Housing Maps ( http://www.housingmaps.com ), en la foto , que toma información de alquiler de apartamentos de Craigslist ( http://www.craigslist.org ) y los trata  con la API de Google Maps.

 

Mashups como Housing Maps son posibles porque los servicios como Google Maps proporcionan tanto un sitio web y una correspondiente API de servicios web . Nosotros, los humanos visitamos http://maps. google.com / en un navegador, pero aplicaciones como Mapas Viviendas comunicamos máquina a máquina con la API de Google Maps. Mashups procesan los datos, se combinan con los datos de otros sitios (por ejemplo, Craigslist), y luego lo presentan de maneras nuevas e interesantes.

Casi todos los sitios web popular ahora ofrece esta alternativa, el acceso de máquina a máquina. El programa proporciona los datos se denomina un servicio web y el protocolo de cómo un cliente de aplicación debe comunicarse con el servicio se denomina interfaz de programación de aplicaciones o API. En la práctica, el término API se utiliza para hacer referencia al servicio web también.

El servicio Web de Amazon (AWS) fue uno de los primeros servicios de Internet, como Amazon se dio cuenta de que la apertura de sus datos para su uso por parte de entidades de terceros eventualmente conducir a más libros a la venta.Cuando Facebook lanzó su API en el 2007, muchas personas alzaron sus cejas. Datos de Facebook no es el libro de los anuncios, por lo que ¿por qué debería dejar que otras aplicaciones “robar” los datos y potencialmente atraer a muchos usuarios fuera del sitio de Facebook (y su publicidad!). Pero su apertura condujo Facebook para convertirse en una plataforma en lugar de sólo un sitio-lo que significa que otros programas, como FarmVille, podrían aprovechar y explotar Facebook de funcionalidad-y ​​nadie puede discutir con su éxito en la actualidad. En el momento en Twitter puso en marcha en 2009, el acceso de la API era una expectativa, no una novedad, y Twitter actuó en consecuencia. Ahora bien, como se muestra abajo, la mayoría de los sitios web ofrecen tanto una API y una interfaz humano.

Así que la Web es una cosa que nosotros los seres humanos-un promedio de colección de sitios para visitar. Para los programadores, es la base de datos más grande y más diversa del mundo de la información. La comunicación de máquina a máquina ahora está lista para superar a la comunicación hombre-máquina en la Web!

Hablando con APIs web que generan Imágenes

Nota: La API de gráficos de Google ahora esta obsoleto. Usted todavía puede utilizarlo y este ejemplo, pero puede que no estar ahí para siempre. Sin embargo, esta muestra sigue siendo instructivo para su explicación de las URL y los parámetros

La mayoría de las API aceptan solicitudes en la forma de una URL y devolver los datos,(normalmente en formatos estándar como XML o Extensible Markup Language, y JSON, JavaScript Object Notation(para estas API, debe utilizar el TinyWebDB componente para comunicarse)

Algunas API, sin embargo, no devuelven datos; devuelven una imagen. En esta sección, vamos a discutir cómo se puede comunicar con estas API de generación de imágenes con el fin de ampliar las capacidades de la interfaz de usuario de App Inventor.

La API de gráficos de Google es un servicio de este tipo. Su aplicación puede enviar algunos datos dentro de una URL, y enviará de vuelta una carta que se puede mostrar en su aplicación. El servicio crea muchos tipos de gráficos, incluyendo gráficos de barras, gráficos circulares, mapas y diagramas de Venn. El API Chart es un gran ejemplo de un servicio web interoperables cuyo propósito es mejorar las capacidades de los otros sitios. Desde App Inventor no ofrece mucho en términos de componentes de visualización, la posibilidad de aprovechar un servicio como el API gráfico es crucial.

Lo primero que debe hacer es entender el formato de la URL debe enviar a la API. Si usted va al sitio del API Gráfico de Google ( http://code.google.com/apis/ ), podrás ver la información general se muestra mas abajo.

 

El sitio incluye una documentación completa y un asistente para crear gráficos de forma interactiva y explorar cómo construir las URLs. El asistente es especialmente útil, ya que se puede utilizar un formulario para especificar el tipo de gráfico que desee y luego examinar la dirección URL que genera el asistente de ingeniería inversa lo que usted desea enviarlo a sus datos específicos.

Seguir adelante y jugar con el sitio web y el asistente y crear algunas cartas, y luego echar un vistazo a los detalles de las direcciones URL utilizadas para construirlas.

Por ejemplo, si se introduce la dirección URL siguiente en un navegador:

http://chart.apis.google.com/chart?cht=bvg&chxt=y&chbh=a&chs=300×225&chco=A2C180&chtt=Vertical+bar+chart&chd=t:10,50,60,80,40,60,30

obtendrá el gráfico que se muestra a continuacion.

 

Para entender la URL bastante complicado de aspecto especificada anteriormente, es necesario entender cómo funcionan las direcciones URL. En su experiencia de navegación, te habrás dado cuenta URLs con signos de interrogación (?) Y los símbolos de unión (&). El? carácter especifica que el primer parámetro de la petición de URL está llegando. El carácter y luego separa cada parámetro siguiente. Cada parámetro tiene un nombre, un signo igual y un valor. Así que la URL de ejemplo está llamando a la API gráfico ( http://chart.apis.google.com/chart ) con los parámetros indicados en la  siguiente tabla.

 

Al modificar los parámetros, puede generar varios gráficos. Para obtener más información sobre los tipos de gráficos que se pueden crear, revisar la documentación de la API en https://developers.google.com/chart/

Ajuste de la image.picture propiedad a un API Gráfico

Ahora usted sabe cómo escribir la muestra Gráfico URL de la API en un navegador web para ver la tabla que se genera. Para obtener una tabla para aparecer en una aplicación, usted tendrá que ajustar la imagen característica de una imagen componente a la misma URL. Para explorar esto, haga lo siguiente:

  1. Crear una nueva aplicación con un título de la pantalla de “Gráfico Muestra App”.
  2. Añadir una imagen componente con un ancho de “padre de relleno” y la altura de 300.
  3. Ajuste el image.picture propiedad a la URL de la muestra ( .? http://chart.apis.google com / carta cht = bvg y chxt = y & = a & chs = 300×225 y CHCO = A2C180 y CHTT = Vert ical + bar + gráfica y chd = t: 10,50, 60,80,40,60,30 ).No se puede establecer la propiedad en el Diseñador de componentes, ya que sólo le permite cargar un archivo. Pero se puede establecer en el Editor de bloques, como se muestra en la Figura 24-5, por lo que añadir unScreen.Initialize controlador de eventos y establecer el image.picture propiedad hay (tenga en cuenta que no se puede copiar y pegar en algunas máquinas, por lo que ‘ll tiene que escribir la URL completa).

 

Cuando se inicia la aplicación, se establece la imagen a un gráfico de regresar de la URL Chart API

 

Usted debe ver la imagen anterior en su teléfono o emulador.

La construcción de una URL Chart API dinámicamente

El ejemplo anterior muestra cómo se puede obtener un gráfico generado en su aplicación, sino que utiliza una dirección URL con datos fijos (10,50,60,80,40,60,30). Generalmente, usted mostrará dinámicas datos en el gráfico-es decir, los datos almacenados en las variables. Por ejemplo, en una aplicación de juego, es posible mostrar las puntuaciones anteriores del usuario, que se almacenan en una variable Partituras .

Para crear un gráfico de tal dinámica, debe construir la URL de la API para gráficos y cargar los datos variables en ella. En el URL de la muestra, los datos del gráfico se fija y se especifican en el parámetro chd ( chd representa los datos del gráfico):

chd = t: 10,50,60,80,40,60,30

Para construir su puntuación de tabla de forma dinámica, usted comenzará con la parte fija, chd = t :, y luego paso a través de la lista de puntuaciones, la concatenación de cada puntuación en el texto (junto con una coma). La imagen de abajo  muestra una solución completa.

 

Vamos a examinar los bloques más de cerca, porque hay mucho que hacer aquí, muchos de los cuales hemos cubierto en los capítulos anteriores. Para entender este tipo de código, es importante prever algunos datos reales. Así que vamos a suponer que el usuario ha jugado tres partidos en esta aplicación y que las variables Partituras tiene tres artículos: 11, 22 y 15.

Los bloquesdefinir una variable chdParam para almacenar la parte de la URL que contendrá los chd datos. La primera fila de bloques inicializa el texto de la chdParam de la lista de marcadores .

Después se llevan a cabo estos bloques, chdParam contendrá chd = t: 11 , 11 como es el primer valor de la Partituras lista.

El siguiente conjunto de bloques, que se muestra abajo, añade el resto de las puntuaciones a la chdParam .

 

Utilizamos un tiempo global en este ejemplo, en lugar de un foreach debido foreach sólo le permite hacer lo mismo a cada elemento. Aquí, queremos insertar comas antes de que el segundo elemento y todos los elementos que vienen después de ella (pero no el primero). Con tiempo , podemos poner el primer elementoy luego de bucle a partir del segundo artículo, siempre insertando una coma antes de la partida (asegúrese de no colocar un espacio después).

Un índice se utiliza para realizar un seguimiento de dónde estamos en el Partituras lista. En cada iteración, hacer el texto agrega una coma y el siguiente elemento de Partituras . Después de realizar estos bloques, el chdParamcontendrá chd = t: 11,22,15 . Hemos construido el parámetro chd dinámicamente! (Y también hemos construido de manera que si se añaden más puntos más allá de estos primeros tres, seguirá siendo el trabajo.)

Último trabajo Los bloques “es concatenar el chd parámetro con el resto de la URL Chart API, como se muestra a continuación:

 

Los bloques de establecer el ScoreChartImage.Picture propiedad a esta dirección URL completa: ? http://chart .apis.google.com / carta cht = bvg y chxt = y & CHBH = a & chs = 300×225 y CHCO = A2C180 y CHTT = Juego + Resultados & chd = t: 11,22,15 . S

Se podría añadir una pantalla como a cualquier juego o aplicación mediante la adición de bloques similares a este ejemplo. También puede hablar con otras API que generan las imágenes y llevar a los en su aplicación también. La clave es que App Inventor proporciona una conexión útil a la Web a través de la imagen de los componentes.

Hablando con las API de datos Web

Nota: App Inventor ahora tiene un componente web que facilita el acceso a los datos de las API más fácil. Puede seguir utilizando el esquema TinyWebDB se describe a continuación, pero también echa un vistazo a esta muestra que utiliza el componente Web.

La API de gráficos de Google es una API web que responde a las solicitudes de devolución de una imagen. Más comúnmente, las API devolverán datos que una aplicación puede procesar y utilizar sin embargo que quiere. El “Amazonas en la Librería” de la aplicación en el capítulo 13, por ejemplo, devuelve los datos en forma de una lista de libros, con cada libro que incluye un título, actual precio más bajo, y el ISBN.

 

Para hablar con una API desde una aplicación App Inventor, que no es necesario para construir una URL, como lo hicimos con el ejemplo Chart AP:en su lugar, se consulta la API al igual que lo haría una base de datos web  sólo enviar su solicitud como la etiqueta a la TinyWebDB.GetValue bloque. El TinyWebDB componente se encarga de generar realmente el URL que usted envía a la API.

TinyWebDB no proporciona acceso a todas las API, incluso aquellos que devuelven un formato de datos estándar como RSS. TinyWebDB sólo puede hablar con los servicios web para la que un inventor “contenedor” servicio App, con un protocolo en particular, se ha creado. Afortunadamente, algunos de estos servicios se han creado ya, y más tardará en llegar. Usted puede encontrar algunos de estos en http://appinventorapi.com .

Exploración de la interfaz web de una API

En esta sección, usted aprenderá cómo utilizar TinyWebDB para traer los datos de precios de acciones desde el Inventor compatible API App en http://yahoostocks.appspot.com . Si usted va al sitio, verá la interfaz web (humana) del servicio representado a continuación.

 

Pruebe a escribir “IBM” o algún otro símbolo de la acción en la casilla Tag. La página web devuelve información actual como una lista, con cada elemento que representa una parte diferente de la información, como se describe en la lista numérica más abajo en la página.

Tenga en cuenta que esta interfaz web no se entiende como una nueva e interesante manera de encontrar información; su único objetivo es permitir a los programadores para explorar la API para comunicarse con el servicio Web subyacente de máquina a máquina.

Acceso a la API a través de TinyWebDB

El primer paso para crear una aplicación que se comunica con el servicio web anterior es arrastrar un TinyWebDB componente en el Diseñador de componentes. Sólo hay una propiedad asociada con TinyWebDB , su ServiceURL , que se muestra abajo Por defecto, está ajustado a una base de datos web por defecto, http://appinvtinywebdb.appspot.com . Dado que queremos acceder a su lugar el Yahoo! Stocks API, establezca esta propiedad enhttp://yahoostocks.appspot.com , el mismo URL que ha introducido en la barra de direcciones del navegador antes de ver la interfaz de la página web.

 

El siguiente paso es hacer una TinyWebDB.GetValue llamada a datos de la solicitud desde el sitio. Usted puede hacer esto en respuesta al usuario entrar en un símbolo de valor y haciendo clic en el botón Enviar en la interfaz de usuario de su aplicación, o usted puede hacerlo en el Screen.Initialize evento para traer a la información sobre una acción correcta en particular cuando se abre la aplicación. En cualquier caso, cuando se llama a GetValue , debe establecer la etiqueta a un símbolo de la acción, como se ilustra abajo, tal como lo hizo en la página web http:// yahoostocks.appspot.com .

 

 

TinyWebDB  asume  una comunicación  asíncrona : su aplicación solicita los datos con TinyWebDB.GetValue y luego va sobre su negocio. Usted debe proporcionar un controlador de eventos por separado, TinyWebDB.GotValue , para programar los pasos que la aplicación debe tomar cuando los datos realmente regresa desde el servicio web. De nuestro examen de la interfaz humana de http://yahoostocks.appspot.com , nos enteramos de que los datos devueltos desde GetValue es una lista, con particulares elementos de la lista que representan diferentes datos sobre la población.

Una aplicación cliente puede utilizar algunos o todos los datos que el servicio ofrece. Por ejemplo, si sólo quería mostrar el precio actual y su cambio desde la apertura de la jornada, es posible configurar los bloques como se muestra ahora:.

 

Si marca la especificación de la API en http://yahoostocks.appspot.com , verás que el segundo elemento de la lista devuelta es de hecho el precio actual y el quinto punto es el cambio ya que las reservas comenzaron a cotizar ese día.Esta aplicación simplemente extrae los elementos de lo que es devuelto por la API, y los muestra en la etiqueta PriceLabel y ChangeLabel . La imagen  siguinte ofrece una instantánea de la aplicación en acción.

 

Creación de sus propias APIs-Compliant Inventor de la aplicación

TinyWebDB es el puente de un Inventor aplicación App para la Web. Permite que en la aplicación Inventor los programadores hablen con los servicios web con el simple protocolo de etiqueta-valor inherente al GetValue función. Usted envía una etiqueta en particular como el parámetro, así como una lista o un objeto de texto se devuelve como el valor. De esta manera, el Inventor programador App está protegido de la programación difícil requerida para analizar (comprender y extraer los datos de) formatos de datos estándar como XML o JSON.

La desventaja es que la aplicación de Inventor aplicaciones pueden hablar sólo a los servicios web que siguen el protocolo esperado por TinyWebDB  que espera que los datos se devuelvan en una forma muy específica, y la API tiene para ofrecer a sus datos en consecuencia. App Inventor no tiene un componente de acceso a un servicio web que devuelve arbitraria formatos de datos estándar, como XML o JSON. Si no hay una-Inventor compatible API App ya  disponible, una persona con la capacidad de escribir un programa web debe crearlo.

En el pasado, las API de construcción fue difícil, ya que no sólo necesita entender los protocolos de programación y web, pero también se necesitan para configurar un servidor para alojar su servicio web y una base de datos para almacenar los datos. Ahora es mucho más fácil, ya que puede aprovechar las herramientas de computación en la nube como Google App Engine y Elastic Compute Cloud de Amazon para implementar de inmediato el servicio que usted cree. Estas plataformas no sólo alojar su servicio web, pero que también va a permitir que miles de usuarios acceder a él antes de cobrar un solo centavo. Como se puede imaginar, estos sitios son una gran bendición para la innovación.

Personalización de Código Plantilla

Escribir su propio API puede parecer desalentador, pero la buena noticia es que usted no tiene que empezar de cero. Usted puede aprovechar algo de código de plantilla siempre que lo hace especialmente fácil crear APIs-Inventor de la aplicación compatible. El código está escrito en el lenguaje de programación Python y utiliza App Engine de Google. La plantilla proporciona código repetitivo para obtener los datos en la forma que las necesidades de App Inventor, y una función, obtiene_valor , que se puede personalizar.

Puede descargar el código de la plantilla y las instrucciones para implementarlo en los servidores de Google App Engine en http://appinventorapi.com/using-tinywebdb-to-talk-to-an-api/ . Usted puede notar que el enlace te lleva a la misma appinventorapi. com sitio que se puede utilizar  para crear una base de datos web a medida. La construcción de una API es similar, sólo que en lugar de simplemente almacenar y recuperar datos, se le llama a otro servicio para acceder a los datos que necesita.

Para crear su propia API web, podrás descargar la plantilla, modificar unos pocos lugares clave en el código, y luego subirlo a App Engine. En cuestión de minutos, usted tendrá su propia API que se puede llamar utilizando TinyWebDB en una App Inventor App.

Aquí está el código particular de la plantilla que tendrá que personalizar (no se preocupe por el texto que viene después del símbolo #, al igual que los comentarios en App Inventor, sólo describe lo que el código se está haciendo):


	def get_Value (auto, etiqueta):    
		# Para este ejemplo sencillo, apenas volvemos hola: tag, que se envía en la etiqueta por el cliente    
		value = "hola" + tag 
		value = "\" "+ valor +" \ ""
		# Añade comillas si el valor es tiene varias palabras    
		si self.request.get ('fmt') == "html":         
		  WriteToWeb (auto, etiqueta, valor)    
		más:         
		  WriteToPhone (auto, etiqueta, valor) 

Este código es para una función (mismo que un procedimiento en el App Inventor) llamado obtiene_valor , y es de hecho el código que se invoca cuando su aplicación llama a una API con la TinyWebDB.GetValue función. tag es unparámetro de la función y corresponde a la etiquetar envía en el GetValue llamada.

El código en negrita es la parte que va a cambiar. Por defecto, simplemente toma la etiqueta enviado con la solicitud y la envía de vuelta “hola etiqueta.” (En otras palabras, si se llama a este código con la etiqueta “joe”, devuelve “hola joe”).Lo hace mediante la variable de valor , que se envía a la WriteToWeb función si la solicitud proviene de la Web, o WriteToPhone si la solicitud proviene de un teléfono.

Nota. Incluso si nunca has mirado Python u otro código de programación, usted puede encontrar el ejemplo anterior poco legible de su experiencia con App Inventor. La línea “def obtiene_valor …” define un procedimiento, las líneas “value =” … están preparando el “valor” variable para algo, y el “si ..” declaraciones debería parecer familiar. Los conceptos fundamentales son los mismos, es sólo de texto en lugar de los bloques.

Para personalizar la plantilla, reemplace el código en negrita con cualquier cálculo que desee, siempre y cuando ese código coloca algo en la variable valor . A menudo, su API hará una llamada a otra API (esto se llama “ajuste” de una llamada, más específicamente, su obtiene_valor función hará que la llamada a otra API).

Muchas API son complicados, con cientos de funciones y los regímenes de autorización de usuario complejas. Otros, sin embargo, son bastante simples, y usted puede incluso encontrar ejemplos de código para acceder a ellos en la Web, como se verá en la siguiente sección.

Invocar  la API de Finanzas Yahoo!

El Yahoo! Stocks API para App Inventor puede  utilizarse  mediante la modificación del código de la plantilla anterior con código que se encuentra a través de una simple búsqueda en Internet. Puesto que el objetivo estaba terminando el Yahoo! Stocks API para el uso de la aplicación Inventor, el desarrollador (Wolber) hizo una búsqueda en Internet de “Stocks Python API de Yahoo”. Desde el .gummy-stuff.org/Yahoo-data.htm http://www sitio, se encontró con que una URL en el formulario :http://download.finance.yahoo.com/d/quotes.csv?f=sl1d1t1c1ohgv&e=.cs v & s = IBM

Estpo eberia devolve un archivo de texto con una sola cadena separada por comas de los datos. La URL anterior devuelve la cadena de texto:

“IBM”, 140.85 “10/15/2010”, “15:00”, -0.65,142.10,142.10,140.60,4974553

Luego encontró algo de código Python para acceder a la API de Yahoo! Acciones en http://www .goldb.org / ystockquote.html. Con un poco de corte rápido y pegar y un poco de edición, el App Inventor wrapper API fue creado mediante la modificación de la plantilla de la siguiente manera:


	def get_Value (auto, etiqueta):    
	  # Necesidad de generar una cadena o una lista y enviarla a WriteToPhone / WriteToWeb    
	  # Cuerdas varias palabras deben tener comillas delante y detrás    
	  # Por ejemplo,    
	  # Value = "\" "+ valor +" \ ""    
	  # Llamar a la API de Yahoo Finance y obtener un identificador para el archivo que se devuelve    
	  quoteFile=urllib.urlopen("http://download.finance.yahoo.com/d/quotes.csv?f=sl1d1t1c1ohgv&e=.csv&s="+tag)    
	  line = quoteFile.readline () # sólo hay una línea de    
	  splitlist = linea.split (",") # divide los datos en una lista    
	  # Los datos tiene comillas alrededor de los objetos, por lo que los elimina    
	  i = 0       
	  mientras i <len (splitlist):        
	    item = splitlist [i]        
	    splitlist [i] = item.strip ('"') # elimina" en torno a las cadenas
	    i = i 1    
	  valor = splitlist    
	  si self.request.get ('fmt') == "html":         
	    WriteToWeb (auto, etiqueta, valor)    
	  más:         
	    WriteToPhone (auto, etiqueta, valor) 

El código en negrita llama a la API de Yahoo! dentro del urllib.urlopen llamada a la función (esto es una manera de llamar a las API del lenguaje Python). La URL tiene un parámetro, f , que especifica el tipo de datos de almacenamiento que desea (este parámetro es algo así como los parámetros crípticos requeridos por el API de gráficos de Google). Los datos devueltos por Yahoo! se pone entonces en la variable de la línea . El resto del código se divide los elementos a una lista, quita las comillas alrededor de cada artículo, y envía el resultado al solicitante (ya sea la interfaz web o una aplicación Inventor App).

 

Fuente  aqui

Cómo añadir una entrada USB al equipo de audio de su automovil


Es cierto que cada vez mas automóviles integran un conector usb host al que podemos enchufar cualquier  unidad  extraible con nuestra música favorita, pero  lamentablemente no todos los automóviles “modernos”    cuentan sin excepción con este útil accesorio  ( es más: en algunos modelos se suele incluir “toma USB”   como una opción mas de equipamiento  que se debe pagar aparte)

Ante la problemática de  poder conectar una unidad usb a nuestro equipo de audio de nuestro vehiculo  , es cierto que existen reproductores mp3 con toma de usb que transmiten en FM  lo cual significa que podrá ser reproducido  a través de un “simple” autoradio.

Sin embargo a pesar de que emitir en FM el audio del reproductor MP3  procedente del USB host incorporado  hacia el equipo de audio de nuestro vehículo podría  parecer una  idea interesante,esto conlleva algunos inconvenientes:

  • Posibles Interferencias  con  emisoras de FM  de frecuencias cercanas ala de transmisor FM
  • Dificultad de encontrar frecuencias  libres en movilidad
  • Ruidos de fondo
  • Baja calidad de audio de los transmisores de FM
  • Pérdida de la memoria de un canal
  • Baja potencia de RF en transmisión

 

¿Entonces existe alguna solución sencilla para poder contar con un resproductor mp3 en el automovil por poco coste?

Pues en efecto , gracias a un sencillo truco usando  ingenieria inversa  lo podemos conseguir simplemente adquiriendo un lector de  mp3  con toma usb  que transmita en fm , modificandolo nosotros para obtener el audio directo que conectaremos a la toma de audio in que ya  casi el 99,99 % de los autoradios   tienen

Para nuestro montaje  usaremos el reproductor de MP3 de Energy System  por su relación calidad /precio  el cual puede ser adquirido por unos 10€  en portales  de venta on-line

 

mp3

Las especificaciones técnicas de este reproductor son  las siguientes:
Marca Energy Sistem
Modelo Car
Nombre del modelo Car MP3 f2 Racing Red
Año de fabricación 2013
Peso del producto 32 g
Dimensiones del producto 4 x 8,5 x 5,5 cm
Número de modelo del producto Car
Número de producto Car
Interfaz del hardware USB
Otras características Tarjeta de lectura integrada
Tecnología de pantalla LCD
Dimensión de la pantalla 1 pulgadas
Tipo de pantalla LED
Decodificador integrado No
Tipo de salida de audio 3.5 mm
Formatos de audio compatibles MP3, WMA
Pilas / baterías incluidas No
Número de puertos USB 1
Tipo de conector Solo iPod Plug-In, USB
Formatos compatibles MP3, WMA
Tipo de medio MP3, WMA
Incluye mando

 

Este reproductor   parece   muy completo  pues en efecto tiene  todas estas facilidades

  • Transmisor FM que envía la música a la radio del coche sin cables en rango de frecuencia seleccionable de 87.5 a 108.0 MHz
  • Reproduce música en formatos MP3 y WMA con navegación por carpetas.
  • Compatible con tarjetas de memoria SDHC (hasta 32GB).
  • Conexión USB para escuchar música desde un pendrive (hasta 32GB).
  • Entrada de línea tipo jack de 3,5mm para conectar tu reproductor portátil.(si el lector ha leido bien entrada y no salida como seria de desear)
  • Mando a distancia con acceso a todas las funciones del dispositivo.
  • Funciona con fuentes de energía de 12V y 24V.
  •  Distancia efectiva hasta 5 metros.
  • Navegación por carpetas.
  •  8 modos de ecualización: Normal Rock Pop Classic Soft Jazz DBB y SRS. – 4 modos de reproducción incluyendo modo aleatorio.

 Modificación   a realizar

En efecto el lector usb descrito   parece ideal  para añadir un puerto host   a nuestro equipo sino fuera por un pequeño problema: el audio al  transmitirse por FM  esta sujeto a chasquidos , interferencias ,cortes ,etc  que se acusan sobre todo mucho más en movilidad

Por tanto aunque el fabricante  haya dotado la facilidad  inaáambrica para mejorar la usabilidad del producto a efectos prácticos  no lo ha conseguido ya que la calidad de audio no es la ideal básicamente por el medio usado de transmisión de la señal de audio ..¿pero y si fuese posible extraer la señal de BF directamente para conectarlo  a la entrada in de nuestro equipo de audio de nuestro automóvil?

Pues en efecto por ingeniería inversa es posible  , lo cual vamos a describir en unos momentos

 

1-Desmonte el cristal superior ( va pegado )

 

2-Destornille los 4 tornillos de la carcasa superior
DSCF2432

3-Extriga dando la vuelta  a la placa principal pues vamos a modificar  el circuito
DSCF2431

 

Como observaremos tenemos un conector hembra de jack de 2 1/2″ stereo sin utilidad ( es raro que queremos conectar un reproductor mp3  a este propio reproductor mp3)  que por tanto es proclive para usarlo como salida de  audio si  anulamos la electrónica asociada a la entrada .

Ademas de los  conectores ( jack ,usb, y sd)   y el lcd tenemos tres chips : el mas grande es propio reproductor de audio , uno de mas abajo de éste es el chip de BF y finalmente a la derecha es el modulador de RF

Conocida la electrónica  que alberga este reproductor  solo se trata de anular el jack de audio ( simplemente desoldaremos las dos resistencias  SMD que hay  arriba del propio conector y conectaremos en el  lado del jack  dos pequeños hilos que a su vez lo conectaremos a la salida del chip de audio tal y como se muestra en la fotografía

Respecto a la masa no hace falta una nueva conexión pues precisamente el jack tenia conectada la masa al lado común

!El jack de audio  ya  esta preparado para sacar el audio por BF en lugar de ser lo contrario ( audio in)!

DSCF2429

Y este seria el resultado del montaje:

DSCF2428

 

5-Finalmente ya hecha la modificación  seguiremos los pasos a la inversa:  vuelva a colocar la placa en su posición , ponga la carcasa superior , atornille los 4 tornillos  y finalmente pegue el cristal nuevamente

 

6-Ya puede conectar a la toma de  audio la salida directa del reproductor modificado y reproducir cualquier tema desde l reproductor modificado. Sinceramente la calidad de audio es muy superior a la que obteníamos modulando  por FM  la señal  y ademas  con este montaje ya no estaremos sujetos  a cortes e interferencias, ruido  etc ( y ademas no “gastaremos ” una memoria de nuestro  equipo de audio  en memorizar el canal que transmitía este equipo)

 

NOTA:

Como hay muchos  seguidores de este blog que  han tenido dificultades para localizar las resistencias SMD de la parte de entrada de audio del reproductor  de  MP3, se  adjunta una foto algo mas clarificadora  donde se marca  aproximadamente con dos círculos rojos  en el lugar  donde e  se  situarían  estas resistencias  que básicamente cumplen una función de protección de la entrada de   del circuito de audio ,  por lo que  si se eliminan dichas resistencias,  podemos usar el jack stereo de  3 1/2″   con seguridad sin interferir en el circuito de audio .

En todo caso el circuito debería  quedar como en la foto del circuito que se anexa  que aun hoy en día es funcional .

Se recomienda usar un soldador de punta muy fina  de poca   potencia  y si es posible una bomba de desoldar para  que el resultado  sea perfecto.

 

:circuito  modif

!Mucha  suerte   con esta pequeña modificación !

SI le interesa  el reproductor ,puede  comprarlo   directamente en Amazon siguiendo este enlace :Energy Sistem Car Mp3 F2 Racing Red – Reproductor MP3 para coche con transmisor FM (Fm-T, lector tarjetas, USB-Host, Line-In), Rojo!Gracias!!

A %d blogueros les gusta esto: