Por ahora es una moda electrónica, que consiste en enviar publicidad electrónica a través de dispositivos bluetooth de forma automática e instantánea.
El Marketing Bluetooth permite enviar audio, imágenes, video, vcards, ringtones, texto, códigos de barras, etc., a dispositivos móviles, aunque no todos los móviles soportan los diversos archivos multimedia, por lo que siempre es recomendable enviar en primer instancia imágenes y texto.
Con esta tecnología es posible enviar a cualquier móvil cercano al sistema Bluetooth Marketing la publicidad multimedia previamente seleccionada. En la actualidad ya en el mercado existen diversos dispositivos y software para montar publicidad electrónica por bluetooth, solo basta buscar en Mercado Libre Bluetooth Marketing para encontrar diversas soluciones.
Domus.Link es un software que permite controlar dispositivos X10 desde una página web.
Antes de seguir la siguiente bitácora se requiere tener instalado heyu y para ello se puede acceder al siguiente post AQUI.
mkdir-p ~/software/opensource cd ~/software/opensource wget http://domus.link.co.pt/src/domuslink-1.0.1.tar.gz cd/var/www sudotar-xzvf ~/software/opensource/domuslink-1.0.1.tar.gz cd domus.Link #verificar que heyu no esté corriendo, ps aux | grep heyu
heyu stop #respaldamos la configuración actual de heyu sudocp/etc/heyu/x10.conf /etc/heyu/x10.conf.backup sudocp/etc/heyu/x10.sched /etc/heyu/x10.sched.backup #copiamos la configuración de domus.link en heyu sudocp/var/www/domus.Link/doc/x10.conf /etc/heyu/x10.conf sudocp/var/www/domus.Link/doc/x10.sched /etc/heyu/x10.sched #editamos la nueva configuración de heyu y configuramos el puerto serial usado sudo editor /etc/heyu/x10.conf #en mi caso como uso un adaptador de serial a usb TTY /dev/ttyUSB0, por defecto es /dev/ttyS0 #Cambiamos los permisos del archivo de configuración para que puedan ser accedidos por el usuario del servidor web sudochown www-data.www-data /etc/heyu/x10.conf sudochown-R www-data.www-data /var/www/domus.Link sudochmod o+rw /etc/heyu/x10.conf /var/www/domus.Link/db/floorplan /var/www/domus.Link/config.php #cambiamos permisos al puerto serial para que pueda ser accedido por el servidor web sudochmod o+rw /dev/ttyUSB0
#creamos un enlace dinámico a heyu para que pueda ser encontrado por domus.Link, para ver donde esta instalado heyu teclear whereis heyu
#despues de encontrado heyu creamos el enlace sudoln-s/usr/local/bin/heyu /usr/bin/heyu
#ahora ya teniendo prácticamente todo configurado, entramos a la página web de dónde se instalo la aplicación de domus.Link
http://localhost/domus.Link
#password por default 1234
#iniciamos el servicio, si hay un error verificar los pasos anteriores. #Ya que haya iniciado el servicio entraremos al ícono de configurció ubicado en la parte derecha. #ahí podremos crear habitaciones para poder asignar los dispositivos. #los alias es una forma fácil de poder identificar el ID del dispositivo #para crear un alias relacionaríamos el ID del dispositivo X10 con un nombre, #también seleccionaremos que tipo de módulo es, si es un socket puede ser LM14A o LM15A, si es un appliance stdAM. #necesitaríamos indicar si es un dispositivo de luz, appliance o de irrigación. # y por último elegimos dónde está el dispostivo en una sala, cocina, cochera, etc., dependiendo de los espacios configurados. # Despues de que ya se tenga configurado el esquema ahora si desde la página web ya se pueden manipular los dispositivos X10.
Pongo rápidamente un tutorial paso a paso de como instalar y usar heyu, para poder controlar dispositivos X10 desde una interfaz de comando, para despues de ahí realizar cualquier aplicación con reconocimiento de voz, interfaz web, agi con Asterisk VoIP, etc.,
mkdir-p ~/software/opensource cd ~/software/opensource wget http://heyu.tanj.com/download/heyu-2.6.0.tgz cd/usr/src sudotar-xzvf ~/software/opensource/heyu-2.6.0.tgz cd heyu* sudosh ./Configure &&sudomake&&sudomakeinstall #Where would you like the sample Heyu configuration file installed? #Seleccionar la opción 3. In directory /etc/heyu (for system-wide access) #To which port is the CM11 attached? #Si es un puerto serial seguro podría ser /dev/ttyS0, si es un convertidor de serial a usb sería /dev/ttyUSB0,
es necesario tener conectado el adaptador X10 CM11A al puerto Serial y también a la corriente eléctrica
#Para empezar a probar, Asignarle un ID único al AM466, este equipo tiene 2 dialers desde donde se configura si es A1, B2, C3, etc., #Si se le asigna la misma clave al dispositivo X10 este se apagará y prenderá junto con el otro también configurado con la misma clave. #Conectar el dispositivo electrónico al AM466 configurado. #Suponiendo que se le asignó A1 al dispositivo X10 AM466, al ejecutar el comando anterior mandará a enceder el dispositivo.
heyu on A1 #Para apagarlo
heyu off A1 #Para encender los dispositivos que estén en la clave A intoducir el siguiente comando
heyu allon A #Para apagar todos al mismo tiempo
heyu alloff A #****** # Luces #****** #Conectar el foco en el socket X10 y de ahí conectar el socket, OJO este socket no se debe conectar a lámparas fluorescentes o de halógeno solo focos normales . #Dejar en encendido el apagador #Inicialmente no prenderá el foco, puesto que hay que asignarle una clave al socket instalado, para esto se tiene que ejecutar en los primeros 30 segundos el siguiente comando:
heyu address C1 #Lo que hacemos con este comando es asignarle el ID C1 al Socket instalado. #Si pasan más de 30 segundos instalados y no se ejecutó el comando, apagar el apagador y volver a prenderlo para poder mandar el comando anterior. #Para mandar a prender el foco ejecutar el siguiente comando
heyu on C1 #Para apagarlo
heyu off C1 #Para prender todos los focos en C
heyu lightson C #Para apagar todos
heyu lightsoff C #Existe un modelo de socket X10 en el cuál se le puede mandar que disminuye o aumente laintensidad de la señal #Para saber más comandos de heyu introducir:
heyu help #Hay dispositivos x10 como sensores de movimiento, alarmas, detectores de humo e incendio, controles de temperatura, etc., los cuáles pueden monitorearse y de acuerdo al evento mandar a enceder dispositivos, apagarlos, etc.,
#Más accesorios aquí:
http://www.digitalconcerve.com/wizard/security/x10_home_automation_accessories.htm
#Para instalar una aplicación web para controlar dispositivos X10 ver AQUI
Hace unos días descargue la nueva versión de KUbuntu Linux la 9.04 que tiene muchos buenos comentarios en internet, entonces quise instalarla en una PC de escritorio que tengo por aquí, así que me dispuse a quemar un CD con el ISO de Kubuntu 9.04, el detalle es que no tenía CDs aquí, por lo que quise realizar el procedimiento para crear un USB Disk booteable, este procedimiento es algo engorroso y ya lo había posteado por aquí.
Por lo que antes de hacer el procedimiento manual para crear un Usb DISK Booteable busqué en internet las consideraciones necesarias para con esta nueva versión de Kubuntu 9.04, lo agradable al buscar en internet es que me encontré con la siguiente página:
http://www.addictivetips.com/ubuntu-linux-tips/how-to-create-a-bootable-live-ubuntu-904-usb-drive/
En dónde mencionan sobre UNetbootin [http://unetbootin.sourceforge.net/], qué es una utilería que funciona bajo Windows y Linux y que permita crear de forma rápida y fácil USB Disk booteables con las imágenes(.iso) de diversas distros incluyendo Ubuntu entre otras.
Aunque recomiendan usar la versión de Windows, preferí seguir en Linux y probar la aplicación que tienen para Linux, solo bastó darle permisos de ejecución, correrlo y probar la utilería.
Al ejecutarlo me pide que distro hacer booteable, seleccioné Ubuntu.
Posteriormente te pide si usar un archivo de imagen .iso ó descargarla de internet, en este caso ya la tenía descargada por lo que seleccione la imagen .iso.
A continuación te pide dónde crear la unidad booteable si en un disco duro ó un USB Disk, seleccione USB Disk.
Y listo, la utilería copia y crea los archivos necesarios.
Al final te pregunta si reiniciar o solo salir de la utilería.
Realmente me sorprendió la facilidad y rapidez que hasta pensé que me faltaba algún paso o algo así, pero no! fue así de sencillo.
Revise el USB y ahí estaban los archivos necesarios propios de un Disco USB booteable, por lo que quité el USB de mi lap y lo conecté en la Desktop, reinicie la máquina, presione F12 para seleccionar el disco de arranque y voilá.. mostraba un menú de arranque de UNetBootIn, seleccioné default y la distro de Kubuntu se estaba ejecutando en modo LiveCD, para luego instalarla.
UNetBootIn me sorprendió e incluso es una alternativa para diversas distros que vienen en modo LiveCD y una manera económica y ecológica de probarlas.
Hace unos días me contactaron para ver si podía instalar una aplicación .Net CF para Windows CE 4.2 en una terminal portátil con Windows CE 5.0, el detalle al hacer la instalación es que el desarrollo tenía librerías desarrolladas para CE 4.2 por lo que no era posible ejecutar la aplicación en Windows CE 5.0, entonces había 2 opciones migrar el desarrollo hacia 5.0 ó conseguir alguna terminal con Windows CE 4.2.
En el primer caso los que me contactaron no tenían el código fuente ya que la empresa que les desarrolló la aplicación no les dió el código fuente, una de las razones del porqué usar Software Libre, esto ya que en mi caso cuándo hago desarrollos entregó el código fuente a la empresa que le programo. En la segunda opción de conseguir terminales con Windows CE 4.2 el detalle es que estas terminales se dejaron de producir hace algunos par de años y salió la versión de MC9090 con Windows CE 5.0. Afortunadamente es posible hacer un downgrade de Windows CE 5.0 a Windows CE 4.2 y que es básicamente lo que comento a continuación.
Antes que nada primero obtener los siguientes archivos de la página de Motorola (Antes Symbol Technologies).
Imagen de Windows CE 4.2 para MC90xx
90xxc42OS010007.bgz
Imagen del Platform de MC90xx
90xxc42Plat018.hex
Imagen de Application del MC90xx
90xxc42App32M018.bgz
Tabla de Particiones de la MC90xx
90xxc42PT32M018.hex
Se puede usar las imágenes Splash Screen de algunas otras versiones.. http://software.symbol.com/detail.cfm?prod=1765
Ya que se obtengan los archivos mencionados, conectar la cuna de la terminal a la corriente eléctrica, esto es muy importante al igual que asegurarse que no haya una desconexión eléctrica durante el proceso de instalación de las imágenes en la memoria EEPROM de la terminal, ya que podría dejar temporalmente como un buen pisapapeles a la terminal hasta que sea enviada al soporte de Symbol.
Reiniciar la terminal en modo IPL(Initial Program Loader), para esto sacar la batería de la terminal, presionar el botón del scanner y el botón de power al mismo tiempo, mantenerlos presionados, y conectar la terminal a la cuna. Si todo salió bien se debería ver el menú de IPL, si es así soltar los botones anteriores.
Ahora conectar el cable usb de la cuna a la PC, aquí es importante que previamente se haya cargado el "Device Configuration Package" , al conectar el cable USB a la PC pedirá unos drivers, estos buscarlos en el directorio dónde se instaló el DCP.
Ya que se hayan instalado los drivers del cable USB entonces mediante DCP cargar los archivos .hex a la terminal portátil.
En el Menú del IPL cargar las imagenes en el siguiente orden:
Partition Table
Windows CE 4.2 Image
Platform Image
Application Image
Splash Screen
En el programa DCP seleccionar los archivos correspondientes y en el puerto de conexión seleccionar el puerto USB para hacer el envío a la terminal de las imágenes de los archivos .hex, es importante que durante el envío no se desconecte el puerto USB de la cuna ni tampoco se desconecte de la correinte eléctrica.
Cuándo se termine de hacer el procedimiento seleccionar del menú IPL la opción de reiniciar, y si todo salió bien se tendría instalado Windows CE 4.2 en vez de Windows CE 5.0 en la terminal portátil MC9090.
Como recomendación para los que contratan desarrollos de aplicaciones para Terminales Portáiles es que les incluyan el código fuente y si es posible que los desarrollos incluyan versiones para diversos sistemas operativos de Windows Mobile, .Net CF permite entregar versiones para Pocket PC hasta Windows Mobile, incluyendo Windows CE 4.X y Windows CE 5.X. También hay que analizar el ciclo de soporte incluído en las terminales a utilizar.
No teniendo otra forma de colaborar con México en esta situación de alerta nacional y para con mi gente más que con lo poco que sé que de programación, hoy he liberado una versión beta de un software llamado iMest que permite envío de SMS múltiples por tipos de contactos desde una página web.
Este software queda licenciado bajo la GPL lo que indica que cualquiera puede descargarlo, usarlo sin costo alguno, modificarlo y distribuirlo entre otras ventajas del Software Libre
La intención de este software es que diversas personas, empresas y organizaciones puedan tener una base de datos de las personas relacionadas con la entidad y asi puedan enviarle información a sus teléfonos celulares casi de manera instantánea y personalizada usando como gateway sms algun teléfono Nokia, de tal forma que puedan informarse sobre diversas contigencias.
El proyecto puede descargarse desde la siguiente URL https://sourceforge.net/projects/binnizawebsms/
Pueden verse algunos screenshots desde la siguiente URL: https://sourceforge.net/project/screenshots.php?group_id=260344
Para mayor información sobre el uso, requerimientos, instalación y configuración del software vaya a la siguiente página: http://phylevn.binniza.com/index.php?page/Binnita_NetApps_iMest_WebSMS
Espero este software pueda serle útil a alguien.
Cómo cualquier beta este software debe tener gran cantidad de errores y horrores de programación, se aceptan comentarios, sugerencias y tips de programación.
Cualquier duda sobre la instalación y configuración del software siéntanse en la libertad de hacérmela saber y a vuelta de correo poder darles una respuesta.
Phylevn
Hace unos días me llamó alguien para darle soporte sobre una terminal Motorola con Windows Mobile 6 para conectar a un Access Point WA21 de Intermec.
La terminal portátil permite encriptación de tipo Legacy pre-WPA que equivale a WEP, así como también WPA y WPA2.
El detalle que me comentaba el cliente es que sus Access Point son de la marca Intermec WA21 con encriptación Wep de 64 bits y 128 bits, mientras que la PDA únicamente soporta Legacy pre-WPA de 40 bits y 128 bits.
Entonces el cliente me comentaba que la terminal no soportaba encriptación de 64 bits y que no podría conectarla a su Access Point WA21. Le expliqué que el protocolo 802.11 soporta 40bits y 128 bits de encriptación WEP y que algunos Access Points de Cisco de los cuales se deriva el WA21 de Intermec, también soportan 40 bits que es lo mismo que 64 bits, solo que en este caso hay que especificar directamente la llave de 40 bits es decir la llave de 10 Hexadecimales en la terminal.
Información sobre la encriptación WEP de 40 bits y 128 bits:
El estándar IEEE 802.11 soporta 2 tipos de encriptación WEP: 40 Bits y 128 bits.
El método de encriptación de datos WEP de 64 bits permite especificar 5 carácteres(40 Bits). Adicionalmente, 24 bits son agregados a el cuarto bit para generar una llave de encriptación de 64 bits. Los 24 bits adicionales no se pueden personalizar por el usuario. Esta llave de encriptación será usada para encriptar y desencriptar todos los datos transmitidos vía la interfaz inalámbrica.
Algunos fabricantes se refieren a la encriptación de datos de 64 bits cómo WEP de 40 bits porqué los 40 bits son los que se permiten configurar por el usuario.
El método de encriptación de 128 bits consiste de 104 bits configurados por el usuario. Similar a los 40 bits del método de encriptación WEP, los restantes 24 bits son configurados de fábrica y no se permite al usuario configurarlos. Algunos fabricantes permite "frases clave" para ser introducidas en lugar de los caracteres hexadecimales para mayor facilidad de configuración de la llave WEP.
La encriptación de 128 bits es mucho más fuerte que la encriptación de 40 bits, pero el algoritmo de 128 bits teóricamente solo debería usarse en los Estados Unidos debido a regulaciones de exportación.
Cuándo se configura una llave de 40 bits, los productos 802.11 típicamente soporta hasta 4 llaves WEP diferentes. Cada llave WEP de 40 bits es expresado cómo 5 conjuntos de 2 hexadecimales(0-9 y A-F). Por ejemplo "12 34 56 78 90" es una llave WEP de 40 bits.
Cuándo se configura una llave WEP de 128 bits, los productos 802.11G tipicamente soportan 4 llaves WEP, pero algunos fabricantes soportan solo una llave WEP de 128 bits. Los 128 bits de la llave WEP es expresado como un conjunto de 13 valores hexadecimales(0-9 y A-F). Por ejemplo "12 34 56 78 90 AB CD EF 12 34 56 78 90" es una llave WEP de 128 bits.
WEP 40 Bits = 64 bits
5 caracteres por 8 bits = 40 bits => 5 Valores hexadecimales + 24 bits preconfigurados = 64 bits
WEP 128 bits
Por lo tanto 13 caracteres por 8 bits= 104 bits =>13 valores hexadecimales + 24 bits preconfigurados = 128 bits
Una llave WEP ( 26 hexadecimales=>13 carácteres=>104 bits) curiosa puede ser la siguiente:
AD1C70A1CAF3BEBE7E1CADAD1A
Adicto Al Café Bébete 1 Cada Día
Algún día lo encontré en 1 Access Point que tenía cerca.
Las llaves WEP ya no son seguras, pues solo es cuestión de minutos para que puedan ser desencriptadas por cualquier usuario que tenga una interfaz inalámbrica y un LiveCD. Ahora ya hasta en Mercado Libre puedes conseguir USB para poder crackear redes inalámbricas y poder hacer Auditoría de Redes Inalámbricas. http://www.mercadolibre.com.mx/jm/item?site=MLM&id=28802083
Hace tiempo adquirí un Adaptador Wireless USB para la computadora de mi padre, pero por ahorrativo compré la más barata en internet, la sorpresa fué hace unos días que andaba para variar de ocioso y la conecté a mi laptop, la sorpresa fué que este USB lo podía poner en modo monitor por lo que lo pude usar con Kismet y AirCrack, como pruebas intenté romper una llave Wep de un AP que estaba cerca y lo hizo en unos cuántos minutos. Pero lo interesante es que no tuve que compilar nada, ni cargar algún driver, ni nada por el estilo, solo conectarlo, ponerla en modo monitor y listo.
La probé también en Ubuntu Server solo bajé el Aircrack y con eso bastó para poder probar sus cualidades estando en modo promiscuo.
Este USB es un Wireless USB WiBee, los puedes conseguir en plaza de la computación ó en Mercado Libre, para fines educacionales y auditoría de redes es bastante práctico.
Hace unos días me contactó una persona preguntándome sobre una solución de toma de inventarios para dispositivos móviles que liberé de forma gratuita hace un par de años en internet de la cuál ya ni me acordaba, esta aplicación de lo que recuerdo es que permitía capturar 5 campos aparte de código y cantidad en una toma de inventarios muy básica para dispositivos con Windows Móbile, avanzando en la plática le sugerí mejor una solución más profesional que ofrece una empresa que distribuye terminales portátiles.
Esta persona después me volvió a contactar ya que a dónde lo mandé le preguntaron si su sistema soportaba importación de datos en formato csv, txt, xls, entonces él le pregunto al proveedor de su sistema administrativo y le dijo que si, pero que era un sistema de importación de datos que no era compatible con la solución de los móviles, su proveedor le dijo que podrían hacerle un desarrollo para que el sistema que tiene pudiera importar datos csv(algo muy simple), pero se vino de espaldas cuándo le dieron el costo del desarrollo por ese módulo personalizado de importación de datos.
Preguntándole más sobre su sistema pude saber que la base de datos que está detras de ese sistema propietario es MySQL, una base de datos libre, por lo que se me ocurrió algo para saber como el pudiera importar su información sin tantos dolores de cabeza.
La idea era que hiciera un registro de inventarios para saber que tablas y que consultas se realizaban al hacer la operación, la forma de saber las consultas es mediante una forma muy llana y simple, habilitando el log de mysql.
Generalmente el registro de transacciones de mysql debe estar desactivado, por cuestiones de performance en la base de datos, pero para este caso solo bastó editar el archivo de configuración my.cnf en la línea
log=PATH_DEL_LOG
Y reiniciar MySQL..
Con esto el realizó el registro de inventarios y solo revisando el archivo log de mysql se observa el usuario, la fecha, hora y consultas realizadas, de tal forma que fué una manera rápida de saber como esa aplicación propietaria afectaba los inventarios y con lo cuál ya podría desarrollarse una simple interfaz de importación de datos csv para que sea compatible con el sistema de toma de inventarios para dispositivos móviles.
Obviamente despues de verificar las transacciones de mysql, se volvió a desactivar el log para no afectar el rendimiento de MySQL.
< pensando en voz alta >
Hace un rato mientras estaba lavando los trastos acumulados durante la semana -sugerencia si cocinan espagueti, pónganle agua por lo menos a la cacerola si es que la van a dejar varios días ahí amontonada en el fregadero :$ -, entonces andaba oyendo algo de música, y mientras lavaba para poder cambiar de canción en canción tenía que buscar el celular y apretar un botón para que vía bluetooth indicarle al reproductor multimedia Amarok en Ubuntu Linux que pasara a la siguiente canción, entonces entre que las manos con jabón y que se te puede romper un plato, pensaba en como poder usar un dispositivo manos libres bluetooth que permitiría mediante comandos de voz cambiar las canciones, entre otras cosas en tú computadora.
Y siguiendo pensando en voz alta, recordé a PerlBox-Voice una herramienta basada en sphinx que es un software de reconocimiento de voz, el cuál había probado ya hace varios años y el cuál te permite ejecutar aplicaciones en Linux mediante comando de voz, la configuración de PerlBox-Voice es fácil, solo introduces las palabras y la aplicación a ejecutar cuándo perlbox "oiga" la palabra, entonces se me estuvo ocurriendo que pudiera hacerse una modificación en el código de PerlBox-voice para poder mandar diversos comandos a diversas aplicaciones mendiante la voz usando un manos libres bluetooth ó un micrófono conectado directamente al puerto de audio de la PC.
La diferencia pensada de la versión actual de PerlBox es que en vez de solo iniciar programas, también en base a comandos de Voz tome perfiles, algo que hacen los controles remotos bluetooth, de tal forma que si activas un perfil para Amarok, puedas usar las funciones de amarok para adelantar, atrasar, pausar, continuar una canción, si cambias a VLC puedas usar las funciones de voz para reproducción de DVDs, si cambias de perfil a modo TV puedas mandar comandos de voz para cambiar de canal, subir volúmen, etc.. y asi sucesivamente para diversos perfiles (fotografía, navegación web, gestión de archivos).
Lo que teóricamente pasa por mi cabeza es que haya un demonio que esté a la escucha de los comandos recibidos desde los clientes, esos clientes se encargarían de evaluar la información leída por Perlbox-voice y permitirían el cambio de perfil y las acciones si es que asi fueron ordenados, los demonios se encargarían enviar los comandos a las respectivas aplicaciones habilitadas del perfil aprovechando el uso de comandos remotos que tienen diversas aplicaciones.
Por ahora parece que puede ser factible hacerlo aprovechando la tecnología de PerlBox-voice.
pensando en voz alta >
Comentarios Recientes