Hoy en estos días la movilidad es un aspecto importante tanto para los usuarios caseros como para los grandes corporativos, ya que la tecnología de Voz sobre IP permite esta movilidad con respecto a los servicios de telefonía, lo cuál implica que te puedes de mover de una oficina a otra ó de una ciudad a otra e incluso de un pais a otro y seguir llevando contigo tú número telefónico. ¿ Qué ventajas tiene la telefonía de voz sobre IP con respecto a la movilidad ? Simplemente que te permite estar conectado a la red de telefonía de tú empresa mediante una conexión de internet dónde quiera que estes, esto implica que tu número o extensión telefónica empresarial podrá ir dónde quiera que tu estes mediante una conexión de internet de tal forma que nunca perderas una llamada de tús clientes, socios, empleados y proveedores manteniéndote al tanto de todo lo que suceda en la empresa dónde quiera que estes. ¿ Para un usuario casero que ventajas le brinda la telefonía IP ? Imagina que un día realizas un pedido vía internet, pero no sabes que ese pedido llegaría a las 10 A.M. a tú casa, a esa hora tú te encuentras en tú oficina, el mensajero toca el timbre de tú puerta, pero tú tienes conectado el portero a tú conmutador Asterisk de Voz sobre IP, de tal forma que si en 60 segundos nadie responde al llamado de el dispositivo portero activado por el mensajero entonces el conmutador como primer paso redirige la llamada a tú extensión personal, en ese momento tú estas conectado desde tú oficina via internet a tú conmutador casero de tal forma que recibes en tú oficina el llamado del mensaje a un SoftPhone instalado en tu computadora, pero por alguna razón saliste de tú oficina y no respondes de forma inmediata la llamada que recibes en tú SoftPhone en tú computadora, por lo cuál el conmutador que tienes instlado en casa como segundo paso es enlazar el portero a un telular que es un dispositivo que esta conectado al conmutador de voz sobre ip para hacer llamadas a telefonos celulares de tal manera que usando el plan de telefonía celular te marca a tú celular, en ese momento tu estas sacando copias y recibes la llamada, te comunicas con el mensajero y en ese momento le indicas que deje el paquete en la puerta trasera de tú garage, por lo que desde tú celular marca al portero del garage y desde tú celular abres la puerta para que el mensajero deje tú paquete adquirido por internet.
Lo anterior son una de las tantas ventajas de la telefonía IP, pero la principal es el abaratamiento de costos de telefonía así como la movilidad. ¿ Cómo puedo obtener movilidad a traves de la telefonía IP ? Si eres un usuario casero o empresarial existen diversas formas de conseguir tener una cuenta de VoIP a traves de un proveedor tercero, tal es el caso de DIDIWW [http://www.didww.com] que te ofrece números telefónicos de diversas partes del mundo por una cuota de 10 dlls mensuales, con esta cuota tú podrás recibir las llamadas que quieras a un teléfono IP, a un softphone instalado en tú computadora ó a un teléfono tradicional conectado a un adaptador telefónico como es un PAP2 de Linksys.
El servicio de DIDWW te permite redirigir tu número telefónico a diversos servicios como a tú propio conmutador de voz sobre ip, a un proveedor SIP o IAX tercero como centricall.com e incluso puede redirigírtelo al MSN o GTALK.
Las ventajas de adquirir un DID es que no tienes que hacer engorrosas filas en telmex para adquirirla, realizar un contrato por más de un año, recibir cargos telefónicos extras por parte de la centralita, entre otros muchos dolores de cabeza que tienes al contratar una línea adicional para tú negocio o casa.
Ún DID tú puedes adquirirlo en cualquier momento con cualquier proveedor, configurarlo en tú conmutador, en un SofPhone e incluso en un teléfono tradicional. Si configuraras el DID en tú computadora recibirías las llamadas a tú número seleccionado como DID desde cualquier parte del mundo, supongamos que tú DID es de la Ciudad de México podrías estar en cualquier parte del mundo y recibir llamadas de tal forma para los que te hablen serían llamadas locales y a ti no te costaría nada.
Si conectaras tú DID a tú conmutador podrías realizar las funciones normales que realizas con cualquier línea tradicional de Telmex como mandarlo a un IVR, redireccionarlo a un grupo de marcación, mandarlo a un correo de voz, por lo cuál con un DID vía VoIP tienes todas las ventajas de una línea tradicional a un bajo costo y permitiendo tener movilidad.
VoIP: Protocolo que permite transmitir voz a traves de internet. Este protocolo ha sido desarrollado enormemente en los últimos años por lo cuál es una alternativa real para las necesidades de telefonía, la telefonía VoIP ha permitido abaratar costos debido a que usa la infraestructura de internet para hacer llamadas de larga distancia.
DID: Direct Inward Dialing por sus siglas en ingles. Es un servicio ofrecido por diversas compañías para asignarte un número de cualquier parte del mundo y puedas recibirlo vía internet a tú computadora, a tú conmutador o a un número tradicional. Las empresas que te ofrecen DID generalmente te dan un número de la ciudad y del pais que elijas por lo cuál podrías tener un número de China, Japón, Australia y Alemania por ejemplo y estar recibiendo esas llamadas sin costo hasta tu computadora dónde quiera que estes a traves de una conexión a internet.
IVR: Interactive Voice Response por sus siglas en ingles. Es un servicio que se configura en los conmutadores actuales por lo cuál es factible dar respuestas de voz interactivas a traves de una máquina a los usuarios.
Grupo de Marcación: Es un grupo configurado en un conmutador de VoIP, este grupo puede ser una lista de extensiones o de números telefónicos a la cuál marca el conmutador al mismo tiempo al recibir una llamada.
Telmex: Porveedor de telefonía tradicional y otros servicios en México.
SIP: Protocolo de comunicación de voz a traves de internet.
IAX: Protocolo muy eficaz nativo del proyecto Asterisk para comunicación de voz sobre IP a traves de internet.
Portero: Dispositivo que permite a los visitantes llamar a traves del conmutador a una extensión configurada previamente, puede tener un sistema de videoconferencia asi como tiene un interruptor electrónico para abrir y cerrar puertas marcando un código desde cualquier extensión permitida del conmutador.
Telular: Dispositivos al cuál es posible instalar un SIM CARD de telefonía celular y conectarlo a un conmutador para hacer llamadas desde cualquier extensión y ser enrutadas a este dispositivo cuándo se requieran llamadas a teléfonos móviles.
DIDWW: Servicio de internet para proveer DID.
Gtalk: Servicio de mensajería de google.
MSN: Servicio de mensajería de Microsoft.
PAP2: Dispositivo de la marca linksys que permite conectar teléfonos tradicionales a una red de Voz Sobre IP.
SoftPhone: Software de computadora que permite emular un teléfono IP por lo cuál es factible hacer llamadas a cualquier número del mundo mendiante un servicio de VoIP. Con los softphone es posible también hacer videoconferencias.
RFID que por sus siglas en ingles significa Identificación de Datos por Radio Frecuencia es un término que es usado para definir un sistema que transmite información serializada de alguna entidad por medio de ondas de radio frecuencia. El RFID fué rediseñado para permitir a diversos dispositivos de lectura capturar información de etiquetas y enviarlos automáticamente a un sistema de cómputo para su procesamiento sin la necesidad de que un ser humano pueda estar involucrado en el proceso.
Una etiqueta de RFID consiste de un microcircuito electrónico unido a una antena de radio pasiva o activa montada sobre una placa de sustrato. El microcircuito puede almacenar hasta 2 kilobytes lo que equivaldría por ejemplo a escribir sobre la etiqueta de RFID la descripción del producto, marca, su fecha de manufactura, origen, lote, etc., algo así como un código de barras bidimendional PDF-417 pero inalámbrico ¿ Genial no crees ?. Para poder leer la información escrita sobre la etiqueta de RFID se requiere de un lector especial RFID que no es más que una o más antenas que excitan al microcircuito para obtener la información de forma inalámbrica mediante ondas de radiofrecuencia, el lector despues de obtener la información de la etiqueta RFID envía los datos de forma digítal a un sistema de cómputo para el procesamiento deseado es común ver por ejemplo sistemas de tomas de inventario de activos fijos haciendo uso de esta tecnología desde terminales portátiles.
El RFID está siendo usado en la actualidad por miles de empresas desde finales del siglo pasado. ¿ Pero si el RFID es una tecnología de mediados del Siglo pasado entonces porqué hasta ahora causa interes por parte de las empresas ? el principal problema sin duda fué el costo, pero en los últimos años su costo ha disminuído considerablemente debido al la popularidad que ha tenido lo que ha permitodo su uso masivo por diversas empresas por lo que en la actualidad ya es factible aplicarlo en diversos procesos de las empresas.
Hasta ahora el RFID tiene mayor uso en el control de almacenes, cadenas de suministro, control de inventarios de activos fijos, control de personal por lo que es permisible pagar cómo mínimo más de 10 ctvs de dólar por parte de las empresas para tener mayor control y así hacer más eficaces sus procesos.
El RFID también es usado para llevar un seguimiento de cadenas de suministros abiertas, donde las chips de RFID son puestos en cajas ó envases por una compañía y pudiendo ser leídas por otra, el principal impedimento para adoptar la tecnología de RFID en las empresas es el costo. En el año de 1999 la UCC( Uniform Code Council ) y EAN International unieron esfuerzos junto con la empresa Gillete y Procter & Gamble para fundar el Auto-ID Center en el Instituto de Tecnología de Massachussets. El centro se encargó de modificar la ecuación al trabajar con la industria privada para desarrollar una etiqueta RFID que fuera de muy bajo costo (el propósito fue 5 centavos) cuando se fabricara en grandes cantidades.
El costo de 5 ctvs de dólar todavía está a algunos años de ser realidad, el costo actual mínimo en EU es de 20 a 30 ctvs de dólar, dependiendo de sus características y empaquetado ya que existen chips de RFID para diversos usos por lo cuál su costo puede incrementar considerablemente por lo cuál siempre es necesario hacer un estudio previo para definir los requisitos necesarios para la implementación de la tecnología RFID.
El aporte de Auto-ID Center no solo se concentró en desarrollar una etiqueta de bajo costo, si no también en crear un esquema de serialización numérica que hiciera posible tener único número serial por cada artículo fabricado.
Auto-ID Center también desarrollo un protocolo de comunicación entre los lectores y las etiquetas RFID para que existiera un estándar que pudiera ser implementado por diversos fabricantes. También diseño una estructura de red para almacenar la información en una base de datos de internet segura, el Auto-ID center traspasó su desarrollo a una organización llamada EPCGlobal la cuál creó un protocolo de comunicación conocido como de Segunda Generación sobre la cuál se ha concentrado en desarrollar una infraestructura de red que se denominará EPCGlobal Network, la finalidad de esta infraestructura es compartir información en tiempo real entre diversas compañías.
¿ Cuál es la finalidad de crear una infraestructura de red sobre la tecnología de RFID ?
Supongamos que una Compañía A envía cajas llenas de café de altura en alguna parte de la Sierra Norte de Oaxaca, las cajas y empaques son leídos con un lector de RFID cuándo se haga el embarque y a traves de una aplicación de cómputo conectada a internet pueda informar a la Compañía B que el embarque ha salido hacias sus bodegas.
La compañía B cuándo reciba el embarque, lee las etiquetas RFID automáticamente al pasar por un portal con antenas de radiofrecuencia, en ese momento se envía un mensaje a la compañía A. La eficiencia potencial creada por esta visibilidad es enorme. Las compañías serán capaces de reducir sus inventarios mientras se aseguran de que los productos están en el lugar correcto en el tiempo correcto. Y puesto que no intervienen humanos para leer las etiquetas, los costos de mano de obra y los errores se reducirán enormemente.
Actualmente todavía es difícil pensar en la aplicación de RFID en ventas al consumidor final ¿ Esto porqué ? debido precisamente al costo de las etiquetas de RFID, ya que no sería factible poner un TAG (etiqueta) RFID de 10ctvs de dólar a un lápiz de 20ctvs de dólar pr ejemplo ya que esto incrementaría su precio en un 30%. Aunque el sueño de las cadenas comerciales es no solo usar RFID para la cadena de suministro ó control de almacenes si no también aplicarlo en la venta al consumidor, dónde el consumidor tome su carrito haga sus compras y al final no tenga que hacer cola por 20 minutos en el mejor de los casos en un día de quincena en una caja face-smile.png , si no pasar "libremente" por un portal con antenas RFID que lean los tags de los productos y en ese momento hagan el cálculo de la compra y en automático leer el tag RFID de la tarjeta de débito o crédito del consumidor y hacerle el cargo correspondiente.
El auge de RFID ya está muy próximo así como su uso masivo al igual que el código de barras y sus aplicaciones ya están funcionando aquí en México, en MexRom Technologies ya estamos trabajando con esta tecnología y empezando a dar soluciones a diversos clientes.
Pues ya está todo listo para el Encuentro Nacional de Linux que se llevará a cabo en la Benemérita Universidad Autonoma en la Ciudad de Puebla del 18 al 20 del próximo mes de Octubre.
Revisando el programa del ENLi'07 que se puede observar en la siguiente URL http://enli.org.mx/new/?nav=1.3 se puede observar que habrá interesantes temas con respecto a tecnologías corriendo sobre la plataforma linux de las cuáles me resultan interesantes desde mi punto de vista y de las que puedo mencionar son las siguientes:
Web con XAJAX
Jesus Christian Cruz Acono
Ajax es una tecnología que está tomando auge desde mediados del año pasado dentro de lo que es Web 2.0 y está revolucionando el mundo del internet.
Ruby on Rails: Porque hay mejores maneras de cortarse las venas que escribiendo PHP
Gunnar Eyal Wolf Iszaevich
Lástima que esta ponencia se traslape con la mía, pero definitivamente RoR(Ruby On Rails) es uno de los frameworks de desarrollo para web más interesantes y eficientes de los que existen actualmente en internet incluso mucho mejor que algunos frameworks de PHP y sin duda que valdrá la pena oir las razones de Gunnar para no cortarse las venas.
Nagios, una plataforma de gestión de redes.
Frank Abel Cancio Bello
Otra de las ponencias interesantes que valen la pena pero lástima que se traslapan con la mía, Nagios es una herramienta del software libre muy poderosa para monitoreo de servicios y dispositivos en red, muy práctica para los administradores de redes y sistemas.
SQL-Ledger, La opción para la empresa
Jesus Vazquez Contreras
Esta ponencia si no me la pierdo ya que SQL Ledger es un ERP basado en la folosofía del software libre que permite implementar todo un sistema contable, punto de venta y control de almacenes para empresas de todos los tamaños, creo que muchos empresarios se verían interesados por esta ponencia.
Asterisk: La revolución de la telefonía
Octavio Humberto Ruiz Cervera
Una ponencia interesante que mostrará la efectividad de el proyecto de Asterisk como una solución muy poderosa para las empresas en cuánto a telefonía, valdrá mucho la pena escuchar más experiencias que permitan enriquecer las que tengo hasta ahora con las implementaciones de este conmutador de VoIP.
Seguridad en aplicaciones web
José Carlos Nieto Jarquín
Sin duda que será interesante escuchar a uno de los hackers jóvenes mexicanos que han hecho cosas interesantes a pesar de su corta edad, este jovencito de apenas 20 años ha desarroollado proyectos interesantes como Gecko aparte de participar en varios retos de seguridad por lo qué será amena su plática sobre la misma.
Pues ojalá varios que lean este post se animen a participar en el ENLi que sin duda será uno de los grandes eventos de Software libre de este año.
Para ver el programa pueden acceder al siguiente URL http://enli.org.mx/new/?nav=1.3
Más información en : http://www.enli.org.mx
Por motivo del Foro Nacional de Software Libre llevado a cabo en Coatzacoalcos Veracruz al que tuve la fortuna de asistir a principios del mes de Junio para dar una plática en el Centro de Convenciones sobre Programación de Aplicaciones Móviles con SQLite, tuve que hacer unos ajustes a el script de PHP para convertir archivos de CSV y generar una base de datos de SQLITE por lo que he liberado la versión 0.02 de este script haciéndolo más fácil de usar para algún programador que requiera exportar archivos CSV y generar una base de datos de SQLite.
El Script de PHP puede descargarse desde el siguiente URL https://sourceforge.net/projects/csv2sqlite/
Por cierto el material de mi ponencia puede ser descargado desde la siguiente URL http://phylevn.mexrom.net/data/files/files/SQLiteFonasol.pdf
Espero les sirva y cualquier comentario será bienvenido.
Despues de 1 mes sin conectividad aquí en el nuevo depto y ante el poco interes de mi arrendador de facilitarme la contratación de una línea Telmex, decidí por fin contratar el servicio de internet de banda ancha portátil de eGo proveído por MVS..
Despues de investigar su funcionamiento con varios amigos el único pero que podía existir era la cobertura, ya que eGo usa la tecnología de WiMax para permitir la conexión inalámbrica en una cobertura amplia, al parecer usa la frecuencia de los 2.4 ghz similiar al WiFi y muchas partes de la ciudad aún no son cubiertas al 100%, por lo que accedí al sitio de ego [http://www.ego.com.mx] para verificar de que hubiera cobertura por dónde se ubica el depto dónde vivo, la busqueda fué satisfactoria y con unas dudas más accedí al soporte en línea para aclarar algunas dudas con respecto a la contratación, cobertura, servicios y paquetes, por lo que despues de unos 20 mins en el chat con la srita. de servicio a clientes sin mayor problema hice la contratación del paquete Value. adquiriendo la renta del servicio por un año, en el cuál me incluirían un Access Point de marca Air Link de regalo --bueno en estos días si algo he aprendido es que nada es regalado en esta vida-- el paquete ya incluía en la contratación un CPE en modo de préstamo durante un año --un CPE es el dispositivo cliente que permite conectarse desde algún lugar a redes WiMax, el CPE es de la marca NextNet Wireless, que si no mal recuerdo NextNet era una empresa ubicada en Europa, y ahora intentando revisar su sitio web para obtener más información, veo que ya es una empresa más de Motorola, Ahora si que ¡¡ Hello Moto!!.. pues hace unos meses adquirió a Symbol Technologies a> creo saber hacia dónde quiero Motorola, en fin.. sigamos-- . Despues de un par de días el equipo me fué envíado a las oficinas y sin pensarlo comence a probar el funcionamiento de esta tecnología, Para esto hice una conexión punto a punto entre el CPE y mi lap, me sorprendió que la conexión a internet funcionara a la primera.. --esa es una buena característica para que un producto y/o servicio tenga éxito, que funcione a la primera--, por lo qué sin hacer más pruebas lo guarde en su estuche esperando la noche para llegar al depto y jugar con la chunche...
Al llegar al depto desempaqué el AP de regalo, un Access Point bastante simple pero con las características necesarias para poder satisfacer mis necesidades de comunicación, pensaba usar otro AP de Linksys un WRT54G que tengo con un firmware hackeado con la versión de dd-wrt para VoIP, pero el de regalo cubrió bastante mis espectativas.. y con solo unos ajustes de "seguridad inalámbrica" y autenticación, conecté el CPE al puerto WAN del AP y mis equipos móviles vía wireless al AP, en 10 mins ya tenía internet de banda ancha inalámbrica en el depto, cubriendo todavía más allá de 50 mts alrededor del patio de la planta baja.
Despues de configurar lo básico inicie con otras pruebas, dándome una grata sorpresa que el servicio de eGo me diera una IP Pública, por las referencias que tenía, eGo ofrecía solo ip privadas a sus clientes a traves de NAT, por lo que no había ni soñado en poner algunos servicios directamente a internet desde my Home, pero con esta posibilidad puse manos a la obra y di de alta servicios de VNC, MP3 y Video Streamming, así como un servicio local de FTP montado, mi servidor de VoIP con Asterisk, 2 webcams USB conectadas a mi servidor linux configurandolas como cámaras IP en linux con sus respectivos puertos TCP, por lo que solo me restaba hacer el enrutamiento de los servicios mediante "Por Forwarding" y aprovechando que el AP tenía la opción de DDNS dí de alta un host dinámico en DynDNS para poder acceder desde cualquier lugar de internet a los servicios de mi red.
Para probar la configuración pedí entonces a un amigo que se encontraba en línea en ese momento que accediera desde dónde se ubicaba a mis cámaras web, a mis streammings de video y mp3 vía IP, así como que se conectara remotamente a mi servicio de VoIP usando el protocolo de IAX, todo funcionó con una sola excepción.. la latencia de la conexión es muy alta por lo que la calidad de conexión a los servicios fúe muy baja, llegando a no poder conectar a diferentes servicios que tengo dentro de mi red casera.. En conclusión puedo decir que el servicio de eGo ha satisfecho mis expectativas y los puntos importantes que recalcaría del servicio en cuánto a sus características técnicas serían las siguientes...
Funciona a la primera..
Cómo es protocolo TCP/IP no depende de drivers o cosas raras por lo que se puede usar Linux, Windows, MacOSX, PocketPC, para conectarse al servicio.
Tiene una IP Pública.!
En promedio el UPLOAD es de 110 kpbs, el servicio indica que debe ser de 120kpbs
En promedio el DOWNLOAD es de 720 kbps, el servicio manifiesta que debe ser de 1024 kpbs
No requiere de Línea de Vista con la Antena de MVS eGO debido a que usa Ortogonal Frecuence para el envío de las ondas herzianas.
No hay bloqueo de puertos TCP ni UDP como en infinitum. Las bondades que me brinda en lo personal son:
Ya no dependo de Telmex, se acabaron los cargos extras por servicios no solicitados, tengo un DID VoIP para México que está configurado en mi PBX Casero por lo cuál puedo tener uno ó más números del D.F. y de cualquier parte del mundo y recibir llamadas dónde quiera que me encuentre, aparte ya no pagaría tanto de larga distancia solo .27 centavos mexicanos por minuto a cualquier parte del mundo dónde hable.
Ahora podría hospedar diversas aplicaciones web que he desarrollado, en mi propio servidor de forma temporal para hacer demos, sin el riesgo de hospedarlas en un sitio rentado y que mi ISP pueda volármelas..
Desde cualquier parte de internet puedo monitorear mediante 2 cámaras usb configuradas con video streamming, el interior y lo que sucede en el exterior del depto sin caros equipos de cámaras IP.
Ahora puedo compartir en todo momento la música que escucho desde mi servidor de MP3 Streamming.
Subir y Descargar archivos mediante un servidor de FTP local.
Mostrar el avance del desarrollo de las aplicaciones para dispositivos móviles a mis clientes sin tener que ir a sus oficinas que algunas veces se encuentran en otro estado de la república mediante el protocolo VNC.
Creo que estos son mis primeros pasos para la casa inteligente que me gustaría y desearía tener en un futuro...
Update:
La latencia sigue existiendo, pero el problema de no conexión a los servicios de mi red fué debido al Access Point AirLink, lo cambié por el WRT54G y todo funciona a la maravilla el performance del WRT54G con el firmware de DD-WRT me ha permitido mayores opciones dentro de mi red local...
Nota Importante:
Este es un procedimiento para instalar Linux a modo de pruebas para y UNICAMENTE Palm LifeDrive, Este método puede eliminar la garantía de tú equipo, así que úsalo bajo tú propio riesgo.
Archivos Requeridos: Liga de Descarga
boot configuration http://git.hackndev.com/releases/20061002-insomnia/linux.boot.cfg
Procedimiento:
1.- Cocoboot
Cocoboot es un Programa PRC para PalmOS que carga el Kernel de Linux en la Memoria del equipo, este programa inicia el proceso de carga de Linux. Instálalo en la memoria de tu Palm Life Drive.
2.- zImage: Linux zImage
El archivo zImage contiene el Kernel de Linux y un pequeño entorno de booteo llamado initramfs que se monta el disco duro de tú equipo y carga el resto del sistema operativo. Necesitaras descargarlo y copiarlo al directorio raiz del disco duro de la Palm Lifedrive
3.- rootfs:Familiar Distribution
Es el sistema de archivos por default que contiene un conjunto de programas para usar linux, actualmente existen diversos entornos de escritorio de Familiar, necesitaras descargar uno y descomprimirlo (puedes usar 7-zip para descomrpimirlo http://www.7-zip.org/ ), en este caso usaremos OPIE. El archivo descomprimido copiarlo al directorio raiz del disco duro de la Palm Drive.
4.- swap file
Espacio SWAP, en algunos Sistemas como windows se conoce como memoria virtual, es un área de datos para almacenamiento temporal que corré algo similar a la memoria RAM. Es opcional, pero mejora la velocidad del equipo, especialmente cuándo se ejecuta un entorno gráfico en la Palm Life Drive como será en este caso.
Descárgalo, descomprímelo en tu pc, y copialo al disco duro en la palm lifedrive.
5.- Boot Configuration
initramfs necesita saber que rootfs cargar, así también define si se usará un archivo SWAP. USa el default y obtenlo de la siguiente URL[http://git.hackndev.com/releases/20061002-insomnia/linux.boot.cfg]. Colócalo en el directorio raiz del disco duro de la Palm Life Drive
6.- Notas muy Importantes.
Ten algunas precauciones antes de querer correr linux.
No presiones el botón reset mientras la PDA esté en suspensión, activa el dispositivo ya sea presionando un botón o tocando el touch screen, entonces puedes reinicar la PDA.
Para regresar de Linux a PalmOS, solo reinicia tú PDA.
La versión de Linux para Palm LifeDrive actualmente no tiene un diver que muestre el status de la batería, si estás cargando tú PDA y sientes un sobrecalentamiento, desconéctalo!.
Este procedimiento unicamentes es para PALM LIFEDRIVE, no intentes realizarlo en algun otro modelo o versión de sistema operativo, ya que podrías ocasionar que tú equipo quede inservible y tengas un nuevo pisapapeles muy bonito y original, pero muy caro.
Finalmente, No soy responsable si seguir este procedimiento causa algún daño a tu PDA.
Seguir este procedimiento puede causar que se pierda la garantía de tú equipo.
úsalo bajo tú propio riesgo. !!
7.- Iniciando Linux
Si la descarga de los archivos fueron correctos y la instalación de los archivos en el disco duro fueron realizados tal como menciono en líneas anteriores, entonces estas listo para correr Linux.
Ejecuta el programa cocoboot en tú Palm LifeDrive.
La pantalla de la PDA mostrará un mensaje diciendo /initrd.fz not found, esto es normal, el initrd esta construído dentro de el archivo zImage por eso no encuentra la inicialización y envia ese mensaje.
Si todo va bien en unos pocos minutos podrás ver corriendo el Entorno Gráfico de OPIE y pedirá que calibres la pantalla. Haz la calibración y empieza a jugar con Linux en tú Palm Life Drive.
8.- EN CASO DE ALGUN ERROR.
EN caso de que el dispositivo se reinicie mostrando un error como "FATAL EXCEPTION" cierra algún programa que este en ejecución en tú Palm, puede ser que algún programa este en modo background (Ejemplo PXAClocker)
Desconecta el cable USB de tú PDA.
Remueve la tarjeta SD/MMC.
Intenta Reiniciar en frío, no olvides respaldar todo antes de hacer el reinicio.
Si tienes alguna duda sobre la instalación puedes obtener más información en el siguiente foro http://hackndev.com/forum
Pongo a su disposición un Script en PHP que permite exportar archivos CSV a una Base de Datos de SQLite.
Objetivo:
El fin de este script es exportar cualquier archivo CSV, con cualquier longitud de campos y cualquier numero de registros a una tabla específica de SQLite.
Limitantes:
No valida la información contenida dentro del archivo CSV, solo realiza inserts. Pueden implementar alguna función que haga la validación.Pueden descargar el script del Siguiente URL.PHPCSV2SQLite
O directamente desde Source Forge Historia:Este script fué implementado para incorporarlo en un sistema de captura de datos para terminales móviles.Requería extraer 35 tablas de una Base de Datos Legacy y Propietaria con cerca de 100,000 registros en total, por lo que solo era posible extraer la información en CSV .En un inicio mis planes era usar SQL Mobile Server 2005 para Windows Mobile 2005 pero encontré las siguientes liminates que me hicieron optar por SQLite
La base de datos de SQL Mobile Server es propietaria.
No puedo manipular el fichero SDF de SQL Mobile Server en Windows XP, solo en los dispositivos móviles, por lo que la importación solo podría hacerla en las terminales.
El tiempo de importación de los registros CSV en la terminal es promedio de 100 registros por minuto con SQL CE, imagínense importar 100,000 registros.
Puedo hacer replicación entre MS SQL Server y SQL Server Mobile, pero esto requeriria tener las terminales en sitio, aparte el tiempo de replicación sigue siendo muy lento para hacer la inserción de los registros, sin contar las conexiones que debería de hacer para que las terminales lo hagan vía GPRS.
No podría usar replicación primero porque los terminalistas estarían en zonas alejadas conectados vía GPRS, por lo que una replicación sería completamente insegura al intentar transmitir los datos.
Diariamente se requiere hacer esta replicación, y existen más de 20 terminales, lo que se requeriría una licencia del servidor MS SQL Server y una licencia por cada conexión de los clientes, a menos que se tuviera una licencia por procesador.
Con SQLite me evité dolores de cabezas por lo siguiente:
Importar las mismas 35 tablas junto con sus 100,000 registros me toma solo 17 segundos.
No requiero hacer replicaciones o conexiones raras entre las terminales y algun servidor, solo compactar la Base De Datos y transmitir el archivo vía GPRS cosa que me toma 5 minutos.
La librería de la Base de Datos va empotrada dentro del código de la aplicación, por lo que no requiero instalar algún tipo de servidor o aplicación extra más que la mía para que funcione la base de datos de SQLite
Puedo exportar cualquier esquema y datos de una Base de Datos, sí ! hasta tipos Blob.Puedo operar la Base de datos en Linux, Mac OS X Windows, FreeBSD,PocketPC2002, 2003, Windows Mobile 2005, Windows CE, etc.. y existen multiples herramientas y lenguajes para hacerlo.
Es Software Libre.
Es por eso que este script me ayudó a exportar toda la información de la Base de Datos a las PDAs sin dolores de cabeza, y cómo aportación lo pongo a su disposición libremente para que puedan usarlo en algún desarrollo.
Esta es la línea que me permite exportar la información del archivo CSV
$_registros["PRODUCTS"]= FileToTable("./catalogos/PRODUCTS.CSV",$dbHandle,$separador,$delimitador,"PRODUCTS",$_fields_productos,$debug); // $_registros["PRODUCTS"] recibe la cantidad de registros del archivo CSV // FileToTable función que llamo para exportar el archivo // Ruta del archivo CSV // $dbHandle Conector de la Base de Datos SQLite // $separador caracter de separación de campo del archivo CSV // $delimitador caracter delimitador de campo del archivo CSV // "PRODUCTS" nombre de la tabla // $_fields_productos array que contiene la descripción de los campos de la tabla // $debug bandera para mostrar los registros no insertados en la tabla
Un interesante Post de Robert Simpson desarrollador del Ado Net Provider para SQLite y Visual Studio .NET 2005, dónde explica el porqué usar transacciones es importante, la principal a mi gusto es que disminuye considerablemente el tiempo de ejecución de las consultas, ya anotada en la lista de mis mejores prácticas.. La información fué tomada de la siguiente URL http://petesbloggerama.blogspot.com/2007/02/sqlite-adonet-prepared-statements.html If you are inserting data in SQLite without first starting a
transaction: DO NOT PASS GO! Call BeginTransaction() right now, and
finish with Commit()! If you think I'm kidding, think again. SQLite's A.C.I.D. design means that every single time you insert any data
outside a transaction, an implicit transaction is constructed, the
insert made, and the transaction destructed. EVERY TIME. If you're
wondering why in the world your inserts are taking 100x longer than you
think they should, look no further. Prepared Statements
Lets have a quick look at the following code and evaluate its performance:
</em></em>
using (SQLiteCommand mycommand = new SQLiteCommand(myconnection)) { int n; for(n =0; n <100000; n ++) {
mycommand.CommandText=String.Format("INSERT INTO [MyTable] ([MyId]) VALUES({0})", n +1);
mycommand.ExecuteNonQuery(); } } <em><em>
This code seems pretty tight, but if you think it performs well, you're dead wrong. Here's what's wrong with it: I didn't start a transaction first! This insert is dog slow!
The
CLR is calling "new" implicitly 100,000 times because I am formatting a
string in the loop for every insert Since SQLite precompiles SQL
statements, the engine is constructing and deconstructing 100,000 SQL
statements and allocating/deallocating their memory All this
construction and destruction is involving about 300,000 more native to
managed interop calls than an optimized insert.
So lets rewrite that code slightly:
</em></em>
using (SQLiteTransaction mytransaction = myconnection.BeginTransaction()) {
using (SQLiteCommand mycommand = new SQLiteCommand(myconnection)) {
SQLiteParameter myparam = new SQLiteParameter(); int n;
mycommand.CommandText="INSERT INTO [MyTable] ([MyId]) VALUES(?)";
mycommand.Parameters.Add(myparam); for(n =0; n <100000; n ++) {
myparam.Value= n +1;
mycommand.ExecuteNonQuery(); } }
mytransaction.Commit(); }<em></em><em><em></em><em>
Now
this is a blazing fast insert for any database engine, not just SQLite.
The SQL statement is prepared one time -- on the first call to
ExecuteNonQuery(). Once prepared, it never needs re-evaluating.
Furthermore, we're allocating no memory in the loop and doing a very
minimal number of interop transitions. Surround the entire thing with a
transaction, and the performance of this insert is so far and away
faster than the original that it merits a hands-on-the-hips pirate-like
laugh. Every database engine worth its salt utilizes prepared
statements. If you're not coding for this, you're not writing optimized
SQL, and that's the bottom line.
Many developers do not
fully understand the importance of using prepared statements with
parameters where stored procedures (the preferred method in almost all
cases) cannot or should not be used. The importance of this, combined
with the practice of wrapping repeating inserts or updates in a
transaction, cannot be underestimated. If the above all makes sense,
then you'll like my next installment, "Did Chuck Norris kill SOA?".
Hace unos meses durante el análisis de una aplicación que está corriendo ya ahora en Dispositivos Móviles con Windows Mobile 2005 y desarrollada en C# con Visual Studio, estuve buscando información sobre diversas bases de datos que corrieran en Windows Móbile 2005 y tuvieran bastantes fortalezas como :
Poca Administración debido a las características de los Dispositivos Móviles.
Soporte de SQL Stándar.
MultiPlataforma para poder desarrollar interfaces vía Web así como aplicaciones de escritorio tanto en Linux, Windows u otra plataforma sin tener que hacer procedimientos de migración.
Mayor Velocidad en ejecución de Querys.
Herramientas de Monitoreo multiplataforma.
Portabilidad, esto significaría que yo pudiera procesar un archivo de la base de datos en un sitio remoto vía web con Php, Python, Perl, java o alguna otra herramienta, descargarla al dispositivo móvil y operar la base de datos sin tener que hacer un proceso de importación o migración en la PDA.En la búsqueda encontré un BenchMark mostrado por PocketMagazine en la siguiente URL http://www.pocketpcmag.com/_archives/Aug06/databases.aspx
Los archivos SDF de la Base de datos de SQL Server CE no pueden ser consultados cómo tal en Windows XP ya no se diga en otras versiones anteriores de Windows.
Para importar un catálogo necesitamos hacer una replicación de la BD, la cual el servidor debe ser MS SQL Server.
Para poder hacer la replicación de cada terminal con el servidor, se requiere una Licencia por cada dispositivo móvil, esto si no se cuenta con una licencia por Procesador. El servidor para Windows Mobile no tiene costo.
La replicación de MS SQL Server a SQL Server CE implicaría tener una conexión directa Vía Active Sync o TCP/IP al servidor, aparte que la importación de las transacciones consume 100 registros por minuto, lo que importar un catálogo de 30,000 registros nos llevaría 300 Minutoslo que equivale a tener 5 horas al operador esperando apróximadamente.
El footprint de la base de datos va de 2-3Mb por lo que la capacidad de almacenamiento en la terminal portátil disminuiría considerablemente.
Exportar la información de la PDA al servidor requiere otra replicación y conexión al servidor MS SQL Server.
El desarrollo bajo SQL Server CE es propietario y solo se puede realizar desde Microsoft Visual Studio .Net 2003 ó 2005.
La Base de datos puede ser creada en Linux, Windows, Mac, FreeBSD, etc.. y con solo copiar el archivo a la terminal vía Active Sync, podemos usarla en la PDA sin ningún problema, una copia de un archivo con cerca de 500,000 registros en 35 tablas diferentes nos costaría aproximadamente 1 minuto.
Podemos procesar el archivo de SQLite con diversas herramientas, por ejemplo que una terminal se conecte a un Servicio Web, en dónde se tienen catálogos de clientes, proveedores, productos y otros catálogos, la terminal podría conectarse y descargar esa base de datos y tener todo el esquema y datos en la PDA en tan solo segundos.
SQLite soporta Querys de SQL Estándar lo que la hace muy poderosa al realizar las consultas para diversos procesos.
No tiene costo pero mejor aún es Software Libre.
El desarrollo con SQLite puede ser realizado en diversas herramientas tanto propietarias como libres Véase la multitud de opciones Aquí
Despues de este breve análisis añado al BenchMark de Pocket Magazine otras características a considerar de SQLite interesantes si no es que únicas en comparación a otras Bases de datos tanto libres como propietarias corriendo bajo Dispositivos Móviles.
Aquí un comentario de Robert Simpson desarrollador del Ado Net Provider para SQLite y Visual Studio 2005 .Net y el Compact Framework 2.0 de Microsoft.
"SQLite is faster than SQL Mobile, and SQLite's database files are smaller.In a couple of simple tests inserting, selecting and updating an Int64,SQLite was more than 10x faster. Inserts/updates that took minutes in SQLMobile took seconds in SQLite." http://phylevn.mexrom.net/data/files/SQLitebyRobertSimpson.txt
Comentarios Recientes