13 oct 2016

Huawei: solucionando problema de sincronización - depuración para desarrolladores (USB debugging)


Para quien posee un dispositivo Huawei-Android sabrá lo difícil que resulta, en primera instancia, conectarlo a Android Studio o bien, simplemente conectarlo a una PC para pasar datos.
Después de jugar con mi dispositivo (ALE L-23, versión latinoamericana del L-21, aka Huawei Lite P8) descubrí qué es lo que provoca que el equipo no pueda conectarse en modo desarrollador a una PC. En contexto, este conflicto simplemente impide pasar datos a la propia memoria externa a través de USB, y obviamente ADB no lo reconoce. Y no, no se soluciona cambiando de puerto USB la conexión.



NOTA: ESTOS PASOS SE HACEN CON EL EQUIPO DESCONECTADO DE LA PC.
Lo primero que debemos hacer es ir a Ajustes, después, ir al apartado Administrar aplicaciones, una vez desplegado el listado de aplicaciones instaladas, buscar las aplicaciones HiApp y HiSuite, desinstalarlas.













Una vez desinstaladas volvemos al menú de Ajustes, y vamos al apartado Opciones de desarrollador.





Una vez ahí, checamos que el modo debug del equipo este activado. Y revocamos las autorizaciones previas dando clic en Revocar autorizaciones de depuración USB.



Comprobado lo anterior, volvemos al menú Ajustes y buscamos la opción Seguridad. Damos clic para ingresar. 



Este paso es EL MAS IMPORTANTE. Una vez desplegado el menú de Seguridad buscamos la opción PC Suite (HiSuite), y en donde dice Permitir el uso de Hisuite debemos de DESACTIVARLA. Además, si deseas, puedes Revocar las autorizaciones previas de Hisuite.



Listo, ahora conectamos nuestro dispositivo a una PC con HiSuite abierto. En nuestro dispositivo nos aparecerá la típica ventana pidiendo confirmación para permitir que la PC y el dispositivo se comuniquen en modo debug. Aceptamos.



En nuestro PC HiSuite nos pide instalar HiApp para poder sincronizar nuestro dispositivo con nuestra PC. Aceptamos.



Una vez instalada HiApp en nuestro dispositivo la PC lo reconocerá sin problemas, incluso HiSuite nos ofrece un espejo de la pantalla del dispositivo.



Ahora, la PC detectara el dispositivo sin problemas. Para confirmar que todo salió bien, vamos a la carpeta donde está instalado ADB - SDK Android, por default $\DEFAULT_SDK_ANDROID_DIR\platform-tools> y en consola ejecutamos adb devices, y vemos que nos detecta nuestro dispositivo.



CONCLUSION: el problema de todo esto al parecer radica en los drivers de PC Suite de Windows, al desactivar HiSuite en nuestra terminal Android, neutralizamos la comunicación persistente entre la PC y el dispositivo. Es recomendable mantener PC Suite (Hi Suite) DESACTIVADO en el dispositivo Android, sin embargo, esto ocasiona que cuando queramos actualizar el firmware o software del dispositivo a través de PC Suite, este nos mande un error y nos pida instalar Hi Suite Android en nuestra terminal, lo cual hará de la misma manera en que instala Hi App
Aquí es lo interesante. Cuando NO desconectamos nuestro dispositivo, e instalamos Hi App y Hi Suite (esto en teoría activa  Seguridad -> PC Suite), el dispositivo sigue estando activo en adb, pero cuando desconectamos, y volvemos a conectar a posteriori, el problema vuelve, y Windows no reconoce el dispositivo Android.
Una vez que solucionamos, no hace falta volver a repetir el proceso siempre y cuando no se active en el dispositivo la opción PC Suite. Ahora, cada vez que conectemos nuestro equipo podremos elegir en la barra de notificaciones el modo en que deseamos conectarnos a nuestra PC.



PROGRAMAS:
PC Suite (Windows - Dev: Huawei): programa de sincronización y respaldo oficial para equipos Honor y Huawei. A traves de él, se pueden actualizar los dispositivos Android a su versión oficial más reciente. Adema, ofrece un espejo de la pantalla del dispositivo, y la posibilidad de instalar apk directamente al dispositivo desde la PC.
Hi App (Android): tienda de aplicaciones desarrollada por Huawei, funciona como un tipo Samsung Apps Store, etc. Es recomendable no borrarla.
Hi Suite (Android): aplicación de fondo que permite la comunicación entre PC Suite y el dispositivo. No es indispensable, solo cuando se busca actualizar el equipo, lo cual se puede hacer vía OTA.

