jueves, 5 de octubre de 2017

File Uploader hecho en Java asociado a Web con PHP

Hola a todos, ahora mismo estoy participando de un proyecto el cual tiene tres componentes. A continuación paso a describirlos:


  • 1er Componente: Componente hecho en matlab que recoge datos de sensores y los guarda en un archivo de texto.
  • 2do Componente: Aplicación Web en PHP que muestra los datos recogidos del 1er componente.
  • 3er Componente: Aplicación JAVA que envía el archivo de texto con los datos tomados hacia la aplicación Web.

Bien, en este momento dejaré un ejemplo de como enviar files, hacia una Web hecha en PHP, muy parecido como lo hago en el proyecto, estoy seguro que le ayudará mucho.

Para hacer el componente en JAVA me basé de algo ya hecho, y para no reinventar la rueda, sólo la modifiqué a mi estilo. La Web de la cual me base esta aquí .

Voy a explicar no con mucho detalle lo que hace este componente, pero les ayudará a entenderla.

1) Web PHP

El 1er IF, ayudará a verificar si hay conección
El 2do IF ayudará a verificar si viene un archivo








2) Proyecto JAVA

Este proyecto lo he hecho con el IDE Netbeans y tiene una estructura muy simple.

El archivo MultipartUtility es el que contiene toda la lógica (métodos y librerías) para comprobar conectividad y enviar files a una dirección

El archivo AppFileUploader es el que llama y ejecuta a MultipartUtility


3) Librerías utilizadas

Las librerías que se utilizaron son las que se muestran a continuación.



4) Los métodos de la clase MultipartUtility

verificaConectividad: responde 1 si existe conectividad con la Web en PHP y 0 si no la hay. Recibe como parámetro la ruta.



configuraEnvío: Su nombre de por si te explica que hace, recibe como parámetro el URL y la codificación. Dentro se encuentra la cabecera Content-Type suyo valor es multipart/form-data (cómo vamos a enviar los datos)



addFormField: Ayuda a agregar los encabezados (Content-Disposition) y el tipo de medio que representa el contenido del mensaje (Content-type)



addFilePart: En este método se configuran el encabezado Content-Disposition, que indica si se espera que el contenido se muestre línea en el navegador (página Web) o como un archivo adjunto. Asimismo el encabezado que indica el método que ha sido usado (Content-Transfer-Encoding), para este caso "binary".



addHeaderField: Se configura otras cabeceras, por ejemplo User-Agent para saber el tipo de aplicación, o la cabecera  



Bien, sin más, les dejo el código fuente con todo el proyecto. Lo he probado localmente y con un hosting y funciona perfectamente, sólo deben configurar correctamente las rutas.

Descarguen el proyecto desde aquí.

Hasta la próxima, su amigo Carlos Z.

lunes, 2 de octubre de 2017

Graficar Cartas de Control con HighCharts

Hola, hoy les traigo un nuevo aporte que quizás les pueda ayudar mucho con mostrar datos en su sistema Web.

Hace un tiempo he participado de un proyecto, donde los resultados de los datos tomados en campo, debían mostrarse a través de Cartas de Control.

Revisé si existían librerías ya listas para hacer cartas de control, lamentablemente no había, lo máximo que encontré es como hacerlo en Microsoft Excel.

Bueno sin más, me anime crear una forma de hacer estos gráficos con la librería HighCharts, la cual ayuda mucho con gráficos en sistemas de información Web.

Bien, para hacer las cartas de control tuve que mezclar dos tipos de gráficos de esta librería:

El primer tipo de gráfico es el de líneas, el cual muestro con una imagen.



El segundo tipo de gráfico es el Scatter plot, el cual muestro con una imagen.



Combinando estos dos tipos de gráficos podemos obtener nuestras cartas de control, haciendolo de la siguiente manera: Con el tipo de gráfico de líneas, señalo los límites superior e inferior, y con el gráfico scatter plot señalo los valores con colores azul, si se encuentran dentro de los límites de control (para este ejemplo), y de color rojo si está fuera de los límites. A continuación muestro una imagen de como queda.



Bueno, sin más les dejo un ejemplo básico de cómo realizarlo, lo pueden descargar de aquí.

Espero les haya servido mucho, hasta la próxima su amigo Carlos Zacarías.

domingo, 11 de diciembre de 2016

Huawei Enjoy 5 TIT-AL00 5.1 Inch EMUI 3.1

Hola a todos, quería compartir con ustedes los problemas y soluciones para el equipo Huawei Enjoy 5 TIT-AL00 5.1 Inch EMUI 3.1, empezamos.

Antes que nada, este equipo lo compré porque estaba a menos precio que en el mercado peruano (200 soles menos), con unas buenas características de hardware, entre ellas: 
  • RAM: 2GB/16GB ROM:
  • Banda Detalles: 2G: GSM, 3G: WCDMA; 4G:-LTE FDD/TDD LTE; IEEE
  • Sistema operativo: Android 5.1
  • CPU procesador: MT6735, procesador de cuatro núcleos a 1,3 Ghz
  • Resolución de pantalla: 1280*720
  • Tamaño de pantalla (pulgadas): 5.0
  • Cámara Pixel: 13.0MP
  • Batería Capacidad: 4000 mAh
  • Enviado el regalo gratis: J5 auricular y pa?o de limpieza
  • Garantía de cambio o devolución gratuita en 14 días
Lo compré a través de la empresa Linio, la cual realiza una buena labor logística hasta el momento y estoy bastante satisfecho con todos los productos que he comprado a través de su plataforma.

