Ejecutar aplicaciones android en su pc ya es posible


En efecto   gracias ARChon runtime  (es una extensión para Chrome ) podemos  ejecutar un número ilimitado de APKs de Android

Las apk  deberán ser creadas con un script llamado chromeos-apk.  Este script junto  a la propia  extensión se han  creado  con r Vlad Filippov.

Esta vía  ofrece como vamos a ver  una manera bastante sencilla de ejecutar aplicaciones Android en cualquier plataforma ( es decir Windows, Linux, y Mac )  que soporte Google Chrome.

En un PC ,necesitamos tener instalado Chrome 37+ de 64 bits(si no funciona utilice la versión de desarrollo de Chrome, puede elegir la que sea compatible con su sistema desde aquí). Tanto el script como la extensión son inestables, y si además va a usar una versión inestable de Chrome, debe estar consciente de que muchas cosas pueden fallar o no funcionar perfectamente asi que Chrome Canary versión 64 bits  puede ser la mejor opción pues esta versión puede ser ejecutada independientemente de su versión estable de Chrome, de esta forma puede usarlo de pruebas sin temor a desconfigurar  su navegador de uso diario.

Para  descargar al extensión de ARChonse puede hacer  desde la página en GitHub. (por ejempo en función de su arquitectura podría ser do la versión 1.0 Intel x86 64-bit sin problemas.)

Instalación

  1. Descomprima el archivo con la versión de ARChon que descargó. Obtendrá una carpeta de nombre vladikoff-archon-44bc9ba24037.
  2. Abra Chrome Canary y escriba chrome://extensions/ en la barra de direcciones.
  3. Active el modo desarrollador.
  4. Presione el botón “Cargar extensión sin empaquetar…”
  5. Elija  la carpeta del paso 1.

aplicaciones Android desde Chrome

Para instalar una aplicación deberá seguir los mismos pasos que usamos para instalar la extensión.Va a necesitar una APK que sea compatible con ARChon. La comunidad de Reddit ha creado el subreddit r/chromeapks y desde ahí ofrecen una lista con las aplicaciones modificadas y que son compatibles hasta ahora, explican cuáles funcionan bien y cuáles no, y dejan enlaces de descarga. Si quiere aprender a modificar las aplicaciones para que sean compatibles con ARChon también puedes obtener la información desde el subreddit.

Errores

Cuando instala una aplicación, esta aparecerá en tu lista de extensiones de Chrome, usualmente con varios errores en rojo. No se preocupe, muchas funcionan aún cuando muestren esas alertas. Para ejecutar las aplicaciones debe presionar el botón “Iniciar” que aparece bajo el nombre de la misma.

aplicaciones Android desde Chrome

Dependiendo de cada aplicación puede tener cierres forzados cuando intente acceder a algunas características. Por ejemplo, la app de Twitter  deja ver todo el timeline, su perfil, cambiar opciones; pero, si hace clic sobre un tuit, o intenta escribir uno mismo, va a cerrarse. La aplicación de Instagram funciona perfectamente, pero, si quiere usar su cámara web o importar imágenes desde su galería para publicar, tiene que desactivar primero las opciones de cámara avanzada o sino tendrá un cierre forzado.

Fuente aqui

Anuncios

Arduino versus Netduino


La plataforma Arduino ha establecido un alto estándar obvio en la forma de entender y usar los  microcontroladores . Pero por ser el más conocido no significa ser el mas potente y por supuesto tampoco los es a nivel de  metodología de programación  : la plataforma Netduino  se ocupa precisamente de estas preocupaciones!

Aparte de la potencia mucho mayor  del microcontrolador y el entorno de desarrollo la versión  Plus  incorpora  en la misma placa  Ethernet y una ranura para tarjetas SD

Cada tarjeta viene con su propia etiqueta de dirección MAC marcada en la parte de atrás de la placa.Basado en los poderosos ST-micro STM32F405RG 32 bits microcontrolador, esta unidades  tambien son compatibles  con los escudos de  Arduino, pero como vemos en la siguinte tabla  ofrece  una ejora sustancial en el rendimiento:

Arduino Uno Mega Arduino Netduino 2
Velocidad del procesador 8 o 16 MHz 16MHz 168MHz
Código Almacenamiento 32kB 256KB 384KB
RAM 2KB 8KB 100 KB +
Entorno de Programación Arduino (sintaxis similar a C) Arduino (sintaxis similar a C) C #, arquitectura net, mono nativo en desarrollo
I / O 14 digitales, 6 analógico / digital 54 digital, analógica 16 14 digitales, 6 analógico / digital
Corriente DC por Pin I / O 40mA, fichas total 200mA 40mA, fichas total 200mA 25mA, fichas total 125mA
Tensión de I / O 5V 5V 3.3V, 5V tolerante
Precio ~ $ 30 ~ $ 59 ~ $ 60

Con las mejoras de la versión anterior como un nuevo procesador con mayor velocidad, almacenamiento de código, y UART no es difícil ver por qué el Netduino Plus 2 es una actualización de bienvenida muchisimo mas potente que otras plataformas

 Netduino Plus  incluye  22 GPIO con SPI, I2C, 4 UART ( 1 RTS / CTS), 6 PWM y 6 canales de ADC para interactuar con los interruptores, sensores, LEDs, dispositivos de serie, y mucho más.

Con Netduino puede  disfrutar de la programación basada en eventos, multi-threading, permitiendo la depuracion  línea por línea , incluir  puntos de interrupción y más con NET Micro Framework que combina la facilidad de codificación de alto nivel con las características de los microcontroladores.

Además esta placa es ampliable con accesorios de terceros fabricantes que ofrecen una funcionalidad pre-construida como localización GPS, control de servo y energía de la batería. El Netduino Plus es pin compatible con escudos  de Arduino  pero por favor tenga en cuenta que los conductores están obligados por algunos escudos de Arduino.

Los archivos de diseño de hardware para el Netduino Plus son tambien al igual que con Arduino de código abierto, así como el código fuente  permitiendo aprender de los diseños, remezclar, y disfrutar de la libertad

No hay que ser muy observadores para darse cuenta de que está inspirado en dicha plataforma tan conocida, pero ¿qué es lo que le hace tan interesante?.

En el  siguiente video se puede ver que Netduino debería tiene potencial para poder competir. El software que utiliza de desarrollo es el Microsoft Visual C# Express, el cual se encuentra gratuito en la pagina del desarrollador. Para las personas que estén acostumbradas a trabajar con programas .NET sin duda les será de gran comodidad, para los que no, es posible que al principio les cueste un poco más.

Ventajas sobre Arduino (la comparación que hacemos es con el modelo Duemilanove): en el video se mencionan algunas, pero la más relevante y la cual ayuda mucho a la hora de encontrar errores, es sin duda el debugger, el cual, Arduino carece. La memoria flash de Netduino es de 128k y la de Arduino de 32k, por mencionar algunas comparaciones que vemos en el video.

 Características  de Netduino:

  • Energía LED Blanco
  • LED azul de usuario
  • LED verde Ethernet
  • Reset – Puede ser utilizado como entrada GPIO
  • STMicro microcontrolador de 32 bits
  • Velocidad: 168 MHz, Cortex-M4
  • Código de almacenamiento: 384 KB
  • RAM: 100+ KB
  • los 22 pines digitales y analógicas: GPIO (General Propósito de entrada / salida de pines)
  • pines digitales 0-1: UART 1 RX, TX
  • pines digitales 2-3: UART 2 RX, TX / PWM
  • pines digitales 5-6: PWM, PWM
  • pines digitales 7-8: UART 3 RX, TX (también funciona como UART 2 RTS, CTS)
  • pines digitales 9-10: PWM, PWM
  • pines digitales 11-13: PWM / MOSI, MISO, SPCK
  • pin digital SD / SC: SDA / SCL (también funciona como UART 4 ​​RX, TX)
  • Velocidad Ethernet: 10 Mbps
  • Red Stack: lwIP
  • Tarjeta MicroSD hasta de: Almacenamiento 2GB
  • Tarjeta microSD Detección automática
  • Entrada: 7,5 a 9,0 VDC o USB con alimentación
  • Salida: 5 VDC y 3.3 VDC regulada
  • máx: 25 mA por pin (microcontrolador máx: est. 125 mA en total)
  • i / o digitales son 3,3 V – 5 V tolerante pero
  • Temperatura de funcionamiento: 0 – 70 ° C (32 – 158 ° F)
  • NEWARK – Pb-libre (sin plomo)

Requisitos del sistema:

  • Windows XP, Vista, 7 o 8 (32 o 64 bits) Recomendado: Windows 7 o 8
    1.6 GHz o un procesador más rápido, 1 GB de RAM, hasta 3 GB de espacio en disco duro disponible para Visual Studio Express 2010
  • Mac OS y Linux
    Parallels (USB y Serial despliegue apoyado; Requiere copia de Windows en la máquina virtual)
    VMWare Fusion o Oracle VirtualBox (despliegue de serie apoyado; Requiere copia de Windows en la máquina virtual)
    Experimental Mono apoyo (nativo) (Future nativa de Mac OS y soporte para Linux proporcionado por un proyecto experimental de código abierto)