CONSIDERACIONES:
El conflicto sucede en ambos lados, tanto en la PC como en el dispositivo, sin embargo, la solución en este caso se encuentra del lado del dispositivo. No es necesario reinstalar PC Suite en la PC o reiniciarla.
El dispositivo con que probé fue un Android 5.0.1, con EMUI 3.1.
Reitero, el problema se soluciona del lado del dispositivo, por lo cual si el problema se da en Windows 7, 8, 8.1 o 10, la solución es la misma.

20 may 2016

Configuración de OpenCV en Visual Studio Community 2015 - Windows 10/7/8.1: Segunda parte


El siguiente post corresponde a la segunda parte de: Configuración de OpenCV en Visual Studio Community 2015 - Windows 10/7/8.1.
Una vez que tenemos configurado OpenCV en nuestra computadora, es necesario realizar unos ajustes sencillos en Microsoft Visual Studio para que funcionen correctamente en dicha IDE.

1. Abrimos Visual Studio Community (VSC) y creamos un nuevo proyecto. En la ventana emergente debemos crear un proyecto nuevo en Visual C++, Win32 Console Application.



1.1. En la ventana siguiente damos clic izquierdo en Next.


1.2. En la ventana de Application Settings debemos palomear Empty project. Y damos clic en Finish.


2. Este paso es importante. Ahora, una vez creado el proyecto, debemos buscar la carpeta Source Files en la pestaña Solution Explorer, una vez localizada debemos dar clic derecho en dicha carpeta. Una vez desplegado el menú contextual debemos seleccionar Add, después New Item...


2.1. Una vez desplegada la ventana emergente debemos crear un archivo .cpp, en este caso yo dejo dicho archivo con el nombre por defecto, pero no hay problema si se desea poner otro, lo importante es crear dicho archivo. 


3. De vuelta a la interfaz de VSC podemos ver que el archivo *.cpp está abierto. Bien, ahora volvemos a la pestaña Solution Explorer y encima del proyecto debemos dar clic derecho para desplegar nuevamente el menú emergente. En dicho menú, damos clic en Properties.


3.1. Ahora, es importante que en la venta emergente seleccionemos en el menú desplegable de Configuration: All Configurations, y en el otro menú Platform: x64. Ahora, en el árbol de opciones damos clic en C/C++ y después en General. Ahora, debemos agregar un valor en la opción de Additional Include Directories dentro de General, en este caso debemos definir la carpeta $(OPENCV_DIR)\include

NOTA: Si la en el árbol de opciones no aparece la opción C/C++ es porque VSC no detecta archivo alguno dentro de nuestro proyecto con dicha extensión (paso 2).


3.2. Ahora, dentro del mismo árbol de opciones vamos a Linker y damos clic sobre General. En la opción Additional Library Directories debemos dar como valor $(OPENCV_DIR)\x64\vc14\lib

NOTA: Recuerda que en la carpeta ...\x64\ existen dos subcarpetas ...\vc12\ y ...\vc14\. Ten en cuenta que acorde a tu variable de sistema fijada en la parte anterior de esta guía, es el valor que debes fijar en esta opción. vc: Visual C.


3.3. En el mismo árbol de opciones Linker, damos clic sobre Input, en la opción Additional Dependencies damos clic, menú despegable <Edit...>


3.4. En la ventana emergente agregamos opencv_world310.lib y opencv_world310d.lib

NOTA: Si en errores posteriores VSC indica algún error sobre estas librerías, puedes buscarlas en el explorador de archivos en la ruta de instalación de OpenCV, ...\x64\vc14\lib\ o ...\x64\vc12\lib\. En dicho directorio estarán estas dos librerías, y pueden que cambien de nombre, por lo cual es bueno saber su ubicación. En algunos casos es opencv_world300.lib y opencv_world300d.lib, todo depende de la versión de OpenCV.



4. Una vez configurado esos aspectos en nuestro proyecto de VSC, debemos ajustar la plataforma a x64.


5. Ahora, copiamos el siguiente código de prueba en nuestro archivo *.cpp

#include "opencv2/opencv.hpp"
int main() {
IplImage* img = cvLoadImage("C:/opencv/opencv_logo.png", 1);
cvShowImage("OpenDemo", img);
cvWaitKey();

return 0;
}



Como te diste cuenta, el *.cpp carga del directorio C: /opencv/opencv_logo.png En este caso puedes reemplazar dicho directorio por cualquiera que contenga una imagen. Una vez que esté listo nuestro código, lo siguiente es compilarlo, para hacerlo de manera rápida damos clic en las teclas Ctrl + Shift + B. Una vez que termine de compilar presionamos la tecla F5 para ejecutarlo en modo Debug.

Listo, Opencv implementado en Visual Studio sin problemas...

14 may 2016

Configuración de OpenCV en Visual Studio Community 2015 - Windows 10/7/8.1: Primera parte