Bueno cuando me llegó el equipo recien me percaté que venía de la China (por ello a menos precio :D), por lo tanto todo estaba en Chino (idioma por default), para ello debes configurar todo en inglés que es el segundo idioma que te proporciona este equipo, para ello debes ir a Settings-->Languaje & Input, allí configuras el keyboard y el lenguaje del sistema operativo. Primer problema resuelto, bueno este no fue el que trajo mayor reto.

El segundo problema es que los equipos que vienen de la China la mayoría de ellos no utilizan Google Services, este si es un gran problema, porque estamos acostumbrados en latinoamérica a utilizar este servicio para diferentes aplicaciones, entre ellas: Play Store, Youtube, Photos de Google, Gmail, etc.

Ahora sí tenía problemas, y bueno como a todo problema existen soluciones, aquí compartiré hoy dos soluciones.

1ra solución: Formatea/Flashea ó como le digan en tu país de origen y reinstala el sistema operativo, es la solución más fácil de hacer, te cuesta dinero, pero obtienes un equipo con un sistema operativo garantizado para que funciones con Google Services, aunque no utiliza todo su potencial de hardware, podrías tener inconvenientes.

2da solución: Dado que no tiene Google Services, instala la aplicacion HIApp, es como un Play Store pero para estos equipos que vienen de la China, con esto encontrarás todas las aplicaciones que tú desees, entre ellas: Facebook, WhatsApp, Google, Chrome. Asimismo podrás instalar unas aplicaciones muy útiles del mismo equipo Huawei que son: Huawei Framework, Huawei Services, respaldan 100% a estas aplicaciones para su buen funcionamiento.

Ahora, qué hacer para poder utilizar por ejemplo Youtube que depende netamente de Google Services, bueno tienes otra opción muy parecida a dicha app, es NewPipe, la cual es un app que realiza lo mismo que youtube, incluso con una interface gráfica muy parecida, les dejo el apk para que los descarguen, hagan click en el enlace --> Descargar aquí NewPipe.

Espero les haya servido este blog, hasta la próxima su amigo Carlos Z.

sábado, 29 de octubre de 2016

Descomprimir archivos .rar en Ubuntu

Hola a todos, hoy les enseñaré a descomprimir archivos .rar desde la consola. Para ello deben tener instalado unrar. Para instalarlo digiten lo siguiente en consola: sudo apt-get install rar unrar.

Después ya podremos ejecutar los comandos necesario para descomprimir archivos .rar

Si tengo un archivo rar y quiero ver su contenido sin extraerlo, no tengo más que utilizar la setencia:  

#unrar l ficherocomprimido.rar

Si tengo un archivo rar y quiero extraer todos los archivos sin respetar la estructura de carpetas interna:

#unrar e ficherocomprimido.rar

Si tengo un archivo rar y quiero extraer todos los archivos respetenado la estructura de carpetas interna: 

#unrar x ficherocomprimido.rar

Si lo que tenemos es un archivo dividido en varias partes, lo único que tenemos que hacer es ejecutar unrar con el primer archivo y el comando ya se encargará de hacer la extracción completa:

#unrar x ficherocomprimido.part01.rar

Para más info, consultar el man del comando:

#man unrar

miércoles, 19 de octubre de 2016

Plugin de Adobe Flash Player para Ubuntu 16.04 de 64 bits

Hola estimados,

Aquí trayendo algunos problemas con sus soluciones que me parecen interesantes, y sé que les pueden ayudar en cualquier momento.

Bueno he tenido problemas para ver algunos gifs animados entre otros que necesitan del plugin Adobe Flash Player.

Por defecto, Firefox ya debería de estar instalado una versión del Plugin, sin embargo no es suficiente, por ello es necesario primero eliminar la versión previa del plugin.

sudo apt purge --remove adobe-flashplugin flashplugin-installer pepperflashplugin-nonfree

Luego se debe instalar la nueva versión Flash Player, he leído varios blogs y comentan que para 64 bits es mucho más fácil tener la versión más reciente de Flash. Esta versión instalará Pepper Flash Plugin. Antes solamente servía para Chrome, pero ahora también sirve para Firefox.

sudo apt install browser-plugin-freshplayer-pepperflash 

Listo, con esto ya debería andar todo con normalidad.

Hasta la proxima su amigo Carlos Zacarías

martes, 18 de octubre de 2016

Ubuntu 16.4 - No se pudo bloquear /var/lib/apt/lists/lock – open (11 Recurso temporalmente no disponible)

Hola amigos,

Justo tuve otro problema al intentar instalar apache, php, mysql entre otros programas, siempre me salía el mismo error:

No se pudo bloquear /var/lib/apt/lists/lock – open (11 Recurso temporalmente no disponible)

Bueno les traigo la solución la cual es muy sencilla, lo único que deben hacer es: 

sudo apt-get update
sudo rm /var/lib/apt/lists/lock

Y listo, con esto sería suficiente para que puedan seguir instalando sin problemas.

Hasta la proxima, su amigo Carlos Zacarías

lunes, 17 de octubre de 2016

Ubuntu 16.04 no detecta Wifi - Network controller: Broadcom Corporation BCM43142



Hola,

En esta oportunidad Ubuntu Linux no detecta la tarjeta Wifi de mi laptop, para ello debes seguir estos sencillos pasos:


1) sudo apt-get update

2) sudo apt-get install bcmwl-kernel-source

3) ifconfig (para verificar que ya existe la tarjeta wifi) 

4) sudo reboot 


Listo, con esto debería funcionar. Cualquier consulta deja tu comentario.

Hasta la proxima, tu amigo Carlos Z.