Recursos:

Todo sobre las cámaras IP


Realmente  bajo la nomenclatura de  cámaras IP  entendemos simplemente una cámara  digital con conectividad a INTERNET  o en sus defecto a una red local,  cuyo uso fundamental   se relaciona con la vigilancia y la seguridad .

Estas cámaras están   formadas por un sensor de imagen normalmente de baja  o media resolución (nada que ver con las cámaras fotográficas digitales modernas), un objetivo, medidor de sensibilidad lumínica, medidor de exposición, objetivo, iris, Carcasa, Soporte, Filtro ICR,  etc.

Las cámaras  IP utilizan técnica de barrido de imágenes con relativas bajas resoluciones, usan mecanismo de compensación de contraluz, están habilitadas par poder  “barrer”   determinadas zonas de exposición,y tienen  capacidad de aplicar Máscaras de privacidad.

Asimismo las cámaras Ip  podemos clasificarlas por sus características físicas  :Cámaras fijas, Cámaras domo fijas y Cámaras PTZ ó por su ámbito de utilización:Cámaras para interior y Cámaras para exterior

Las cámaras  que no disponen de sensor megapíxel ofrecen resolución VGA.La resolución VGA es una resolución derivada de la industria informática, adecuada para cámaras IP ya que el vídeo basado en VGA produce píxeles cuadrados que coinciden con los de las pantallas de ordenador. Los monitores de ordenador manejan resoluciones en VGA o múltiplos de VGA.

Una cámara IP con resolución megapíxel utiliza un sensor megapíxel.La resolución megapíxel proporciona una imagen con un millón de píxeles o más.La resolución megapíxel ofrecen mucho más detalle y potencial que las cámaras analógicas tradicionales. La resolución analógica D1 equivale a 0,4 megapíxel

resolucion camaras ip 

 

Compresión de vídeo.

Para transmitir video de forma  eficiente en las cámaras digitales se usa codificación MEG1,MPEG2 o el standard H264:

1-MJPEG  :Secuencia de vídeo digital compuesta por una serie de imágenes JPEG individuales.Con más de 16 imágenes por segundo, el ojo humano lo percibe como vídeo en movimiento.

– VENTAJAS

  • Cada imagen de una secuencia de video puede conservar la misma calidad garantizada que se determina mediante el nivel de compresión elegido para la cámara IP.
  • Es resistente (si falla un fotograma durante la transmisión, el resto del vídeo no se ve afectado).
  • Tiene una amplia compatibilidad.

– INCONVENIENTES

  • No utiliza ninguna técnica de compresión de vídeo para reducir datos, lo que da lugar a una relación de compresión baja para la calidad proporcionada.

compresion camaras ip2. MPEG4

Compatible con aplicaciones de ancho de banda reducido y aplicaciones que requieren imágenes de alta calidad, sin limitaciones de frecuencia de imagen.

3. H.264

H.264 es un estándar de codificación de vídeo, capaz de proporcionar imagen a buena calidad con tasas de compresión notablemente inferiores a los estándares anteriores (MPEG-2, MPEG-4 parte 2, etc.). Requiere menos ancho de banda y espacio de almacenamiento para los archivos de vídeo. Se puede lograr una mayor calidad de imagen para una tasa de bits determinada. Necesita dispositivos de mejor rendimiento

 

Además de ofrecer conectividad ethernet ,la mayoria de las  cámaras IP, tambien soportan WIFI .Los estándares WiFi sonlos isguintes:

  • 802.11 b a 11 Mbps en la banda de 2,4 GHz. (Sólo para interiores, Potencia máxima100 mW(20dBm), 13 canales de 20 Mhz pero realmente sólo hay 3 no interferentes entre sí)
  • 802.11 g a 54 Mbps en la banda de 2,4 GHz.
  • 802.11 a a 54 Mbps en la banda de 5 GHz. (Tres subandas: 5150 – 5350 MHz à Sólo para interior con una potencia máxima de 200 mW, 5470 – 5725 MHz àpara exteriores con un potencia máxima de 1 W (30 dBm). Tenemos un total de 11 canales de 20 MHz independientes, 5730 – 5840 MHz à nueva banda para exteriores con una potencia máxima permitida de 4 W (36 dBm). Un total de 5 canales independientes de 20 MHz)
  • 802.11 n a 300 Mbps en la bandas de 2,4 GHz y 5 GHz.

 