OpenCV es una biblioteca libre de visión artificial. Al ser multiplataforma OpenCV posee varias maneras de instalación dependiendo el sistema operativo en el cual deseemos desarrollar. En este post se explicará una manera de configurar OpenCV en Windows 10/7/8.1 (x64), además de explicar algunos ajustes para poder utilizar las librerías de OpenCV en la IDE de Microsoft: Visual Studio Community 2015.

1. Debemos descargar el .exe de instalación de OpenCV desde su página oficial (NOTA: Ten en cuenta que esta guía está basada en OPENCV 3.1): http://opencv.org/downloads.html

2. Una vez descargado el .exe procedemos a ejecutarlo con privilegios de administrador. Es recomendable extraerlo en la raíz de nuestro disco duro local, es decir, en C:\



3. Una vez descomprimido abrimos Mi PC (Windows + E (en Windows 10 -->> MiPC). Una vez ahí, damos clic derecho y en menú contextual elegimos Propiedades.



3.1. Ahora elegimos Advanced system settings (Configuración avanzada del sistema).


3.2. En la ventana System Properties (Propiedades del sistema) elegimos Enviroment Variables (Variables de entorno).



3.3. En la ventana Enviroment Variables (Variables de entorno) nos ubicamos en System variables (Variables del sistema). 


3.4. Damos clic en New (Nueva) y le ponemos de nombre a la variable OPENCV_DIR con un valor C:\opencv\build\ Y damos clic en Aceptar.


4. En la misma ventana de Variables de entorno, en la misma sección Variables del sistema buscamos la variable Path y damos clic en Editar...


4.1. Al final de la línea de Variable value (Valor de la variable) agregamos un ; seguido de C:\opencv\build\x64\bin\


Una vez concluido el proceso y de dar clic en Aceptar, debemos reiniciar nuestro equipo para evitar errores.

IMPORTANTE: Como te diste cuenta en el punto 4.1, el valor de nuestra variable incluye un directorio especifico: ...\x64\vc14\bin\ En este caso yo estoy utilizando dichas librerías. Si abres el explorador de archivos en la ruta ...\build\x64\ observarás dos carpetas: ...\vc12\ y ...\vc14\ TEN en cuenta que puedes usar cualquiera de las dos rutas, al escogerla debes recordar cuál utilizaste ya que esto es fundamental para configurar Microsoft Visual Studio Community 2015.

NOTA: En Windows 10 al llegar al paso 4 la ventana emergente es totalmente diferente, para ello debemos dar clic en Editar en texto... Ambas ventanas (Windows 7/8.1 y Windows 10) son básicamente lo mismo, solo que en Windows 10 las variables se muestran en un listado, basta con hacer clic en el botón Crear nueva variable... con ello no necesitaremos agregar el ; y solo será necesario escribir la variable.

SEGUNDA PARTE.

13 may 2016

Instalación de Git en Windows


Instalar Git en Windows resulta de gran utilidad para quienes acostumbramos o trabajamos con Github.
En este pequeño post explicare como instalar Git en un equipo Windows y que este se integre en CMD. Primero debemos descargar el instalador desde la web oficial https://git-scm.com/downloads Una vez descargado el instalador según nuestro tipo de sistema, x64 o x86, procedemos a ejecutarlo en modo administrador.
Una vez comenzada la instalación debemos configurar ciertos aspectos como a continuación se muestran en las capturas.


Es recomendable dejar el directorio por defecto de instalación.


En la ventana de selección de componentes debemos elegir Windows Explorer integration, con ello podremos acceder a Git desde el menú contextual (clic derecho, ratón) de Windows.


En lo personal, elijo no crear una carpeta en Inicio.


En la siguiente ventana, elegimos Use Git from the Windows Command Prompt, con esto configuramos para que Git se integre a CMD.


Utilizaremos la consola por defecto de Windows.


Opciones variables, en este caso la segunda opción es para subir nuestros proyectos o repositorios a Github, por lo cual activa el gestor de credenciales.




Una vez finalizada la instalación, vamos a escritorio y damos clic derecho en el ratón, en el menú contextual veremos dos nuevas opciones, ambas inician con Git, damos clic en izquierdo en Git Bash Here.


Una vez abierta la consola, tendremos algo parecido a esto:


Para comprobar de manera sencilla y rápida que Git funciona correctamente, en consola escribimos:

git --version


Si optemos un mensaje como el anterior es señal de que Git fue instalado de manera correcta en nuestro equipo.

NOTA.
Cuando en el menú contextual elegimos Git GUI Here el sistema nos abrirá una interfaz como la siguiente:



Esta interfaz es básicamente una versión de Git Bash pero con una interfaz de usuario, no hay mucho que agregar.