En cuanto el modo de conexión de cámaras ip  es muy sencillo :solo habrá que alimentar a esta por medio de  una fuente que suele ir junto a la cámara  y por otro lado conectar con un cable de red ethernet al router del hogar( posteriormente cuando este configurado si ésta tiene wifi podremos prescindir de la conexión por cable.

conexion camaras ip

Para acceder al servidor web de una cámara IP especificamos en el navegador la dirección IP y el puerto como por ejemplo:

acceder a puerto

A la hora de establecer una dirección IP hay dos criterios:

Estática: La asignamos de forma manual.

DHCP: Dejamos que el equipo obtenga una dirección IP de forma automática. Sólo debe haber un servidor DHCP por subred.

configuracion ip

El servicio DNS permite identificar los equipos en Internet mediante nombres (más fáciles de recordar) en vez de con direcciones IP.

servidor dnsLa escasez de direcciones de IP ha producido la aparición de los servidores de DNS dinámicos que actualizan sus tablas cada 5 minutos para permitir “localizar” equipos con IP pública dinámica.

 

Un ejemplo de DNS dinámicos es  utilizando el DDNS de un fabricante

utilizando dns fabricanteTambien podemos dar este servicio  utilizando el DDNS de Visiotech

dns visiotech

Hay muchas paginas que nos pueden decir cual es nuestra dirección IP  real , por ejemplo la página www.ping.eu permite saber cuál es nuestra IP pública y si los puertos de una máquina están correctamente abiertos. 

ping puertos

 

 

A continuación vamos  a ver algunas cámaras IP comerciales:

 

X-SECURITY.

Es una cámara IP con un slot para tarjeta microSD de 32 GB

Ejemplo configuración cámara IPC-HF3200-W

Nos conectamos al servidor web de la cámara IPX-SD240-20N y observamos cómo afecta los siguientes parámetros a la tasa binaria de la cámara: Resolución, Imágenes/segundo, Tipo de tasa binaria, Calidad.

Teniendo en cuenta que la tasa binaria puede variar entre 56Kbps a 8.192Kbps según la resolución, imágenes por segundo y calidad seleccionadas suponemos 4 escenarios ficticios para una tarjeta microSD de 32 GB:

1Acceso remoto

xsecurity camaras ip

SAFIRE

 Acceso remoto

safire camaras ip

Apexis

Instalación

  1. Montamos la cámara (antena, soporte, conexiones…)
  2. Instalamos el IPCameraSetup
  3. Ejecutamos el IP Camera Tool
  4. Habilitamos los ActiveX
  5. Configuramos la cámara
  6.              WiFi
  7.              Acceso remoto
  8.              Establecemos alarmas

configuracion apexis

Cámaras Wansview

Es un cámara   Full P2P

wansview p2pAcceso móvil

-IPCloud: Con esta aplicación podemos conectar directamente con nuestra cámara simplemente escaneando su código QR. También se puede hacer escribiendo su número de serie y su código de verificación

-LiveIPC: Con esta aplicación podemos añadir nuestros dispositivos a la cuenta dehttp://www.liveipc.net simplemente escaneando su código QR. También se puede hacer escribiendo su número de serie y su código de verificación.

WL -330N3G 

router 3g camaras ipHabalamos  ahora de un pequeñisimo Router Inalámbrico 802.11N con 6 modos de funcionamiento:802.11 b/g/n, 150 Mbps, Frecuencia 2,4 GHz, Facilidad de configuración, Antena integrada de 2.6 dB.

Seis modos de funcionamiento: Router, punto de acceso, repetidor, adaptador Ethernet, Hotspot y compartición de conexión 3G.

ENS500

Dispositivo para exteriores 11a/N con capacidad hasta 300 Mbps

11

Si el puerto Ethernet “Network” del inyector PoE se conecta a un switch donde hay más dispositivos conectados todos ellos puede compartir la conexión inalámbrica.

El propio equipo tiene un interfaz Ethernet secundario que permite conectar directamente un ordenador, otra cámara o similar sin necesidad de utilizar un switch. Por ejemplo, se pueden conectar 2 cámaras directamente a un ENH500: una a través del inyector PoE y otra a través del interfaz secundario.

ENS200

Punto de acceso/Cliente para exteriores en 2,4GHz

 

ens200

Puede encontrar todas las cámaras  citadas   asi como los routers  en el  siguiente link:camaras ip

Escudo WIFI para Arduino


En la víspera de la Maker Faire, el equipo de Atmel y Arduino han anunciado el lanzamiento de la Arduino Wi-Fi Escudo 101, un escudo que permite la rápida creación de prototipos de Internet de las Cosas (IoT) aplicaciones en el altamente popular plataforma de código abierto.

El escudo Wi-Fi para 101 es una extensión fácil de usar que perfectamente se puede conectar a cualquier placa Arduino , y en teoria con los drives NETMF adecuados tambien a Netduino ,permitiendo un  alto rendimiento de la conectividad Wi-Fi. Este nuevo escudo da a la comunidad de diseño más oportunidades para conectarse de forma segura mediante las aplicaciones de la IO, a los bienes de consumo , vestibles, robótica, dispositivos de alta tecnología y más.

 

El  escudo Wi-Fi para 101 es accionado por el controlador de red inalámbrica de Atmel, parte de la  familia Atmel SmartConnect , y también incluye el  dispositivo CryptoAuthentication  que permite a los usuarios incorporar fácilmente capacidad de autenticación de hardware en su diseño.

“En este mundo cada vez más conectado, la conexión del escudo Wi-Fi  para  Arduino 101 ayudará a impulsar más invenciones en el mercado de la IO,” explicó Arduino Co-Fundador Massimo Banzi.”La expansión de nuestra cartera de extensiones de Arduino, este nuevo escudo se puede conectar sin problemas a cualquier placa Arduino moderna dando a nuestra comunidad más opciones de conectividad, junto con elementos de seguridad adicionales a sus proyectos creativos.”

Arduino_Wi-Fi_Overhead_Sticker

Los fabricantes pueden conectar el escudo Wi-Fi para 101 a cualquier placa Arduino R3 moderna, que permite la conectividad a Internet utilizando cualquiera de los puntos tradicionales de acceso Wi-Fi. Se basa en el controlador de 802.11b / g / n de red WINC1500 que cuenta con una pila integrada TCP / IP, la seguridad TLS y SoftAP para el aprovisionamiento sin fisuras.También cuenta con una autenticación de Atmel  dispositivo de seguridad que se puede utilizar para las claves, contraseñas o datos secretos.

Al estilo de Arduino, todos los elementos de la plataforma – hardware, software y documentación – es de libre acceso y de fuente abierta. Esto ofrece al publico   poder  descubrir exactamente cómo se hace y después de utilizar su diseño como punto de partida para sus propios circuitos. Una biblioteca de Wi-Fi de código abierto  también estará disponible para que los usuarios puedan escribir sketches que se conectan a Internet a través del escudo. El escudo recién presentado se conecta a una placa Arduino usando largos encabezados por arrollamiento de hilo que se extienden a través del escudo, manteniendo así la disposición de pines intacto y permite que otros escudos para ser apilados en la parte superior.

“A través de nuestra asociación de larga data con Arduino, Atmel está comprometido con el Movimiento Maker y emocionado de permitir que los dispositivos más conectados en el Internet de las cosas”, dijo Reza Kazerounian, Vicepresidente Senior y Gerente General de Atmel. “Nos hemos asociado con Arduino para desarrollar una verdadera solución IoT llave que permitirá a la comunidad para crear posibilidades ilimitadas. Estamos ansiosos por ver la amplitud de la próxima generación de productos de la IO que este nuevo escudo ayudará a los diseñadores a lograr “.

Desde 2005, una comunidad mundial de fabricantes ha reunido en torno a esta plataforma de código abierto. Y, microcontroladores Atmel estaban allí desde el principio , que proporciona microcontroladores sencillos pero poderosos (MCU) como la parte del hardware de la ecuación.Artistas, diseñadores, inventores, ingenieros, músicos y estudiantes han recurrido a la placa Arduino – diseñado en torno Atmel AVR o Atmel ARM basados ​​en microcontroladores – para llevar sus ideas a la vida.

Al ofrecer una combinación única de rendimiento, eficiencia energética y flexibilidad de diseño, Atmel MCU se complementan perfectamente con Arduino y las necesidades de los responsables.Más importante aún, vienen prácticamente pre-integrado los periféricos necesarios para detectar y controlar el mundo físico. Atmel MCU y Arduino-el dúo original en el corazón del movimiento fabricante global. El escudo recién anunciado proporcionará conectividad Wi-Fi segura para todas las plataformas Arduino, lo que permite posibilidades ilimitadas para dispositivos inteligentes conectados, la IO ( es decir , Internet de las cosas).
Arduino_Wi-Fi_Angle_Sticker

Fuente aqui

Como incrementar la vida de la batería de nuestros teléfonos


Smartphones no son realmente teléfonos móviles. Son pequeños ordenadores personales que puede llevar con usted y  que también sirven para comunicarse . Simplemente sucede que también pueden usarse para  hacer llamadas telefónicas – pero eso no es para lo que la mayoría de la gente los usa . Sí, estos pequeños ordenadores son impresionantes y útiles – pero hay un inconveniente: la duración de la batería es terrible(la única manera en que se puede mantener  encendido a través de un día sin una carga extra es simplemente no utilizar el teléfono.

Posiblemente las dos cosas que la gente quiere en un teléfono nuevo es mejor duración de la batería y una mejor cámara. Pero, ¿cómo podría la vida de la batería de un teléfono mejorar? Sólo hay unas pocas cosas que podrían cambiar.

Las baterías más grandes
Supongamos que el teléfono se queda durante 5 horas si está continuamente utilizando. ¿Cómo puedes hacer que se ejecute por más tiempo? Se puede poner en una batería más grande capacidad. Antes de que el iPhone 6, todos los iPhones anteriores tenían sobre una batería mAh de litio-ion de 1500. ¿Qué es “mAh”? Esta es la abreviatura de hora mili-amperios. Así que una batería mAh 1 podría producir 1 miliamperios de corriente durante 1 hora. Sí, es una medida de la energía almacenada en la batería. Usted puede saber exactamente la cantidad de energía si se conoce el voltaje de la batería. Para los 5s iPhone, tiene una batería de 1570 mAh con una tensión de 3,8 voltios. Si usted conoce el voltaje y la corriente, entonces el poder y la energía serían:

formual1

Si yo sé que la corriente en miliamperios y el tiempo en horas, puedo usar esto para obtener la siguiente expresión para la energía en una batería (en Joules). He aquí cómo usted haría que el cálculo de la energía en la batería del iPhone 5s.

fromula2

Ok, eso parece una gran cantidad de energía, pero a lo mejor no es suficiente (así, no es suficiente para mí). ¿Qué pasa si usted pone una batería más grande en el teléfono? ¿No sería una batería de 3000 mAh durar el doble de tiempo? Sí, creo que probablemente lo haría. Sin embargo, hay un problema. Si utiliza el mismo tipo de batería que sería aproximadamente el doble de grande y dos veces más pesado. Puede que no sea exactamente el doble del tamaño desde una batería más grande puede tener un porcentaje más pequeño de tamaño dedicado a la cubierta exterior y otros componentes necesarios – pero usted consigue la idea.

Hay una manera de lidiar con una batería más grande que no hace todo el mundo odia el teléfono – hacer un teléfono más grande. Si usted tiene un teléfono más grande, algunas cosas no cambian de tamaño – como el procesador y la cámara. Claro, la pantalla se hace más grande (y usa más energía), pero usted todavía puede poner una batería más grande en ese país. Mira las iPads. Son mucho más grande que un iPhone y parece que tienen duración de la batería bastante decente. Tal vez el iPhone 6 Plus tendrá vida muy impresionante batería (Apple dice que será mejor). Sólo para estar seguro, Apple debería enviarme uno para que pueda probarlo.

Mayor densidad de energía de la batería
Casi todos los teléfonos utilizan la batería de iones de litio. Estos tienen aproximadamente 4,32 MJ / L (Mega Julios por litro). Sí, la densidad de energía es la energía almacenada por unidad de volumen. No estoy seguro de por qué, pero parece que un símbolo común para la densidad de energía es de u y se define como  u =E/V

Es igual que la densidad de masa excepto que es para la energía. También existe la energía específica. Esto le indica que la energía por unidad de masa – pero no estoy demasiado preocupado por la masa de mi teléfono (pero el volumen es importante).

¿Dónde podría encontrar las densidades de energía para diferentes soluciones de almacenamiento? Por supuesto Wikipedia tiene cubierto. Estas son algunas de las densidades de energía interesantes:

■ Gasolina = 32,4 MJ / L
■ litio-ion = 0,9 a 2,63 MJ / L
■ Batería de Plomo Ácido = 0,34 MJ / L
■ Sandwich = 10.13 MJ / L (el que añade esto a la página de Wikipedia es un genio)
■ La antimateria = 9.266 x 10104 MJ / L
Si desea conservar la batería del teléfono del mismo tamaño pero aumentar el almacenamiento de energía, usted tendrá que encontrar algo con una mayor densidad de energía. En este momento, de iones de litio es el mejor que podemos hacer por una batería. Parece seguro apostar que en los cerca de los humanos futuros podrían encontrar algo en el / gama L 5 MJ para una batería, pero que todavía apenas golpee la vida de la batería hasta en un factor de 2 El doble de la duración de la batería sería bueno, pero me gustaría algo aún más impresionante.

Un teléfono que funciona con sándwiches duraría cerca de 5 veces más que un teléfono alimentado de litio-ion. Por supuesto que tendría un pequeño bocadillo pequeño en su teléfono y que se necesita un poco de estómago pequeño para ir con ella. En el lado negativo, usted tendría que llevar el teléfono al baño al menos una vez al día o enfrentarse a ella caca en el bolsillo (que sería incómodo). Oh, no te olvides de alimentar a su teléfono. Probablemente, sería necesario menos tiempo para alimentar un teléfono de lo que sería para recargar una batería.

¿Qué pasa con un teléfono alimentado antimateria? Si usted tuviera la misma pila de tamaño antimateria como en su teléfono actual, que iba a durar unos 10.100 años. Sólo por comparación, el Universo es más probable de 14 mil millones (14 x 109) años de edad. Ahora, no te emociones. Todavía existe el problema de la toma de energía aniquilación de antimateria y convertirla en electricidad para hacer funcionar el teléfono. Es bien requeriría mucho más espacio o la radiación podría matarte. Aún así, el teléfono al menos debe correr hasta que Apple anuncia el iPhone 22sd Plus en el año 2034.

Móviles más Eficientes 
Lo que si se mantiene el teléfono del mismo tamaño con la misma batería? ¿Es posible hacer que el teléfono dure más tiempo? Sí. Usted puede hacer un teléfono que utiliza menos energía. Tal vez la pantalla es más eficiente o tal vez el procesador es mejor – pero de cualquier manera si un teléfono utiliza menos energía que va a durar más tiempo. Creo que esto es esencialmente lo que ha sucedido con algunos de los nuevos ordenadores portátiles que tienen una autonomía de 10 horas. Las baterías en estos portátiles no son realmente mucho más grande, pero los procesadores son más eficientes.

¿Qué pasa si el teléfono estaba recargando todo el tiempo mientras lo estaba utilizando? Por supuesto que se necesita algún tipo de fuente de energía externa – pero tal vez eso iba a funcionar.  Estas podrían ser  algunas opciones.

  • Recarga escribiendo. ¿Qué pasaría si cada vez que empujó en el teléfono para escribir, resultó que en energía que recarga el teléfono? Parece una gran idea, pero me miró esto antes – que no funcionaría. Usted simplemente no obtiene suficiente energía de cada “push” para hacer de este método de trabajo.
  • Carga solar. Si su teléfono tiene un panel solar en todo el caso, se podría cobrar por la luz del sol.  Si usted dejó el teléfono en la luz solar directa (y que da al Sol), se podía cargarla en 4 horas. Ese es el mejor de los casos. Siendo realistas, esto podría extender la vida de la batería un poco.Incluso  hay  paneles solares  transparentes que podrian ir en un futuro pegados a la mayoría de los teléfonos pudiendo proporcionar hasta un 60 %  de autonomia extra según algunos expertos
  • Carga con sonido. Piense de las ondas sonoras como las oscilaciones en la presión del aire (ya que es lo que realmente son). Estos cambios en la presión del aire podría empujar en el teléfono de una manera muy similar que el dedo empuja por teléfono mientras se escribe. ¿Te sorprende que ya Miré a este método de carga? El mejor de los escenarios para la carga por el sonido tomaría más de 100 días para cargar un teléfono utilizando el ruido nivel de conversación. A menos que usted planea vivir en una obra o en un concierto de rock, este método no sirve para nada.
  • La carga cinética. Hay algunos relojes mecánicos que no necesitan ser alimentado a través de la bobina. En su lugar hay una masa en un resorte dentro del reloj. Sólo a través del proceso de ponerse el reloj, esta masa-resorte se mueve alrededor de almacenar energía en el reloj. Usted podría hacer algo similar para los relojes eléctricos. Un imán en movimiento a través de una bobina de alambre también puede generar una corriente eléctrica. ¿Podría este trabajo en un teléfono? Voy a decir “no.” Miré a esta misma idea para los relojes inteligentes y simplemente no va a producir la energía suficiente para hacer una diferencia.
  • La carga inalámbrica. Carga inalámbrica ya es “una cosa”. De hecho, el reloj de Apple utilizará la carga inalámbrica. Suena bien, pero no va a ser de mucha ayuda para los teléfonos inteligentes. Tengo un buen resumen de la física implicada en carga inalámbrica (carga inductiva) – pero el punto clave es que usted tiene que tener el dispositivo y el cargador cerca uno del otro. No es una cosa de largo alcance. Carga inalámbrica podría tener un gran impacto sin embargo. Ya que significa que no es necesario un cable de carga, puede tener carga ubicua. Usted puede poner el teléfono sobre la mesa o en su coche y BOOM – se está cargando. Eso estaría bien.
  • Menor carga computacional significa menor consumo: esta es una idea que algunos fabricantes están desarrollando .La filosofía sería  hacer  tanto aplicaciones como SO que hagan un uso más optimo de los recursos del teléfono y con ello extender la vida de la batería de éstos.

Al final, quizás  la mejor solución sea una mezcla  de todas esas ideas :si podemos hacer que las baterías de mayor densidad energética (y se puede) y podemos hacer que el procesador más eficiente (que se puede), la combinación de estos dos debe hacer un teléfono que al  menos  durará la carga  todo el día.

Fuente aqui

Empezando a desarrollar con Hadoop


Hadoop es una implementación de código abierto de la plataforma MapReduce y sistema de archivos distribuido, escrito en Java. Este post explica los conceptos básicos de cómo empezar a utilizar Hadoop para experimentar y aprender, abarcando tanto la creación de la plataforma como la conexión de otras herramientas para utilizarlo.

Requisitos previos

Desarrollar en Hadoop requiere un entorno de programación Java. Usted puede descargar un kit de desarrollo de Java (JDK) para una amplia variedad de sistemas operativos desde http://java.sun.com . Hadoop requiere el Java Standard Edition (Java SE), la versión 6, que es la versión más actualizada en el momento de escribir estas líneas.

Una maquina virtual  Hadoop

En esta sección se explica cómo configurar una máquina virtual para ejecutar Hadoop dentro de su equipo host. Después de instalar el la imagen de máquina virtual software de la máquina virtual y, usted aprenderá cómo iniciar sesión y ejecutar trabajos en el entorno de Hadoop.

Los usuarios de Linux, Mac OSX, u otros entornos Unix son capaces de instalar Hadoop y ejecutarlo en una (o más) máquinas sin necesidad de software adicional más allá de Java. Si usted está interesado en hacer esto, hay instrucciones disponibles en el sitio web de Hadoop en el documento de introducción .

Ejecución de Hadoop en la parte superior de Windows requiere la instalación de cygwin , un ambiente similar a Linux que se ejecuta dentro de Windows. Hadoop funciona razonablemente bien en cygwin, pero es oficialmente “sólo con fines de desarrollo.” Hadoop en cygwin puede ser inestable, y la instalación de cygwin en sí puede ser engorroso.

Para ayudar a los desarrolladores en empezar fácilmente con Hadoop, hay  una imagen de máquina virtual que contiene una instalación preconfigurada Hadoop. La imagen de la máquina virtual se ejecutará dentro de un entorno de “sandbox” en el cual podemos ejecutar otro sistema operativo. El sistema operativo en el interior del recinto de seguridad no sabe que hay otro ambiente operativo fuera de ella; actúa como si fuera en su propia computadora. Este entorno de recinto de seguridad se conoce como el “huésped de la máquina” ejecutando un “sistema operativo invitado.” La máquina física que ejecuta el software de máquina virtual se conoce como la “máquina host” y se ejecuta el “sistema operativo host.” La máquina virtual ofrece otras aplicaciones host de la máquina con la apariencia de que otro equipo físico está disponible en la misma red. Las aplicaciones que se ejecutan en la máquina host ver la máquina virtual como una máquina independiente con su propia dirección IP, y pueden interactuar con los programas dentro de la máquina virtual en esta moda.

vm-en-Ventanas
Una máquina virtual encapsula un sistema operativo dentro de otro.
Aplicaciones en la VM creen que se ejecutan en un host físico separado de otras aplicaciones en el sistema operativo externo. Aquí se demuestra una máquina host de Windows y una máquina (virtual) Linux invitado.

Los desarrolladores de aplicaciones no necesitan utilizar la máquina virtual para ejecutar Hadoop. Desarrolladores de Linux suelen utilizar Hadoop en su entorno de desarrollo nativo, y los usuarios de Windows a menudo instalan cygwin para el desarrollo de Hadoop. La máquina virtual se proporciona con este tutorial permite a los usuarios un cómodo plataforma de desarrollo alternativo con un mínimo de configuración requerida. Otra ventaja de la máquina virtual es su funcionalidad de restablecimiento de fácil. Si sus experimentos rompen la configuración Hadoop o hacen que el sistema operativo inutilizable, siempre se puede simplemente copiar la imagen de máquina virtual desde el CD de nuevo a donde se ha instalado en su ordenador, y partir de un conocido buen estado.

La máquina virtual ejecuta Linux, y viene preconfigurada para ejecutar Hadoop en modo pseudo-distribuido en este sistema. (Se configura como un sistema totalmente distribuido, pero se ejecuta realmente en una instancia de máquina única.) Podemos escribir programas utilizando Hadoop editores y otras aplicaciones de la plataforma de acogida, y ejecutarlos en nuestro “grupo” que consta de sólo la máquina virtual . Nos conectaremos nuestro entorno host para la máquina virtual a través de la red.

Cabe señalar que la máquina virtual también se ejecutará dentro de otra instancia de Linux. Los usuarios de Linux pueden instalar el software de la máquina virtual y ejecutar el Hadoop VM también; la misma separación entre los procesos de acogida y los procesos de los huéspedes se aplica aquí.

Instalación de VMware Player

La máquina virtual está diseñado para funcionar dentro del VMware Player . Una copia del vvm-player de VMware (versión 2.5), tanto para 32 bits de Windows y Linux se incluye aquí ( linux-rpm , linux-bundle , ventanas-exe ).

Si está ejecutando en un sistema operativo diferente, o prefiere descargar una versión más reciente del reproductor, una estrategia de instalación alternativo es navegar a http://info.vmware.com/content/GLP_VMwarePlayer . Usted tendrá que registrarse para obtener un “kit de inicio de virtualización.” Usted recibirá un correo electrónico con un enlace a “Descargar VMware Player.” Haga clic en el enlace, y luego haga clic en “Descargar ahora” en la parte superior de la pantalla en “versión más reciente” y siga las instrucciones. VMware Player está disponible para Windows o Linux. El último está disponible tanto en versiones de 32 y 64 bits versiones.

El programa VMware Player  ocupa  aproximadamente un 170 MB de descarga. Cuando la descarga se haya completado, ejecute el programa de instalación para configurar VMware Player, y siga las instrucciones como se indica. Instalación en Windows se realiza mediante un proceso de instalación de Windows típico.

Configuración del entorno virtual

A continuación, copie la máquina virtual de Hadoop en una ubicación en el disco duro. Es una carpeta vmware comprimido (hadoop-vm-aparato-0-18-0), que incluye un par de archivos; un archivo .vmdk que es una instantánea del disco duro de la máquina virtual, y un archivo .vmx que contiene la información de configuración para iniciar la máquina virtual. Después de descomprimir el archivo zip carpeta vmware, para arrancar la máquina virtual, haga doble clic en el archivo hadoop-aparato-0.18.0.vmx en el Explorador de Windows.

vm-copia

Al iniciar la máquina virtual por primera vez, VMware Player reconocerá que la imagen de la máquina virtual no se encuentra en el mismo lugar que solía ser. Usted debe informar a VMware Player que copió esta imagen de máquina virtual. VMware Player entonces generará nuevos identificadores de sesión para esta instancia de la máquina virtual. Si posteriormente mueve la imagen VM a una ubicación diferente en su propio disco duro, usted debe decirle a VMware Player que se ha mudado de la imagen.

Si alguna vez dañado la imagen VM (por ejemplo, sin querer borrar o sobrescribir archivos importantes), siempre se puede restaurar una copia prístina de la máquina virtual mediante la copia de una imagen VM recién salido de este CD tutorial. (Así que no seas tímido a la hora de explorar! Siempre puede restablecer a un Estado que funcione.)

Después de seleccionar esta opción y hacer clic en Aceptar, la máquina virtual debe comenzar arranque normalmente. Verá que realice el procedimiento de arranque estándar para un sistema Linux. Será obligarse a una dirección IP en un segmento de red sin usar, y luego mostrar un mensaje que permite a un usuario para iniciar sesión.

Cuentas de usuario de la máquina virtual

La máquina virtual viene preconfigurado con dos cuentas de usuario: “root” y “hadoop-user“. La cuenta hadoop-usuario tiene permisos de sudo para realizar las funciones de gestión del sistema, como apagar la máquina virtual. La gran mayoría de su interacción con la máquina virtual será tan hadoop usuario.

Para iniciar sesión como hadoop usuario, primero haga clic en el interior la pantalla de la máquina virtual. La máquina virtual tomará el control de su teclado y el ratón. Para escapar de vuelta a Windows en cualquier momento, pulse CTRL + ALT al mismo tiempo. La contraseña hadoop usuario de usuario es Hadoop. Para iniciar sesión como root, la contraseña es root.

Ejecución de un job en Hadoop

Ahora que la máquina virtual se inicia, o se ha instalado Hadoop en su propio sistema en el modo pseudo-distribuido, vamos a asegurarnos de que Hadoop está configurado correctamente.

Si está utilizando la máquina virtual, entre como Hadoop-usuario, como se indica más arriba. Va a empezar en su directorio personal: / home / hadoop usuario. Ls Mecanografía, verá un directorio llamado hadoop /, así como un conjunto de scripts para administrar el servidor. Nombre de host del equipo virtual es hadoop-desk.

En primer lugar, debemos iniciar el sistema Hadoop. Escriba el siguiente comando:

  hadoop-user @ hadoop-desk: ~ $ ./start-hadoop

Si ha instalado Hadoop en su sistema host, utilice los siguientes comandos para lanzar hadoop (asumiendo que ha instalado en ~ / hadoop):

[email protected]:~$ cd hadoop
[email protected]:~/hadoop$ bin/start-all.sh

Verá una serie de mensajes de estado aparecerá como el arranque servicios. Si se le indica si está bien para conectar con el host actual, escriba “sí”. Pruebe a ejecutar un programa de ejemplo para asegurar que Hadoop está configurado correctamente:

  hadoop-user @ hadoop-desk: ~ $ cd hadoop 
  hadoop-user @ hadoop-desk: ~ / hadoop $ pi jar bin / Hadoop Hadoop-0.18.0-examples.jar 10 1000000

Esto debería proporcionar una salida que se ve algo como esto:

Wrote input for Map #1
Wrote input for Map #2
Wrote input for Map #3
...
Wrote input for Map #10
Starting Job
INFO mapred.FileInputFormat: Total input paths to process: 10
INFO mapred.JobClient: Running job: job_200806230804_0001
INFO mapred.JobClient: map 0% reduce 0%
INFO mapred.JobClient: map 10% reduce 0%
...
INFO mapred.JobClient: map 100% reduce 100%
INFO mapred.JobClient: Job complete: job_200806230804_0001
...
Job Finished in 25.841 second
Estimated value of PI is 3.141688

Esta tarea se ejecuta una simulación para estimar el valor de pi basado en el muestreo. La prueba primero escribió una serie de puntos a una lista de archivos, uno por tarea mapa. A continuación, calcula una estimación de PI basado en estos puntos, en la tarea MapReduce sí mismo. Cómo MapReduce funciona y cómo escribir un programa de este tipo se discuten en el siguiente módulo. El programa cliente Hadoop que utilizó para lanzar la prueba pi lanzó el trabajo, aparece cierta información de actualización progreso en cuanto a cómo está avanzando el trabajo, y luego mostrará algunos contadores de rendimiento finales y la producción específica de la tarea: una estimación para el valor de pi.

Acceso a la máquina virtual a través de ssh

En lugar de utilizar directamente el terminal de la máquina virtual, también puede conectarse “a distancia” a través de ssh desde el entorno de acogida. El uso de un cliente de ssh como masilla (en Windows), inicie la sesión con nombre de usuario “hadoop-usuario” (contraseña hadoop) a la dirección IP que se muestra en el terminal de la máquina virtual cuando se inicia. Ahora puede interactuar con esta máquina virtual como si se tratara de otra máquina Linux en la red.

Esto sólo se puede hacer desde la máquina host. La imagen de VMware es, por defecto, configurado para utilizar sólo-host de red; sólo el equipo host puede hablar con la máquina virtual sobre su interfaz de red. La máquina virtual no aparece en la red externa real. Esto se hace para fines de seguridad.

Si usted necesita encontrar la dirección IP de la máquina virtual después, el comando ifconfig mostrará este en el campo “inet addr”.

Nota importante de seguridad: En la configuración de VMware, puede volver a configurar la máquina virtual para el acceso de red en lugar de la creación de redes sólo de host. Si se habilita el acceso a la red, se puede acceder a la máquina virtual desde cualquier otro lugar en la red a través de su dirección IP. En este caso, debe cambiar las contraseñas asociadas a las cuentas en la máquina virtual para evitar que usuarios no autorizados puedan iniciar sesión con la contraseña predeterminada.

Cómo apagar la máquina virtual

Cuando haya terminado con la máquina virtual, puede apagarlo conectándose como hadoop usuario y poweroff sudo escribir. La máquina virtual se apagará de forma ordenada y en la ventana que se ejecuta en desaparecerá.

Primeros pasos con Eclipse

Un potente entorno de desarrollo para la programación basado en Java es Eclipse . Eclipse es un IDE gratuito de código abierto. Es compatible con varios idiomas a través de una interfaz de complementos, con especial atención a Java. Las herramientas diseñadas para trabajar con Hadoop se pueden integrar en Eclipse, por lo que es una atractiva plataforma para el desarrollo de Hadoop. En esta sección vamos a revisar cómo obtener, configurar y utilizar Eclipse.

Descarga e instalación

Nota: La versión más actual de Eclipse se llama Ganímedes. Nuestras pruebas demuestran que Ganímedes es actualmente incompatible con el plugin de Hadoop MapReduce. La versión más reciente que funcionó correctamente con el plugin de Hadoop es la versión 3.3.1, “Europa”. Para descargar Europa, no visite el sitio web principal de Eclipse; que se puede encontrar en el sitio Archivo http://archive.eclipse.org/eclipse/downloads/ como el “Archivo de Prensa (3.3.1).”

El sitio web de Eclipse tiene varias versiones disponibles para su descarga; elija “Eclipse Classic” o “Eclipse IDE para desarrolladores de Java.”

Porque está escrito en Java, Eclipse es muy multiplataforma. Eclipse está disponible para Windows, Linux y Mac OSX.

Instalación de Eclipse es muy sencillo. Eclipse se empaqueta como un archivo zip. El propio Windows de forma nativa puede descomprimir el archivo comprimido en un directorio. Si encuentra errores con la herramienta de descompresión de Windows (ver [1] ), pruebe a utilizar una utilidad de descompresión de terceros, tales como 7-zip o WinRAR .

Después de haber descomprimido Eclipse en un directorio, se puede ejecutar directamente desde ese directorio sin modificaciones o otro procedimiento “Instalación”. Es posible que desee moverlo a C: \ Archivos de programa \ Eclipse para mantener consistente con sus otras aplicaciones, pero puede residir en el escritorio o en otros lugares también.

Instalación del Plugin  MapReduce

Hadoop viene con un plugin para Eclipse que hace que el desarrollo de programas de MapReduce más fácil. En el directorio de Hadoop-0.18.0 / contrib / eclipse-plugin en este CD, se encuentra un archivo llamado Hadoop-0.18.0-Eclipse-plugin.jar. Copia este en el plugins / subdirectorio donde ha descomprimido Eclipse.

Cómo realizar una copia de Hadoop

Mientras que publicaremos programas MapReduce en la máquina virtual, estaremos compilarlos en la máquina host. Por tanto, el host necesita una copia de los frascos de Hadoop para compilar el código contra. Copie el /hadoop-0.18.0 directorio desde el CD en una ubicación de su unidad local, y recordar que esto es. No es necesario configurar esta copia de Hadoop de ninguna manera.

Ejecución de Eclipse

Navegue en el directorio de Eclipse y ejecutar eclipse.exe para iniciar el IDE. Eclipse tiendas de todos sus proyectos de código y sus ajustes correspondientes en un directorio llamado espacio de trabajo.

Al iniciar Eclipse, se le pedirá que para un directorio para que actúe como el espacio de trabajo. Elegir un nombre de directorio que tenga sentido para usted y haga clic en Aceptar.

eclipse-Espacio de Trabajo

Configuración del MapReduce Plugin

  Vamos a caminar a través del proceso de configuración de Eclipse para cambiar a la perspectiva MapReduce y conectarse a la máquina virtual Hadoop.

Paso 1: Si aún no lo ha hecho, inicie Eclipse y elegir un directorio de espacio de trabajo. Si se le presenta una pantalla de “bienvenida”, haga clic en el botón que dice “Ir a la Mesa de trabajo.” El banco de trabajo es la vista principal de Eclipse, donde se puede escribir código fuente, lanzar programas, y gestionar sus proyectos.

Paso 2:. Inicie la máquina virtual Haga doble clic en el archivo image.vmx en el directorio de instalación de la máquina virtual para poner en marcha la máquina virtual. Se debe iniciar el proceso de arranque de Linux.

Paso 3:. Pase a la perspectiva MapReduce En la esquina superior derecha de la mesa de trabajo, haga clic en el botón “Abrir perspectiva”, como se muestra en la Figura 3.4:

Perspectiva
Figura 3.4: Cambio de la Perspectiva

Seleccione “Otro”, seguido de “Mapa / Reducir” en la ventana que se abre. Al principio, nada puede aparecer a cambiar. En el menú, elija Ventana * Mostrar vista * Otros. En “Herramientas de MapReduce,” seleccione “Map / Reduce Ubicaciones.” Esto debería hacer visible un nuevo panel en la parte inferior de la pantalla, junto a problemas y tareas.

Paso 4:. Añadir el servidor en el Mapa / Reducir panel de ubicaciones, haga clic en el logotipo de elefante en la esquina superior derecha para añadir un nuevo servidor a Eclipse.


Figura 3.5: Adición de un nuevo servidor

Ahora se le pide que rellene una serie de parámetros que identifican el servidor. Para conectarse a la imagen de VMware, los valores son:

Location name: (Any descriptive name you want; e.g., "VMware server")
Map/Reduce Master Host: (The IP address printed at startup)
Map/Reduce Master Port: 9001
DFS Master Port: 9000
User name: hadoop-user

A continuación, haga clic en la pestaña “Avanzado”. Existen dos configuraciones aquí que hay que cambiar.

Desplácese hacia abajo para hadoop.job.ugi. Contiene sus credenciales de inicio de sesión de Windows actuales. Resalte la primera valores separados por comas en esta lista (su nombre de usuario) y sustituirlo por hadoop usuario.

A continuación, desplácese más abajo para mapred.system.dir. Borrar el valor actual y ponerlo a / hadoop / mapred / sistema.

Cuando haya terminado, haga clic en “Finalizar”. Su servidor aparecerá ahora en el Mapa / Reducir panel de ubicaciones. Si nos fijamos en el Explorador de proyectos (esquina superior izquierda de Eclipse), verá que el plugin MapReduce ha añadido la capacidad de navegar HDFS. Haga clic en los botones [+] para expandir el árbol de directorios para ver los archivos que ya existen. Si ha insertado archivos en HDFS ti mismo, que será visible en este árbol.


Figura 3.6: Archivos visible en el Visor de HDFS

Ahora que su sistema está configurado, las siguientes secciones le dará a conocer las características básicas y verificar que funcionan correctamente.

Interacción con HDFS

La imagen de VMware expondrá un ejemplo HDFS de un solo nodo para su uso en aplicaciones MapReduce. Si usted está conectado a la máquina virtual, se puede interactuar con HDFS usando las herramientas de línea de comandos que se describen en el Módulo 2 También puede manipular HDFS a través del plugin de MapReduce.

Usando la línea de comandos

Una tarea MapReduce interesante requerirá algunos datos externos al proceso: archivos, resultados de rastreo web, etc log Antes de que pueda empezar el procesamiento con MapReduce, los datos deben ser cargados en su sistema de archivos distribuido. En el Módulo 2 , aprendiste cómo copiar archivos desde el sistema de archivos local en HDFS. Pero esto va a copiar los archivos del sistema de archivos local de la VM en HDFS – no desde el sistema de archivos de la computadora host.

Para cargar datos en HDFS en la máquina virtual, usted tiene varias opciones disponibles para usted:

  1. scp los archivos de la máquina virtual, y luego usar el bin / hadoop fs -poner ... sintaxis para copiar los archivos del sistema de archivos local de la máquina virtual en HDFS,
  2. tubería de los datos de la máquina local en un comando put leer de la entrada estándar,
  3. o instalar las herramientas de Hadoop en el sistema host y configurarlo para que se comunique directamente con la instancia de invitados

Vamos a revisar cada uno de estos a su vez.

Para cargar datos en HDFS usando la línea de comandos dentro de la máquina virtual, primero puede enviar los datos al disco local de la máquina virtual, y luego insertarlo en HDFS. Puede enviar archivos a la máquina virtual utilizando un cliente de SCP, tales como el componente pscp de masilla o WinSCP .

scp le permitirá copiar archivos de un equipo a otro a través de la red. El comando scp toma dos argumentos, ambos de la [nombre de host [usuario @]] forma: nombre de archivo. El comando scp en sí es de la forma de la fuente dest scp, donde se formatean fuente y dest como se describe anteriormente. Por defecto, se asume que las rutas están en el host local, y se debe acceder mediante el nombre de usuario actual. Puede sustituir el nombre de usuario y el nombre de host para realizar copias remotas.

Así que supongamos que usted tiene un archivo llamado foo.txt, y que le gustaría copiar esto en la máquina virtual que tiene la dirección IP 192.168.190.128, usted puede realizar esta operación con el comando:

  $ Scp foo.txt [email protected]: foo.txt

Si está utilizando el programa pscp, pscp sustituto en lugar de scp arriba. Una copia de la scp “regular” se puede ejecutar bajo cygwin descargando el paquete OpenSSH. pscp es una utilidad por los creadores de masilla y no requiere cygwin.

Tenga en cuenta que ya que no especifica un directorio de destino, irá en / home / hadoop-usuario de forma predeterminada. Para cambiar el directorio de destino, especifique después el nombre de host (por ejemplo, [email protected]:. /some/dest/path/foo.txt) También puede omitir el nombre del archivo de destino, si usted quiere que sea idéntica a el nombre del archivo fuente. Sin embargo, si se omite tanto el directorio de destino y nombre de archivo, no debe olvidar los dos puntos (“:”) que sigue al nombre de host de destino. De lo contrario, hará una copia local del archivo, con el nombre de 192.168.190.128. Un comando correcto equivalente para copiar foo.txt a / home / hadoop-usuario en la máquina remota es:

  $ Scp foo.txt [email protected]:

Los usuarios de Windows pueden estar más inclinados a utilizar una herramienta de interfaz gráfica de usuario para ejecutar comandos scp. La libre WinSCP programa proporciona una interfaz GUI-FTP como sobre scp.

Después de copiar los archivos en el disco local de la máquina virtual, puede iniciar sesión en la máquina virtual como hadoop usuario e insertar los archivos en HDFS usando los comandos estándar de Hadoop. Por ejemplo,

[email protected]:hadoop$ bin/hadoop dfs -put ~/foo.txt \
  /user/hadoop-user/input/foo.txt

Una segunda opción disponible para cargar archivos individuales para HDFS de la máquina host es hacerse eco de los contenidos de archivo en un comando put corriendo a través de ssh. por ejemplo, suponiendo que tiene el programa de gato (que viene con Linux o cygwin) para repetir el contenido de un archivo a la salida del terminal, usted puede conectar su salida a la entrada de un comando put corriendo a través de ssh, así:

[email protected]$ cat somefile | ssh [email protected]vm-ip-addr \
  "hadoop/bin/hadoop fs -put - destinationfile

El - como un argumento para el comando put indica al sistema que use stdin como su archivo de entrada. Esto copiará somefile en la máquina host para destinationfile en HDFS en la máquina virtual.

Por último, si usted está corriendo Linux o cygwin, puede copiar el directorio / Hadoop-0.18.0 en el CD a la instancia local. A continuación, puede configurar hadoop-site.xml utilizar la máquina virtual como el sistema de archivos por defecto distribuido (estableciendo el parámetro fs.default.name). Si a continuación, ejecuta fs bin / Hadoop -poner ... Los comandos en este equipo (o cualquier otro comando de Hadoop, para el caso), van a interactuar con HDFS como servido por la máquina virtual. Ver el Hadoop está comenzando para obtener instrucciones sobre la configuración de una instalación de Hadoop, o Módulo 7 para un tratamiento más profundo.

Usando el Plugin MapReduce para Eclipse

Una forma más fácil de manipular archivos en HDFS puede ser a través del plugin de Eclipse. En el visor de localización DFS, haga clic derecho en cualquier carpeta para ver una lista de acciones disponibles. Puede crear nuevos subdirectorios, cargar archivos individuales o directorios enteros, o descargar archivos y directorios en el disco local.

Si no existe / user / hadoop-usuario, cree que la primera. Haga clic derecho en el directorio de nivel superior y seleccione “Create New Directory”. Escriba “usuario” y haga clic en Aceptar. A continuación, tendrá que actualizar la vista directorio actual haciendo clic derecho y seleccionar “Actualizar” en el menú emergente. Repita este proceso para crear el directorio “hadoop-usuario” en “usuario.”

Ahora, preparar algunos archivos a subir. En algún lugar de su disco duro, cree un directorio llamado “entrada” y encontrar algunos archivos de texto para copiar allí. En el explorador de DFS, haga clic en el directorio “hadoop-usuario” y haga clic en “Subir Directorio de DFS.” Seleccione la carpeta de entrada de nuevo y haga clic en Aceptar. Eclipse copiará los archivos directamente en HDFS, sin pasar por la unidad local de la máquina virtual. Puede que tenga que actualizar la vista de directorio para ver los cambios. Ahora debería tener una jerarquía de directorios que contiene el directorio / user / hadoop usuario / entrada, que tiene al menos un archivo de texto en el mismo.

Ejecución de un programa de ejemplo

Si bien aún no hemos presentado formalmente el estilo de programación para Hadoop, todavía podemos probar si un programa MapReduce se ejecutará en nuestra máquina virtual Hadoop. Esta sección le guía por los pasos necesarios para verificar esto.

El programa que vamos a ejecutar es una utilidad de recuento de palabras. El programa leerá los archivos que has subido a HDFS en la sección anterior, y determinar cuántas veces aparece cada palabra en los archivos.

Si aún no lo ha hecho, inicie la máquina virtual y Eclipse, y cambiar Eclipse para utilizar la perspectiva MapReduce. Las instrucciones están en la sección anterior.

Crear el proyecto

En el menú, haga clic en Archivo * New * Proyecto. Seleccione “Mapa / Reducir Proyecto” de la lista y haga clic en Siguiente.

Ahora tendrá que seleccionar un nombre de proyecto. Cualquier nombre lo hará, por ejemplo, “WordCount”. Usted también tendrá que especificar la ruta de instalación de Hadoop Biblioteca. Esta es la ruta en la que hizo una copia de la carpeta /hadoop-0.18.0 en el CD. Puesto que todavía no hemos configurado esta parte de Eclipse, hágalo ahora haciendo clic en “Configurar Hadoop directorio de instalación …” y elegir la ruta en la que ha copiado a Hadoop. Debe haber un archivo llamado Hadoop-0.18.0-core.jar en este directorio. Creación de un proyecto en lugar de un proyecto genérico Java MapReduce agrega automáticamente los archivos jar de requisitos previos a la ruta de compilación. Si crea un proyecto normal de Java, debe agregar el tarro de Hadoop (y sus dependencias) para la ruta de compilación manualmente.

Cuando haya completado estos pasos, haga clic en Finalizar.

Creación de los archivos de origen

Nuestro programa tiene tres clases para correr: un cartógrafo, un reductor y un conductor. El conductor le dice a Hadoop cómo ejecutar el proceso de MapReduce. El Mapper y Reductor operan en sus datos.

Haga clic derecho en la carpeta “src” en su proyecto y seleccione Nuevo … * Otros. En el “Mapa / Reducir” carpeta en la ventana que aparece, podemos crear Mapper, reductor, y las clases de controladores basado en pre-escrito talón código. Crear clases nombradas WordCountMapper, WordCountReducer y WordCount que utilizan el Mapper, Reductor, y talones de controladores, respectivamente.

El código se muestra para cada una de estas clases aquí. Puede copiar el código en sus archivos.

WordCountMapper.java:

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.mapred.MapReduceBase;
import org.apache.hadoop.mapred.Mapper;
import org.apache.hadoop.mapred.OutputCollector;
import org.apache.hadoop.mapred.Reporter;

public class WordCountMapper extends MapReduceBase
    implements Mapper<LongWritable, Text, Text, IntWritable> {

  private final IntWritable one = new IntWritable(1);
  private Text word = new Text();

  public void map(WritableComparable key, Writable value,
      OutputCollector output, Reporter reporter) throws IOException {

    String line = value.toString();
    StringTokenizer itr = new StringTokenizer(line.toLowerCase());
    while(itr.hasMoreTokens()) {
      word.set(itr.nextToken());
      output.collect(word, one);
    }
  }
}

WordCountReducer.java:

import java.io.IOException;
import java.util.Iterator;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.mapred.MapReduceBase;
import org.apache.hadoop.mapred.OutputCollector;
import org.apache.hadoop.mapred.Reducer;
import org.apache.hadoop.mapred.Reporter;

public class WordCountReducer extends MapReduceBase
    implements Reducer<Text, IntWritable, Text, IntWritable> {

  public void reduce(Text key, Iterator values,
      OutputCollector output, Reporter reporter) throws IOException {

    int sum = 0;
    while (values.hasNext()) {
      IntWritable value = (IntWritable) values.next();
      sum += value.get(); // process value
    }

    output.collect(key, new IntWritable(sum));
  }
}

——

WordCount.java:

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.FileInputFormat;
import org.apache.hadoop.mapred.FileOutputFormat;
import org.apache.hadoop.mapred.JobClient;
import org.apache.hadoop.mapred.JobConf;

public class WordCount {

  public static void main(String[] args) {
    JobClient client = new JobClient();
    JobConf conf = new JobConf(WordCount.class);

    // specify output types
    conf.setOutputKeyClass(Text.class);
    conf.setOutputValueClass(IntWritable.class);

    // specify input and output dirs
    FileInputPath.addInputPath(conf, new Path("input"));
    FileOutputPath.addOutputPath(conf, new Path("output"));

    // specify a mapper
    conf.setMapperClass(WordCountMapper.class);

    // specify a reducer
    conf.setReducerClass(WordCountReducer.class);
    conf.setCombinerClass(WordCountReducer.class);

    client.setConf(conf);
    try {
      JobClient.runJob(conf);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Por ahora, no se preocupe acerca de cómo funcionan estas funciones; vamos a introducir la forma de escribir programas de MapReduce en el Módulo 4 . En este momento sólo queremos demostrar que podemos ejecutar trabajos en la máquina virtual.

Inicio del Trabajo

Después de introducir el código, es el momento de ejecutarlo. Usted ya ha creado un directorio llamado de entrada por debajo de / user / hadoop-usuario en HDFS. Esto servirá como los archivos de entrada a este proceso. En el Explorador de proyectos, haga clic en la clase del controlador, WordCount.java. En el menú emergente, seleccione Ejecutar como * Run On Hadoop. Aparecerá una ventana que le solicitará que seleccione una ubicación de Hadoop para ejecutarse en. Seleccione el servidor de VMware que ha configurado anteriormente, y haga clic en Finalizar.

Si todo va bien, la salida de los avances de Hadoop debe aparecer en la consola de Eclipse; debería ser algo como:

08/06/25 12:14:22 INFO mapred.FileInputFormat: Total input paths to process : 3
08/06/25 12:14:23 INFO mapred.JobClient: Running job: job_200806250515_0002
08/06/25 12:14:24 INFO mapred.JobClient:  map 0% reduce 0%
08/06/25 12:14:31 INFO mapred.JobClient:  map 50% reduce 0%
08/06/25 12:14:33 INFO mapred.JobClient:  map 100% reduce 0%
08/06/25 12:14:42 INFO mapred.JobClient:  map 100% reduce 100%
08/06/25 12:14:43 INFO mapred.JobClient: Job complete: job_200806250515_0002
08/06/25 12:14:43 INFO mapred.JobClient: Counters: 12
08/06/25 12:14:43 INFO mapred.JobClient:   Job Counters
08/06/25 12:14:43 INFO mapred.JobClient:     Launched map tasks=4
08/06/25 12:14:43 INFO mapred.JobClient:     Launched reduce tasks=1
08/06/25 12:14:43 INFO mapred.JobClient:     Data-local map tasks=4
08/06/25 12:14:43 INFO mapred.JobClient:   Map-Reduce Framework
08/06/25 12:14:43 INFO mapred.JobClient:     Map input records=211
08/06/25 12:14:43 INFO mapred.JobClient:     Map output records=1609
08/06/25 12:14:43 INFO mapred.JobClient:     Map input bytes=11627
08/06/25 12:14:43 INFO mapred.JobClient:     Map output bytes=16918
08/06/25 12:14:43 INFO mapred.JobClient:     Combine input records=1609
08/06/25 12:14:43 INFO mapred.JobClient:     Combine output records=682
08/06/25 12:14:43 INFO mapred.JobClient:     Reduce input groups=568
08/06/25 12:14:43 INFO mapred.JobClient:     Reduce input records=682
08/06/25 12:14:43 INFO mapred.JobClient:     Reduce output records=568

En el Explorador de DFS, haga clic en / user / hadoop-usuario y seleccionar “Actualizar”. Ahora debería ver un directorio de “salida” que contiene un archivo denominado parte-00000. Esta es la salida del trabajo. Haga doble clic en este archivo le permitirá ver en Eclipse; se puede ver cada palabra y su frecuencia en los documentos. (Es posible que reciba una advertencia de que este archivo es mayor que 1 MB, en primer lugar. Haga clic en Aceptar.)

Si desea ejecutar la tarea de nuevo, tendrá que eliminar el directorio de salida en primer lugar. Haga clic derecho en el directorio de salida en el Explorador de DFS y haga clic en “Eliminar”.

¡Enhorabuena! Ahora debe tener un entorno de desarrollo que funciona Hadoop. En el siguiente módulo, aprenderemos cómo usarlo para realizar tareas de programación de gran alcance.

Referencias y Recursos

Estos recursos son enlaces a sitios generales de Hadoop. Ellos deben ser su primera parada para la resolución de problemas o para más información.

  • Sitio Hadoop – Ubicación central para descargas, documentación e información
  • Hadoop wiki – Documentación del usuario impulsados ​​para Hadoop
  • JavaDoc – documentación de la API actual Hadoop
  • Lista de correo info – Hadoop comunidad discusión y consejos

Apéndice: Lista completa de Herramientas

Se incluyen en esta sección es una lista completa de los programas necesarios para ejecutar Hadoop, y programas opcionales que pueden ser útiles para instalarlo o utilizarlo. Algunos de éstos asumen un entorno Windows para el desarrollo (aunque no necesariamente un clúster basado en Windows).

Necesario para Hadoop:

Tutoriales:

Utilidades :

Fuente  aqui

Cómo sincronizar z watch


En primer lugar antes de nade deberia e instalar la aplicación en su teléfono Android. La aplicación oficial  esta en castellano pero no esta aun disponible en Google-Play (incomprensiblemente si lo esta en el apple Store para los dispositivos Ios).

Desde la Pagina oficial en chino de la aplicación:  nos ofrecen los instaladores oficiales para Android del software de sincronización .Están disponibles las siguientes versiones:

Una vez tenga la aplicación instalada en su smartphone, pónga en marcha la  aplicación   Z-reloj Sync y pulse ‘Sí’ si le pregunta si quiere iniciar el Bluetooth.

En su smartwatch  ,haga clic en el icono configuración y elija la opción del menú Bluetooth y cerciorese de  que la opción Bluetooth queda activada.

Ahora haga  clic en el icono configuración del  telefono y elija la opción del menú Bluetooth y asegúrese de que la opción Bluetooth queda activada . Haga clic en la fila Z-watch j (xxxx) para hacer el Z-watch visible  cerca de los dispositivos Bluetooth 

Zwatch screen showing bluetooth enabled

Iniciar la aplicación de sincronización Z-watch y haga clic en el botón ‘Buscar Zwatch’ para iniciar la exploración:-

SCreen shot showing Search Zwatch option

Entonces usted verá una búsqueda diálogo :

Screen shot showing search dialog

Si el Z-watch  no puede ser visto por el dispositivo Android obtendrá el siguiente error:

 Screnn shot showing a notfound error

Una vez que se ha encontrado el Z-watch verá un diálogo encontrado de Zwatchj (xxxx) y botón de Bond :-

screenshot showing bluetooth device has been found

SCreenshot requesting permission to bond

Haga clic en el botón de vínculo en el segundo cuadro y la aplicación de sincronización Z-watch solicitará una solicitud de empaejamiento por bluetooth con el Z-watch. 

Se verá entonces ambos dispositivos mostrando la confirmación de la misma clave:-

pair request zwatch Pair request Android

Clic en el botón Z-watch, marque primero y haga clic en el botón de Pair de dispositivos Android en segundo lugar.

Entonces la aplicación del teléfono cambiará para mostrar las siguientes opciones:

 Screen shot showing Zwatch Sync has paired the devices

Puede hacer clic en el botón ‘Enviar notificación’ para probar la conectividad y el reloj debe vibrar, lo cual significará que ambos dispositivos están conectados.

Asociar manualmente su SmartQ Z-reloj a un dispositivo Android a través de bluetooth

Ha habido un número de ocasiones de que  Z-watch async no pudo emparejar el  Z-watch  así que es necesario  hacerlo manualmente usando el estándar Android de  emparejamiento lo cual puede iniciarlo desde cualquiera de los dispositivos.

En el smartphone ,,active bluetooth del dispositivo Andriod , eligiendo Configuración > Bluetooth y asegúrese de que bluetooth esté  activo

Ensure Bluetooth is enabled on your Andoid device

1. Encender el Bluetooth

2. Pulse para cambiar a la opción ‘Visible para todos los dispositivos Bluetooth cercanos’

3.Usted puede ver el Zwatch en la sección de dispositivos disponibles si bluetooth está activado ya en su Z-reloj.No golpee sobre lo que vamos a iniciar el bluetooth emparejado de la Zwatch.

Activar bluetooth en el Zwatch

Haga clic en el icono configuración y elija la opción del menú Bluetooth y cerciorese de  que la opción Bluetooth está activada.

Zwatch bluetooth settings Asegurar la opción de Bluetooth está activada

Haga clic en buscar para dispositivos y deberías ver tu dispositivo Android después de un corto tiempo. En este caso un Asus Transformer TF101 se encuentra forma de emparejamiento.

Iniciar la sincronización de la Zwatch

Haga clic en el dispositivo para iniciar la sincronización.

Available Devices are shown on the Zwatch

Compruebe el codígo del número emparejado

Una vez  emparejados ambos,el dispositivo Zwatch y Android mostrará un número generado temporal que será el mismo en ambos y requerirán confirmación en el reloj  y  en el teléfono:

Par solicitando Zwatch Recibe solicitud de par dispositivo Android
 Zwatch requesting a bluetooth pair request  Android device receiving pair request from Zwatch

Haga clic sobre el mensaje en el Zwatch y el botón de pareo en el dispositivo Android.

Chequeo de que estan emparejados mutuamente

Ahora debería ver que cada dispositivo está ahora bajo la categoría emparejada:-

Zwatch emparejado Dispositivo Android emparejado
Zwatch showinth that it is now paired to the android device  Android device is now paired with Zwatch

Si aun con  todas estas ideas no consigue emparejar su smartq z1  a su teléfono todavía  hay una solución :

NOTA:Si aún o tiene un Smartq-z1 puede adquirilo cómodamente en Amazon pinchando en este enlace:SmartQ Z smartwatch Lite Gear Android smartwatch Reloj intelegente pantalla a prueba de agua Toque pantalla Bluetooth para iOS Android dispositivos