Como ver Netflix en zonas difíciles

Veremos como poder ver contenidos sin cortes con nuestra Raspberry Py gracias al excelente conectividad de esta frente a los dongle ( bien por cable o por wifi+)


Hoy en día es muy habitual que los TV integren funciones inteligentes gracias a la conectividad  inalámbrica , lo cual permite  entre otras cosas disfrutar de servicios de streaming de vídeo  como por ejemplo Netflix.  En caso de no disponer de Tv inteligentes , también han surgido dongles  económicos  que permiten  ofrecer funciones  inteligentes  a los  TV   convencionales que no lo eran a través del puerto hdmi y  alimentación  usb de 5v que puede tomarse incluso del propio TV ,    como por ejemplo el popular  Amazon Fire TV  Stick 

En efecto con un Amazon Fire TV  Stick   se puede controlar una  TV, barra de sonido y receptor compatibles con los botones específicos para encender el dispositivo, silenciarlo y ajustar el volumen  así como reproducir y controlar contenido gracias al micrófono incorporado en  el mando que permite comandos por voz con  Alexa.

Con este dongle podemos disfrutar de contenidos favoritos de Prime Video, Netflix, YouTube, DAZN, Atresplayer, RTVE A la carta, Movistar+ ,etc o incluso navegar por internet  o ver nuestras redes sociales favoritos

Ademas el Fire TV Stick integra el asistente  Alexa ofreciendo así  el mayor número de funciones de voz en reproductores en streaming:  se  puede ver el vídeo en directo de cámaras compatibles, consultar la información del tiempo, atenuar las luces y reproducir música en streaming.

Desgraciadamente  no siempre tenemos buena conectividad  wifi  por lo que puede ocurrirnos que si usamos conectividad wifi   asociada  al propio dongle  ( tenga en cuenta que en esas medidas la antena no puede tener mucha ganancia ), puede que se nos corte  totalmente   o de forma intermitente  la visualizacion de contenidos  o incluso  se vean mal o pixelados en determinados momentos algunos  contenidos por una conectividad deficiente

Hay una solución un tanto engorrosa en caso de disponer de un el Fire TV Stick  que  consiste  mediante un cable OTG usar un adaptador usb a ethernet  de Amazon , pero hasta la fecha  Amazon no ha especificado cual es el modelo que necesitaría, así   que intentando dar una solución al problema de los cortes  de nuestra red inalámbrica wifi convencional  vamos a dar un enfoque distinto donde usando   en lugar de un dongle nuestra Raspberry Pi   una conexión por cable   o mediante un adaptador wifi+ ( por ejemplo un videobridge que usa la banda 4G que es mas estable y menos saturados)  siendo incluso interesante usar  versiones antiguas que quizás ya no usemos dándoles así un uso interesante ( en este post de hecho usaremos unas Raspberry version 2)

 

Instalación de Raspbian  en la Raspberry Pi desde un ordenador con Windows

Los Sistemas Operativos para la Raspberry Pi están empaquetados en imágenes de disco (archivos IMG casi siempre). Lo que llamamos instalación del sistema operativo, en realidad, no es más que trasladar por completo esa imagen de disco al interior de una tarjeta microSD,para lo cual hay varias formas, como  por  instalando NOOBS, que es un mini sistema operativo que hace de cargador de otros. El proceso es tal vez más intuitivo, pero sinceramente, solemos usar un único sistema operativo por lo que no vemos mucha utilidad a tener un cargador para varios, asi  que creo sinceramente la  forma mas eficiente es usando un software clonador de la imagen a la SD , sofware que por cierto existe tanto para  Mac como  para Windows  .

Como  vamos a instalar el sistema operativo Raspbian a modo de ejemplo,( aqunue  podria  instalar otro si lo desea),la última versión de Raspbian está disponible en https://www.raspberrypi.org/downloads/raspbian/ 

 

 

Una vez tenga descargado  y descomprimida la imagen, puede  seguir los  siguientes pasos:

  • Inserte la MicroSD en tu ordenador utilizando para ello un Adaptador a SD si fuera necesario.
  • Descargue el programa   sd car formatter desde su site oficial  https://www.sdcard.org/downloads/formatter/  (vaya a downloads y elija el so del ordenador donde vaya a instalar el sw)
  • Instale el programa   siguiendo las  instrucciones del  programa de instalación
  • Ejecute  el programa
  • Ahora  en select card  tenga mucho cuidado  de no confundir   la  unidad  donde  hayamos insertado la tarjeta   SD y pulseFormat.
  •  Cuando haya concluido salga del programa   y   descargue el programa Win32DiskImager
  • Una vez descargado  ábralo pinchndo en el icono del programa
  • En la ventana emergente busque  y seleccione la imagen de Raspbian que descargo desde la pagina oficial.
  • En “Device” selecciona la letra que su sistema haya asignado a su MicroSD. Puedes comprobarlo en “Equipo”( NO CONFUNDIRLA CON OTRA UNIDAD;ASI QUE ASEGÚRESE MUY BIEN DE QUE ES LA UNIDAD CORRECTA).
  •  En la parte inferior, pinchamos en “Write”.
  •  Aceptamos el proceso y damos permisos de usuario si se nos requieren.
  • Cuando haya terminado, nos saldrá  un mensaje emergente indicándonos que el proceso ha terminado
  • Ya  podemos extraer (con seguridad) la tarjeta  pues  ya tenemos preparada nuestra microSD para conectarla  a nuestra Raspberry Pi 2 y empezar a configurarla.

 

 

Instalación de Netflix

Hacer que Netflix se ejecute en su Raspberry Pi requiere algunos pasos diferentes, ya que el software necesitará obtener una versión de la biblioteca DRM para que pueda transmitir videos.

Puede utilizar los sistemas operativos que empaquetan Kodi, como OSMC, ya que estos mismos pasos deberían funcionar siempre que tenga acceso a la terminal(de hecho si en lugar  de instalar Rasbpian estuviese usando una distribución como OSMC como Kodi ya estará instalado puede  saltarse los siguintes pasos) ,  pero nosotros por simplicidad  haremos uso del sistema operativo Raspbian   tal y como hemos visto en el primer aparatdo.

Antes de que Netflix funcione en la Raspberry Pi, tendremos que hacer algunas cosas, entre otras cosas actualizar todos los paquetes ya instalados en su Pi.(  de hecho hacer esto ultimo asegura que cualquier paquete desactualizado no termine rompiendo esta miniguia).

Para actualizar todos sus paquetes, continúe y ejecute los siguientes dos comandos:

sudo apt update 

sudo apt upgrade

 

Una vez que el proceso de actualización se haya completado, ahora podemos continuar e instalar Kodi en la Raspberry Pi.

La razón por la que estamos usando Kodi es que actualmente es la forma más confiable de acceder a Netflix en la Raspberry Pi.

Los métodos del navegador web para acceder a Netflix parecen romperse a menudo y pueden ser difíciles de configurar y mantener pero Kodi también está bastante bien optimizado para Raspberry Pi.

Para instalar Kodi y todos los paquetes que necesitamos, ejecute el siguiente comando

 sudo apt install kodi kodi-peripheral-joystick kodi-pvr-iptvsimple kodi-inputstream-adaptive kodi-inputstream-rtmp

 

Verá que estamos instalando varios otros paquetes junto con Kodi. Estos paquetes adicionales son necesarios para que el complemento Kodi Netflix funcione correctamente en nuestra Raspberry Pi. 2.

Una vez procesado el comando  necesitamos instalar algunos paquetes adicionales para acompañar nuestra instalación de Kodi. Estos paquetes contienen el “pip” del administrador de paquetes de Python, así como algunos extras que necesitamos para ejecutar el complemento Kodi Netflix.

Ejecute el siguiente comando para instalar los últimos paquetes que requerimos:

 sudo apt install build-essential python-pip python-dev libffi-dev libssl-dev libnss3

A continuación, instalaremos los paquetes de Python que requiere el complemento de Netflix para Kodi. Podemos instalar estos paquetes de Python en nuestro Pi haciendo uso del administrador de paquetes pip ,para lo cual use el siguiente comando para instalar todos los paquetes Python necesarios:

 sudo pip install setuptools wheel pycryptodomex

Con todos los paquetes requeridos ahora instalados, hay una última cosa que debemos hacer:necesitamos descargar el repositorio CastagnaIT , el cual  nos permitirá instalar el complemento de Netflix para Kodi y actualizarlo automáticamente.

Podemos descargar la última versión del repositorio directamente desde el GitHub del proyecto ejecutando el siguiente comando:

 wget https://github.com/castagnait/repository.castagnait/raw/master/repository.castagnait-1.0.0.zip

Una vez que el complemento del repositorio ha terminado de descargarse, puede continuar con Netflix trabajando en su Raspberry Pi.

Agregar el repositorio para Netflix en Kodi

Ahora desde  Kodi  veremos cómo utilizar todos los paquetes que acabamos de instalar para ejecutar Netflix en su Raspberry Pi.

  •  El primer paso es iniciar Kodi en su Raspberry Pi. Puede hacerlo haciendo clic en el icono del menú de inicio en la esquina superior izquierda, pasando el cursor sobre “ Sonido y video ” y luego haciendo clic en ” Kodi “.

 

  •  Para comenzar, necesitaremos cambiar la configuración de Kodi para permitir la instalación de fuentes desconocidas. Si no cambiamos esta opción, no podremos instalar el complemento de Netflix. Para hacer esto, necesitamos abrir la página de configuración dentro de Kodi. Si está utilizando el tema predeterminado, el botón para acceder a esta página es el símbolo de la tuerca  en la parte superior de la barra lateral.  Dentro de este menú, debe hacer clic en ” Sistema ” (System)en la esquina inferior derecha de la pantalla. Ir a la configuración del sistema Kodi. Ahora que estamos en la página de configuración del sistema, debemos ir y hacer clic en ” Complementos ” (Adds-ons) en la barra lateral.  Luego, haga clic en la opción ” Fuentes desconocidas “(unknown sources) recibiendo algunos mensajes de advertencia. Es importante destacar  que es seguro ignorar estas advertencias siempre que solo instale complementos de fuentes confiables por lo que cambiar esta opción nos permitirá instalar el repositorio que descargamos en nuestra Raspberry Pi en la sección anterior.  Una vez que haya habilitado ” Fuentes desconocidas “, presione la tecla ESC para volver a la página de configuración principal.

 

  •  Ahora que volvimos a la página de configuración principal, continúe y haga clic en el botón de menú “ Complementos “(adds-ons). Este botón nos llevará a la página de configuración de complementos y nos permitirá instalar el repositorio CastagnaIT desde el cual podemos descargar el complemento de Netflix para nuestra Raspberry Pi. Una vez en la página de configuración ” Complementos “, haga clic en la opción ” Instalar desde archivo zip “(install from zip file)  para continuar.   Con el cuadro de diálogo ” Instalar desde archivo zip ” ahora abierto, haga clic en ” Carpeta de inicio “(home folder) , ya que es donde descargamos el repositorio. Seleccionar carpeta de inicio. Desplácese hasta la parte inferior del siguiente cuadro de diálogo, luego haga doble clic en el archivo llamado “repository.castagnait-1.0.0.zip ” para instalar el repositorio.

 

  • Ahora que hemos configurado el repositorio, podemos proceder a instalar el complemento de Netflix en nuestra Raspberry Pi y también configurar cualquier otra cosa que necesitemos. Con el repositorio requerido ahora instalado en nuestra Raspberry Pi, podemos seguir adelante e instalar el complemento de Netflix a través de la interfaz de Kodi. Haga clic en la opción ” Instalar desde el repositorio “(install from repository)  en la página ” Complementos ” para continuar.
  •  En este menú, busque la opción ” Repositorio CastagnaIT ” y selecciónela para abrir el repositorio. Cargar repositorio CastagnaIT 3. Ahora que estamos dentro del repositorio CastagnaIT, ahora podemos ubicar e instalar el complemento de Netflix. Para encontrar el complemento de Netflix, debemos abrir la categoría ” Complementos de video “(Video add-ons).

 

  • Abra la única entrada en esta página, el complemento ” Netflix “. Podremos comenzar el proceso de instalación en la siguiente pantalla. Seleccione el complemento de Netflix para instalar . En esta pantalla, haga clic en el botón ” Instalar “ en la esquina inferior derecha. Instalar el complemento de Netflix 6. Antes de que comience la instalación, se le preguntará si está de acuerdo con la instalación de algunos complementos adicionales. Como el complemento de Netflix se basa en todo esto para funcionar, la única opción real es seleccionar ” Ok “.

 

  • El proceso  de instalar componentes adicionales puede llevar un poco de tiempo, ya que necesitará instalar estos complementos adicionales en los que se basa el complemento de Netflix por lo que deberá aceptar esta instalación. Con el complemento de Netflix  instalado en la Raspberry Pi, hay un par de cosas más que tendremos que hacer antes de estar listos para abrirlo:
    •  Para empezar, debemos seguir adelante y habilitar el complemento ” Adaptive Inputstream “. Podemos habilitar este complemento yendo primero a la página ” Mis complementos “. ,entrando en la categoría ” VideoPlayer Inputstream “. En esta pantalla, continúe y abra el complemento ” InputStream Adaptive “. Este complemento es en lo que se basa el complemento de Netflix para transmitir datos de video desde los servidores de Netflix a su Raspberry Pi. Seleccione InputStream Adaptive 10. En esta pantalla, haga clic en el botón “ Activar ” para activar el complemento Adaptive InputStream.Con el complemento InputStream Adaptive ahora habilitado, finalmente podemos seguir adelante y ejecutar el complemento de Netflix.
    • Regrese al menú principal para la siguiente sección. Ejecutando Netflix en la Raspberry Pi 1. De vuelta en el menú principal, haga clic en ” Complementos ” en la barra lateral. Una vez que la página ” Complementos ” esté abierta, continúe y haga clic en ” Netflix ” para abrir el complemento de Netflix. La primera vez que abra el complemento de Netflix, se le pedirá que ingrese sus datos de inicio de sesión. El complemento necesita estos detalles para iniciar sesión en Netflix. Ingrese sus datos para continuar usando Netflix en su Raspberry Pi.  Ahora dentro del complemento de Netflix, continúa y elige un programa que quieras ver. La primera vez que vea un programa, deberá ejecutar el proceso de instalación de los módulos DRM que el complemento requiere para funcionar. Sin estos módulos DRM, el complemento no podrá transmitir el contenido de video desde Netflix. Estos módulos son la misma razón por la que los navegadores web de Raspberry Pi luchan por lidiar con Netflix.
    •  Cuando se le notifique que se requiere Widevine CDM , haga clic en el botón ” Instalar Widevine ” para comenzar el proceso de instalación. Instalar Widevine CDM . Luego verá otra notificación que indica que debe tener al menos 3.1GB de espacio libre en disco. La razón de esto es que el instalador debe obtener Widevine CDM de una imagen de ChromeOS. Hay algunas razones legales por las que no podemos descargar el Widevine CDM directamente. Haga clic en el botón ” ” para continuar con el proceso de instalación.  Antes de que su Raspberry Pi pueda comenzar el proceso de obtener los archivos necesarios para usar Netflix, primero deberá aceptar un EULA de Google. Haga clic en ” Acepto ” para aceptar el EULA y continuar con el proceso de descarga.  . Ahora verá un mensaje que indica que el complemento deberá usar herramientas con permisos de root para poder extraer el archivo requerido de la imagen de ChromeOS. Para continuar con este proceso, haga clic en el botón ” Acepto “y espere a que finalice el proceso de descarga y extracción. Este proceso puede llevar algo de tiempo por lo que si alguna vez parece que la barra de progreso está atascada, dele más tiempo al programa para que se ejecute, ya que tiene que extraer un solo archivo de una imagen grande.  Una vez que se haya completado el proceso de Widevine, ahora ya si por fin podrá ver los videos que desee directamente desde Netflix a su Raspberry Pi.

 

En adds-ons->Netflix   ya  puede  disfrutar sus programas de televisión exclusivos de Netflix como por ejemplo  “Los informáticos”y todo desde nuestra vieja  Raspberry Pi  2  ya que  Netflix se ejecuta con éxito en Kodi

El interfaz sobre Kodi es ligeramente diferente al que estamos acostumbrados  pues su  funcionalidad se basa en el uso de teclado o de un ratón  ( o mejor un mando inalámbrico que englobe ambos ) , pero con un poco de practica tampoco no nos  costara demasiado hacernos con el control y disfrutar de nuestros contenidos favoritos

Esperemos que en este punto ahora pueda ver Netflix con éxito en su Raspberry Pi, sea el modelo que sea.

Simple cámara de seguridad

En este post vamos una potente ver placa para reconocimiento de imágenes que es plug and play. La placa permite la transmisión de imágenes a través de Wi-Fi, depuración a través de un puerto Micro USB, reconocimiento facial y de voz. Compatible con el sitio web de Espressif con ESP-IDF (IoT). ESP-WHO (AI) Marco de desarrollo, herramientas y tutoriales. El post culmina con un resumen de cómo configurar una placa raspberry pi con una pantalla táctil conectada  a esta para ver las imágenes servidas por dicha placa


En efecto gracias al nivel de integración alcanzado , cada vez hay soluciones más “sencillas” a problemas de computación en tiempo real que tradicionalmente han sido  muy complejos  como por ejemplo puede ser el reconocimiento y detección de imágenes en tiempo real .

Como muestra  de este tipo de soluciones  vamos a ver la placa ESP-EYE , una  pequeña placa de desarrollo del fabricante chino Espressif centrada en el  reconocimiento de imágenes  con  procesamiento de audio en aplicaciones AIoT

Realmente esta solución  se basa en dos componentes claramente  diferenciados:

  • El hardware  :  esta solución es soportable por muy diferentes propuesta  pero el  hw  más sencillo  y del que vamos  a ver en este post   el ESP-EYE , una placa de desarrollo  de  menos de 30€  para el reconocimiento de imágenes y el procesamiento de audio, que se puede utilizar en varias aplicaciones AIoT. Cuenta con un chip ESP32, una cámara de 2 megapíxeles y un micrófono. ESP-EYE ofrece mucho almacenamiento, con una PSRAM de 8 Mbyte y un flash de 4 Mbyte. También es compatible con la transmisión de imágenes a través de Wi-Fi y depuración a través de un puerto Micro-USB. Aunque el ESP-EYE es una opción en kit  muy asequible, el fabricante también ofrece una opción más potente :Esp-Wrover-Kit

 

  • El software :  ESP-WHO, que  es un marco de desarrollo de detección y reconocimiento de rostros diseñado para aplicaciones AIoT. Puede usarse con la placa de desarrollo ESP-EYE, el ESP-WROVER-KIT calificado por Amazon FreeRTOS u otras placas de desarrollo basadas en ESP32. Luego, al agregar solo unos pocos periféricos, como cámaras y pantallas, puede crear fácilmente aplicaciones AIoT completas.  Para ejecutar ESP-WHO, debe tener una placa de desarrollo que integre un módulo ESP32 que tenga suficientes pines GPIO y más de 4 MB de RAM externa SP  como la placa  anteriormente comentada (ESP-EYE ), aunque  no obstante  ESP-WROVER-KIT  también pueden ser otra opción como placa de pruebas.

 

Espressif ESP-EYE

Como hemos comentados hablado  estamos ante una Placa de desarrollo de Espressif para reconocimiento de imágenes y procesamiento de audio en aplicaciones AIoT.

Espressif , el fabricante  ofrece una solución AIoT completa que combina ESP32 con un marco de desarrollo de inteligencia artificial (AI).  Esta solución incluye la placa de desarrollo ESP-EYE, junto con los marcos de desarrollo IoT y AI de Espressif, también conocidos como ESP-IDF y ESP-WHO, respectivamente.

 

 

ESP-EYE es una placa de desarrollo para el reconocimiento de imágenes y el procesamiento de audio, que se puede utilizar en varias aplicaciones AIoT. Cuenta con un chip ESP32, una cámara de 2 megapíxeles y un micrófono, todo ello integrado en una minúscula placa de 8 x4 cm (mas o menos como un pen-drive USB).

ESP-EYE ofrece mucho almacenamiento, con una PSRAM de 8 Mbyte y un flash de 4 Mbyte. También es compatible con la transmisión de imágenes a través de Wi-Fi y depuración a través de un puerto Micro-USB.

 

 

Aunque el sl fabricante ha dejado disponible en Github su sw , también  puede apoyarse en otras soluciones del mismo fabricante como el ESP-WROVER-KIT-VB que f ofrece una solución integrada  AIoT completa que combina un ESP32 con un marco de desarrollo de inteligencia artificial   y además incluye la placa de desarrollo ESP-EYE, junto con los marcos de desarrollo IoT y AI de Espressif, también conocidos como ESP-IDF y ESP-WHO, respectivamente.

 

ESP-WROVER-KIT-VB

Es una placa de desarrollo de ultra bajo consumo altamente integrada que incluye Flash y PSRAM  agregando una interfaz USB, una pantalla LCD de 3.2 “, una interfaz de cámara OV7670 y una ranura para tarjeta micro SD.Alcanza un gran rendimiento con una RAM de 4.5 MB y una CPU de doble núcleo de 240 MHz permitiendo creer cámaras de Internet, pantallas inteligentes o radios de Internet conectando pantallas LCD, micrófonos y códecs ) , todo ello a un precio relativamente competitivo (  unos 62€)

Esta  placa Esp-Wrover-Kit  también del mismo  fabricante   Expressif es otra opción  que puede soportar el software  ESP-WHO , En este caso es una una placa de desarrollo calificada por AWS( Amazon Web Services ) . Además del ESP-IDF SDK de Espressif, puede usar Amazon FreeRTOS en ESP-WROVER-KIT-VB. Amazon FreeRTOS proporciona conectividad lista para usar con AWS IoT, AWS Greengrass y otros servicios de AWS.

Aunque  ESP32 admite la depuración JTAG, este modulo  ESP-WROVER-KIT-VB integra un depurador USB también, lo cual  hace que la depuración y el rastreo de aplicaciones complejas sea muy fácil, sin la necesidad de ningún hardware adicional.

ESP-WROVER-KIT-VB es pues la versión mejorada del ESP-WROVER-KIT ( de hecho cuesta casi el doble que la  version anterior) . Su PSRAM  en l aversion 2 aumenta a 8 MBytes, mientras que esta placa de desarrollo también cuenta con una interfaz de tarjeta Micro-SD de alta velocidad, una interfaz de cámara VGA, un panel LCD SPI de 3.2 ”y capacidades de expansión de E / S. Asimismo cuenta con  un procesador de doble núcleo, radios Bluetooth y WiFi, y 520 KB de SRAM.

Ultimamente estan distribuyendo la versión 3 que contiene 32 Mbit adicionales de PSRAM  siendo  el ESP32 s compatible con SPI, I2C, serie, etc.

Espressif admite dos cadenas de herramientas:

  • El entorno de lenguaje C nativo que se ejecuta bajo el sistema operativo en tiempo real FreeRTOS
  • El entorno Arduino C / C ++. Los programas desarrollados usando el entorno Arduino en realidad se ejecutan como una tarea en FreeRTOS y pueden usar las bibliotecas FreeRTOS.

Puede ser  preocupante el soporte para el controlador LCD  ya  que las versiones 2 y 3 de la placa utilizan un controlador ST7789V pero la placa de la versión 1 utiliza un controlador ILI9341.  La última versión de la demostración TFT simple en ESP32 SDK llamada spi_master se puede configurar para ejecutarse en cualquiera de los ESP32-WROVER-KIT. No obstante “Loboris” en github tiene una biblioteca TFT  con todas las funciones con opción de configuración para construir la biblioteca y el programa de demostración para la versión 3 WROVER-KIT. Incluso con SPI, la actualización de la pantalla es muy rápida.

No se incluye documentación con la placa, pero hay mucha documentación en la web, y el SDK nativo viene con una serie de ejemplos útiles. La desventaja es que el ESP32 es relativamente nuevo, parte del software está cambiando y faltan algunas bibliotecas de Arduino.

Sin dua el ESP32-WROVER-KIT es una gran pieza de hardware, aunque su uso requiere cierta experiencia con microcontroladores y cierta tenacidad para examinar la documentación en línea y el código de ejemplo , pero quizás valga la pena el esfuerzo por toda la potencia que le brinda esta placa.

EL software

El sw   necesario se  compone del  marco de desarrollo IoT  ( también llamado ESP-IDF  ) y la AI de Espressif ( también conocidos como ESP-WHO ).

Para ejecutar ESP-WHO, debe tener una placa de desarrollo que integre un módulo ESP32 generico que tenga suficientes pines GPIO y más de 4 MB de RAM externa SPI  y una cámara CCD . Lo mas sencillo es usar el  ESP-WROVER-KIT o el recomndado  por el fabricante:  el   ESP-EYE que hemos visto integra el ESP32 y la cámara integrado en una solución de bajo coste

 

 

ESP-WHO es pues  la utilidad de detección, reconocimiento e imagen son el núcleo de la plataforma   constando en realidad de los siguientes módulos:

  • Image Utility ofrece API de procesamiento de imágenes fundamentales.
  • La detección toma imágenes como entrada y proporciona la posición de la cara si hay una cara. Se implementa con el modelo MTMN, que se refiere a MTCNN y MobileNets .
  • El reconocimiento es identificar a la persona en particular y necesita los resultados de la detección. Se implementa con el modelo MobileFace.
  • La optimización consiste principalmente en aumentar la precisión de la inferencia y acelerar todo el proceso. Pero también podría cambiar la estructura de la red, actualizar los coeficientes, refactorizar el código, etc.

Tanto la entrada como la salida son flexibles porque las fuentes de imagen pueden ingresarse a través de la cámara ( aunque sin embargo, no proporcionan  muchos controladores en este momento, ya que los de otros módulos de cámara se lanzarán en el futuro)  y porque los resultados se pueden mostrar  a través de la línea de comando, un LCD o incluso el sitio web a través del servicio de Wi-Fi http.

 

Para saber cómo configurar el módulo ESP32 para sus aplicaciones, puede consultar el archivo README.md de cada ejemplo del respositorio de github ( https://github.com/espressif/esp-who )

Preparación de software

La resolución recomendada de la imagen de entrada es QVGA (320×240) . En cuanto a elegir la cámara si no usa el citado modulo recomendado  ESP-EYE      el módulo ESP32 usado   deberá tener libre los  pines específicos según la  cámara que use Por ahora el  sw  proporcionado soporta el controlador de OV2640 y OV3660 , que son muy recomendables para comenzar.

Veamos como instalar los dos módulos sw necesarios:

 ESP-WHO

Asegúrese de clonar el proyecto de forma recursiva usando el siguiente comando:

git clone --recursive https://github.com/espressif/esp-who.git

Si clona un proyecto sin --recursive ( es decir usando el indicador --recursive), vaya al directorio esp-who y ejecute el comando git submodule update --init antes de hacer nada.

 ESP-IDF

Consulte las guías de configuración para obtener instrucciones detalladas para configurar el ESP-IDF:Guía de inicio para la versión estable de ESP-IDF

En este caso, tomamos ESP-IDF v3.2 como la versión de prueba.Si ya ha configurado ESP-IDF antes y no desea cambiar el existente, puede señalar IDF_PATH al ESP-IDF que se encuentra en ESP-WHO.

 Otros componentes sw

Otros componentes  sw necesarios lo constituye  el marco principal del SDK, con algunos controladores y algunos  algoritmos dentro.

  • Cámara :  El componente de cámara contiene controladores para dispositivos de cámara de ESP32.
  • Face de esp: El componente esp-face contiene las API de las redes neuronales ESP-WHO, incluido el marco de detección y reconocimiento de rostros.

Ejemplos

La carpeta de /examples/  del respositorio de github ( https://github.com/espressif/esp-who )   contiene ejemplos de aplicaciones que demuestran las características API de ESP-WHO.

Una buena muestra es la  detección de rostros , para lo cual habría que seguir los siguientes pasos:

  1. esp-who/examples/single_chip/detection_with_command_line a una carpeta de ejemplo esp-who/examples/single_chip/detection_with_command_line .
  2.  cd esp-who/examples/single_chip/detection_with_command_line
  1. Compila y actualiza el proyecto.   idf.py build idf.py flash -p [PORT]
  1. Los usuarios avanzados pueden modificar algunas opciones mediante el comando idf.py menuconfig .

Verifique README.md de cada ejemplo  del respositorio de github ( https://github.com/espressif/esp-who )      para más detalles.

Demo

En el siguiente , podemos ver  cómo hacer su propio proyecto de seguridad para el hogar en solo 5 minutos utilizando la placa   ESP-EYE y una Raspberry Pi para visualizar el resultado aunque   puede usarse un pc portatil ,tableta , etc en su lugar  . Este proyecto  además es  plug and play pues  apenas  requiere ningún conocimiento de codificación o hardware.
Para  hacer su propio  dispositivo de transmisión inalámbrica por tanto sólo usaremos  una a pantalla LCD táctil conectada a la Raspberry pi . Como normalmente el fabricante del LCD suele incluir las instrucciones necesarias para  conectar esta a la Raspberry Pi y que sea funcional en la demo  no se requiere ninguna codificación y tampoco  ningún circuito   ya que nos bastará  conectar estos dispositivos y empezar a transmitir
En realidad  no es dificil  conectar un apantalla tactil a una raspberry pi   , pues de  hecho en este  blog vimos en este post http://soloelectronicos.com/2018/12/02/como-instalar-una-pantalla-tactil-de-5-en-una-raspberry-pi-3/  como hacerlo con un simple escudo   de kuman  y  cargando en nuestra Raspberry Pi la imagen de Raspbian con los drivers ya instalados

En primer lugar necesitaremos encender este ESP  alimentando con 5v DC por medio del puerto microUSB . En el inicio del LED rojo se enciende  en el ESP ,pero   el LED rojo comenzará a parpadear que revela que este dispositivo  se despierta  y ha creado  su punto de acceso propio al  que se  puede  conectar todos los dispositivos .

En este ejemplo  como se usa  Raspberry Pi para ver  los datos  que vienen del CSPI ,encenderemos la placa Raspberry Pi . Para la primera vez que se conecte es recomendable  tener teclado y ratón conectados a la Raspberry Pi , pero esto  sólo será para  la primera vez  pues después  el ajuste se guardará en esta Raspberry Pi y no necesitará  teclado y ratón ,ya que se puede utilizar  la pantalla táctil

Cómo  está abierto  el punto de acceso ,sólo necesitamos para conectar a través de este punto ,  abrir el navegador web y conectarnos a esta dirección IP( doble barra oblicua ,dos puntos y la ip del módulo y   podremos ver  la imagen que esta transmitiendo la cámara .

Para la  segunda vez no hay necesidad de utilizar este tipo de teclado porque una Raspberry Pi automáticamente se conectara con este punto de acceso particular y en el navegador puede usar esta dirección IP ,la cual  se guardará en el historial para que pueda tocar    la  dirección IP en el historial  y acceder directamente

 

 

En este video, pues  hemos visto cómo hacer su propio proyecto de seguridad para el hogar en solo 5 minutos utilizando el tablero ESP-EYE y Raspberry Pi, proyecto por cierto que como hemos visto es plug and play , y no requiere ningún conocimiento de codificación o hardware.

!Este módulo sin duda es una versátil aliado para múltiples retos  que se nos presente!

 

Como usar su smartphone o tableta como monitor de video

veremos como podemos visionar en un terminal android una señal de video externa


En efecto gracias  a la tecnologia OTG  (On then Go),  disponible en muchos smartphones   y tabletas Android,  es  posible utilizar con estos dispositivos hardware  adicional  como memorias USB, discos duros externos,capturadoras de  video, tarjetas de red ,etc   en principio  diseñados para  ordenadores,  pero que  gracias a  esta conexión podemos  ampliar el horizonte desde el mundo del pc a nuestros dispositivos Android.

Antes de empezar  , debe comprobar las especificaciones de la tableta o smartphone si es compatible con  la tecnología OTG en su conector microUSB, pues no todos  los dispositivos  los soportan ( lo cual , por cierto, si no lo sabe con exactitud,  hay varias aplicaciones en Google Play que lo pueden comprobar como otg-checker).En caso que sus dispositivos lo soperten, con  esta tecnología  podremos utilizar nuestro conector microUSB para algo más que para cargar el  dispositivo como vamos a ver a continuación.

En este ejemplo  sencillo  vamos a utilizar un  dispositivo usb externo del tamaño  algo mas grande que un lápiz sub , concreta mente el popular   AV Easycap adaptador USB para usar en nuestro teléfono Android o tablet como una pantalla secundaria de la FPV o DVR.

Probablemente esta solución quizas no sea tan buena para usar de forma permanente  como  pantalla principal pues  introduce cierta latencia en el sistema, pero si puede ser interesante  para trabajos puntuales  como por ejemplo para usar cn cámaras de  inspección , endoscopios,reproductores de dvd, etc .

Estos son los elementos  hardware y si software  que necesitaremos:

  • Adaptador USB Easycap. Se debe asegúre de que tiene el chipset UTV007 oes una Easycap USB (HTV600, HTV800), STK1160, UVC o de lo contrario no funcionará con Android .Su precio en Amazon ronda los 15€   .                                                         
  • Adaptador  USB a OTG    .En esta ocasión usaremos un modelo económico  con conector acodado tipo Micro USB B macho a USB A hembra  . Su precio suele ser elevado  pero  siempre hay algun  vendedor qeu nos ofrece modelos mas competivos( el mostrado es un producto plus que cuesta 2€)                               NANOCABLE 10.01.3600 - Cable USB 2.0 OTG acodado (On-The-GO), tipo Micro B/M-A/H, macho-hembra, negro, 15cm
  • Visor de EasyCap (disponible en Google Play)., existen  apps similares gratuitas
  • App de grabación de pantalla de su elección. Puede usar  AZ Screen Recorder o incluso al version grabadora de EayCap.
  • Un  dispositivo  con salida de video compuesto PAL para comprobar que funciona correctamente  (por ejemplo una cámara, un reproductor de DVD, un receptor de TDT, etc);

Configuración del hardware

Las conexiones como se pueden ver en la imagen  debajo son muy sencillas ,pues bastara conectar el adaptador de otg al smartphone o tableta , el otro extremo con conector usb hembra  al Easycap  y en la entrada de video del easycap  la señal de video externa que queremos visionar.

easycap.PNG

El Easycap dispone de conexione antiguas clásicas   como son una entrada de video compuesto ( el amarillo)   ,tomas de entrada  de audio (rca blanco  rojo) y  una entrada sde s-video (llamada también  “supervideo” ), la cual la mayoría  de  las veces   podemos prescindir al igual que las conexiones de audio(  si es que  no estamos interesados en capturar también el audio)

Hay personas que buscando un dispositivo compacto  pero mas funcional  optan por cortar todos los cables excepto el rca  con  conector amarillo corto (de la Easycap y FR632 el cable). Como la mayoría de  los dispositivos modernos usan jack de 2 1/2″   también incluso  cortan el  tapón amarillo  así como la la funda exterior del cable y sueldan un jack en su lugar.

Para el FR632, el cobre pelado es tierra y el cable amarillo es video. Para el Easycap, el cable blanco es tierra y rojo es video    pero también se puede soldar directamente en la propia placa EasyCap pues esta se puede desmontarse fácilmente. También se puede elegir utilizar un adaptador RCA macho a macho pero quizás quede mas compacto  soldando el conector , eso si la conexión   que necesita es la de jack de 2 1/2″ y no la de RCA.  El resultado final será algo como esto:

Final cable. Long connecting wires not shown

Uso y configuración de software

Para la app  se requiere:

  • Android 4.x hasta 7.x
  • Resolución de vídeo depende del formato de video y dispositivo de Easycap: NTSC: 720 * 480 @ 30fps; PAL: 720 * 576 @ 25fps y UVC y la cámara: desde QQVGA (160×120) hasta 5 megapíxeles (2592×1944)
  • Tiempo de demora – 0,1sec – transmisión en vivo casi
  • Se recomienda el uso de dispositivos Android con procesadores: Qualcomm Snapdragon, Intel, Exynos, sin Nvidia GPU Mali-4xx serie
  • lista de dispositivos probados: http://autodroid.mybb.us/viewtopic.php?id=32 

Con la adaptación  puede conectar la Easycap en el dispositivo mediante el cable OTG  ,pero puede que necesite cambiar algunas opciones para poder usar dispositivos OTG.

Enchufe el otro extremo del cable de vídeo en su dispositivo ( cámara, reproductor de DVD, receptor de TDT, etc).  Ahora, inicie  la aplicación de visor de Easycap .  Debería poder  ver  una imagen clara  y nítida  .

Puede utilizar la aplicación grabadora de pantalla para registrar su señal de video desde el visor de Easycap. Sólo iniciar la captura de pantalla, abrir el visor de Easycap, y detener la grabación cuando haya terminado.

En este vídeo  podemos  ver el proceso completo de la sencilla adaptación del  Easycap   a un jack de 2 1/2″:

 

Por favor asegúrese de que el dispositivo admite el modo de host USB (OTG) , antes de comprar la aplicación EasyCap  . Recordemos que debe preparar una  señal analógica activa  qeu conectara  a la  entrada de video del Easycap   y conectar el  cable OTG C  asi como  conectar el dispositivo EasyCap  para la prueba

 

Cámara trasera con Raspberry PI para coche basada en Android

Veremos como construir una camera trasera para nuestro coche y verla desde una app en Android


En efecto  simplemente podemos  usar una frambuesa Pi como retrovisor o cámara trasera  en conjunción con su smartphone o tablet gracias a la aplicación  RearPi.

Esta app disponible en Google Play  gratuita  y sin anuncios se conecta a su Raspberry  Pi a través de SSH y activa bien  una cámara usb  externa  o bien    la  cámara nativa para Raspberry Pi con interfaz CSI  un enlace de mayor ancho de banda que transporta los datos de píxeles de la cámara al procesador.  .

Disponiendo de la Rasberry con una cámara,   basta  con conectarse  a esta via ssh (nombre de IP-Adress/Login y contraseña), iniciar la cámara en el arranque de la aplicación o con el botón “Abrir” y  pulsar  el  modo de pantalla completa  para disponer de la visión trasera desde la app de un modo  muy nítido  . Al continuar el trayecto si ya no se requiere  basta cerrar la cámara con el botón “EXIT” para disponer nuestro smartphone  para reproducir nuestra lista de música favorita o que nos guié a través de alguna app  de navegación

 

Imagen

Razones para usar una Raspberry Pi como cámara trasera

RearPi es una sencilla aplicación para Android disponible gratuitamente   SIN PUBLICIDAD en en Google Play  que nos va a permitir  visualizar y grabar señales de vídeo transmitidas por una Raspberry Pi o similar   a través de WiFi , por lo que es utilizable para casi todos los coches para transmitir señales  de vídeo procedentes de una cámara frontal  o  de una cámara trasera hacia un terminal Android.

Puede que piense que existen en el mercado soluciones especificas de cámaras traseras para coche  a un precio  similar  a una Raspberry Pi   sobre todo si pensamos en que necesitamos adquirir el hardware especifico que vamos a describir, lo cual  ciertamente podría ser parcialmente cierto , pero  esta afirmación se desmorona si  podemos usar elementos que ya tengamos   pero  sobre todo  , si deseamos  usar  nuestro smartphone o incluso un  terminal obsoleto  que tengamos  para visualizar la señal , lo cual  es un punto a su favor de  esta solución  si lo comparamos con las pequeñísimas o antiestéticas  pantallas de visualización  que  ofrecen los kits de cámaras traseras  (piensese que  solemos llevar  siempre  un smartphone y ademas puede usarse para otras usos)

Incluso en otros vehículos (por ejemplo  para las caravanas)  pueden  usarse para ofrecer la visión delantera o trasera por  múltiples pantallas de  forma inalámbrica

Algunas características de esta aplicación:
  • Grabación cámara  (.. 15 min 30 min 45 min)
  • Bucle de grabación (.. 15 min 30 min 45 min)
  • Opción para establecer la calidad de grabación
  • Reproductor multimedia integrado para ver grabaciones
  • Modo de pantalla completa  y sin publicidad
  •  Documentación Integrada

En realidad  como podemos intuir , esta  app  se conecta a su Raspberry Pi ( o  cualquier placa basada en Linux  )  por ssh   mediante   IP-Dirección , login y contraseña mediante WIFI dentro de la misma red , y , una vez conectada se puede  iniciar la cámara en la   aplicación o con el botón “OPEN” ,pudiéndose   cerrar la cámara con el botón “SALIR”

Para utilizar su Frambuesa Pi con RearPi como cámara y esta aplicación  rearPi    tendremos   que seguir unos pocos sencillos   pasos en la Raspberry  PI, pero antes veamos  el hardware necesario

 

Hardware necesario

¿Qué necesita para obtener una señal de video?

  • Una Raspberry Pi o un dispositivo que ejecute una distribución de Linux con un sistema operativo preinstalado y una trabajando la conexión SSH.
  • Un dongle WiFi como el “Edimax EW-7811”
  • Una cámara USB o cámara web como Logitech C270
  • Un cable de carga micro USB
  • Un cargador de coche como el “Anker” PowerDrive2 ” Entrada: DC 12 / 24V Salida: 5V / 4.8A 2.4 A por puerto.Por favor, asegúrese de que su Raspberry  se pone suficiente potencia y el voltaje correcto.La salida de su cargador de coche debería tener 5V y la capacidad actual recomendada para su modelo está escrito en la lista siguiente:

raspberrrypower.PNG

Instalación de mjpg streamer

Para que su Raspberry esté lista para transmitir video via tcp/ip a traves de una conexión wifi, debe seguir estos pasos:

1. Abra un terminal por ssh
2. Instale mread streamer con estos comandos (comience con el primero):
 sudo apt-get install libv4l-dev
 sudo apt-get install libjpeg8-dev
 sudo apt-get install subversion
 sudo apt-get install imagemagick
 svn co https://svn.code.sf.net/p/mjpg-streamer/code/
 cd / home / pi / code / mjpg-streamer /
 make USE_LIBV4L2 = true clean all
 sudo make DESTDIR = / usr install
3. !Listo!!

Configurar una dirección IP estática y conexión WiFi

Para asegurarse de que su Raspberry Pi siempre tenga la misma dirección IP, establezca IP estática (para que no tenga problemas al  iniciar la app)

Por ello verifque su interfaz WiFi  con  el comando :ifconfig (buscar la ip asociada a Interfaz WiFi) y una vez seap el  nombre de interfaz WiFi asi  , edite las interfaces:

  • sudo nano / etc / network / interfaces
  • Desplazarse hacia abajo a la #WLAN  sección (si no está allí crear uno al final del archivo)
  • Configure su interfaz a IP estática
  • Configure su Raspberry Pi  a una  dirección  fija ,por ejemplo “192.168.43.125” o lo que quiera
  • Escriba el nombre de la zona wifi y contraseña entre comillas  “
  • Salvar el fichero y reiniciar la Raspberry

RearPi

Para empezar a usar  su Raspeberrry Pi como cámara IP trasera, una vez seguido el proceso anterior de personalización de la  Pi , es importante que  nuestro smartphone  y la  Raspberry estén en la misma red , para lo cual podemos  automatizar el proceso con la App Automate , tal y como vimos en este post 

Muy  resumidamente  la red wifi , se consigue con la función de “hot spot ”  de nuestro teléfono inteligente  la cual permite conectar diferentes dispositivos conectados a nuestra propia red wifi generada desde el  propio terminal   .En caso de Android   vaya a “Configuración –>Más –>Anclaje y punto de acceso portátil” o en versiones de Android superiores a   a la 7 vaya   a  Ajustes (la tuerca ) , busque la opción de  Más y vaya  a  Anclaje de red y zona Wi-Fi  y pulse  Zona Wifi portátil  y áctivelo ( interruptor a la derecha).Una  vez creada la zona wifi podemos  automatizar el proceso con la App Automate buscando   el punto de acceso en el automóvil ( Hotspot ON/OF CAR ) y descargando el flujo

Ahora con  ambos  equipos en red ,conecte la Raspberry Pi con su cargador e Instale la app RearPi desde Google Play 

Una vez ejecute la app, abra la “configuración” y configure la “Dirección IP”, el “Nombre de inicio de sesión” y la contraseña (std pw = raspberry) y podemos empezar con los ajustes de  la pantalla de inicio ajustable:

  •  Establezca los segundos por cuánto tiempo pantalla de inicio se queda (en la configuración)
  •  Establecer “0” para ninguna pantalla de inicio
  •  Activar la cámara cada inicio

Imagen Imagen

Una vez  realizados los ajustes , pulsaremos  el  botón ABRIR , el cual  se conectará a la Raspberry Pi y activara la cámara  actualizando la señal de vídeo

Si queremos abandonar  esta utilidad  , pulsaremos  el  Botón EXIT, el cual se conectara a la Raspberry Pi y desactivara la cámara, cerrando  aplicación

Un modo muy interesante es el Modo de pantalla completa, qu e opera del siguiente modo:

  •  Toque una vez en el vídeo para obtener modo de pantalla completa
  •  Toque  nuevamente para salir de pantalla completa modo

Imagen

Un truco muy interesante es el Modo de pantalla completa al inicio, que conseguiremos si  establecemos la marca de verificación para ir directamente en el modo de pantalla completa (configuración)  cuando iniciemos la aplicación

Por cierto también es posible  grabar video  y visionarlo  desde la propia  aplicación

 

Imagen

 

Resumidamente estos son los posos a seguir para crear una camara trasera  :

  • Establecer un hot spot  para conectar la Pi y su teléfono / tableta.
  • Para transmitir vídeo tiene que instalar streamer MJPG  en Raspberry Pi:.
  • Ejecute   sudo ◦ apt-get install build-essential libjpeg-dev ImageMagick subversión libv4l-dev checkinstall
  • Ejecute  svn co svn: //svn.code.sf.net/p/mjpg-streamer/code/ MJPG-streamer
  • Ejecute cd MJPG-streamer / mjpg-streamer
  • Ejecute  VERSION = $ (sed -n ‘/SOURCE_VERSION/s/^.*”\(.*\)”.*$/\1/gp’ REVISIÓN ◦ = $ (CN svnversion | sed “s /.*: //”)
  • Ejecute sudo checkinstall –pkgname = MJPG-streamer –pkgversion = “$ + $ VERSIÓN DE REVISIÓN ~ checkinstall” –default
  • Hacer USE_LIBV4L2 = true ← opcional
  • De a suu Raspberry Pi una dirección IP estática (pasos detallados en el manual de PDF).
  •  Conectar con la App a su a Pi (IP / Conexión / PW)

 

Con  esta solución  no, necesita alguna fuente de radiación lumínica o infrarroja pues  en condiciones de muy baja luminosidad trabaja bien especialmente si usa la camra nativa.

Por cierto para probar si esta funcionando el stream de video ,tenemos  el comando raspistill que   sirve para hacer fotografías. Si busca en internet hay proyectos para hacer de forma automatizada varias tomas y hacer un timelapse  de modo  qeu la ventaja de esta cámara es que la podrá usar como cámara de vigilancia con uno leds infrarojos para iluminar la zona

En el siguiente vídeo podemos  ver la cámara en acción:

 

Documentación: https://alikamouche.files.wordpress.com … _v1-33.pdf

Conectar un viejo monitor a un pc con salida DVI

 Digital Visual Interface (DVI) o “Interfaz Visual Digital” es una interfaz de vídeo diseñada para obtener la máxima calidad de visualización posible en pantallas digitales, tales como los monitores lcd o proyectores digitales.


El estándar VGA  caracterizado por el conector de  15 pines  ,está cayendo en desuso (aunque aún lo respetan algunos fabricantes de monitores ),  básicamente porque este estaba concebido para monitores basados en CRT , hasta tal punto que de hecho las gráficas actuales no llevan ya conector VGA , de modo que si va a comprar un monitor, asegúrese antes de qué conexión tiene para evitar incidencias porque un monitor que sólo lleve conector VGA tal vez no se pueda conectar a su ordenador.

En efecto , el veterano VGA es un interfaz analógico  puesto que la fuente varía su tensión de salida con cada línea que emite para representar el brillo deseado,l o cual era así porque en las antiguas pantallas de CRT se usaba para asignar al rayo la intensidad adecuada mientras éste se iba desplazando por la pantalla durante el barrido del haz de rayos catdicos.

En las actuales monitores  LCD o TFT´, como este rayo ya no está presente,  pierde su sentido, pues  en su lugar hay una matriz de píxeles, y se debe asignar un valor de brillo a cada uno de ellos, tarea  realizada  por  el decodificador  que  toma muestras del voltaje de entrada a intervalos regulares,  lo cual puede provocar distorsión si las muestras no se toman en el centro de cada píxel, y, en general, el grado de ruido entre píxeles adyacentes es elevado.

Precisamente para superar las limitaciones de la conexiones VGA, surge el interfaz DVI , el cual adopta un enfoque distinto en tanto que el brillo de los píxeles se transmite en forma de lista de números binarios de modo que cuando la pantalla está establecida a su resolución nativa, solamente tiene que leer cada número y aplicar ese brillo al píxel apropiado  y de esta forma, cada píxel del buffer de salida de la fuente se corresponde directamente con un píxel en la pantalla (mientras que como hemos visto con una señal VGA el aspecto de cada píxel puede verse afectado por sus píxeles adyacentes, así como por el ruido eléctrico y otras formas de distorsión analógica)

El conector DVI normalmente posee pines para transmitir las señales digitales nativas de DVI pero  también puede tener pines para transmitir las señales analógicas del estándar VGA. Esta característica se incluyó para dar un carácter universal a DVI: los conectores que la implementan admiten monitores de ambos tipos (analógico o digital).

Los conectores DVI se clasifican en tres tipos en función de qué señales admiten:

  • DVI-D (solamente digital): Dispone de 24 pines. Los adaptadores DVI -> VGA no encajan físicamente con este conector y la conversión no es posible.
  • DVI-A (solamente analógica): no esta muy extendido  y existen conversores
  • DVI-I (digital y analógica): es una conexión doble, que emite señal digital a la vez que señal analógica. Dispone de los 24 pines estándar más otros 4 en uno de los lados. Esos 4 pines son los que emiten señal analógica
  • A veces se denomina DVI-DL a los conectores que admiten dos enlaces.

Aunque el interfaz de video mas reciente es el Display Port  , algunas  tarjetas gráficas todavia actuales pueden llevar uno o dos conectores DVI  provocando dos casuisticas diferentes:

  • Si lleva un solo conector  DVI , será DVI-D , que como hemos visto, al ser completamente digital ,no se podrá usar un adaptador a VGA
  • Si lleva dos conectores DVI , uno será de cada tipo(DVI-D y DVI-A) y entonces sí se podrá usar un adaptador DVI a VGA.

Adaptadores DVI a VGA

Según lo comentado   existe la posibilidad de convertir la señal  de la tarjeta gráfica de un ordenador de un puerto DVI (conector blanco o negro de 24 pines) si es del tipo DVI-A  o DVI-I a   una  conexión VGA (conector azul de 15 pines)  mediante un simple adaptador

Este tipo de adaptadores DVI a VGA llevan una conector DVI tipo 24+5 macho en un extremo y VGA HDB15 hembra en el otro , lo cual permite utilizarlos para convertir un puerto DVI a puerto SVGA hembra para poder conectar un cable SVGA con conector macho hacia  un monitor o TV con conexión analogica.

Como hemos visto , esta posibilidad  tiene que ver con que la señal DVI es digital y la VGA es analógica, pero sin embargo los fabricantes gracias  a los diferentes  tipos de conexión DVI  permiten aun  que sea  compatibles sus trajetas graficas  con el veterano estándar VGA simplemente usando un cable  o un simple adaptador   que  cuestan unos 2€

adpatador

Adaptadores HDMI a DVI

Gracias a su compatibilidad inversa con la señales DVI-D y DVI-I, se  puede emplear este tipo de  cables adaptadores para conectar un ordenador o dispositivo con puerto DVI a un televisor o una pantalla con puerto HDMI.

Una aplicación típica de estos adaptadores es  ver vídeos desde un ordenador hacia un televisor HD de pantalla grande, o al revés. Estos  cables conectan incluso los dispositivos con puerto HDMI como Blu-Ray, PlayStation 3 o Xbox 360 a un monitor o un televisor con puerto DVI.

Un aspecto muy interesante es que al  ser compatibles con la señal de audio, el cable adaptador de HDMI a DVI funciona igual que un cable HDMI de alta velocidad, permitiendo disfrutar de videojuegos, sistemas de cine en casa, etc.

hdmi.png

Conversion HDMI a VGA

Es posible encontrar conversores desde HDMI a VGA con y sin sonido, pero debe saber si elige uno con sonido, tenga en cuenta que la conexión VGA sólo lleva imagen, de modo que  el audio saldrá por un conector Jack de 3,5 mm que deberá conectar a unos altavoces externos con amplificador, si es que el monitor no los incluye( suelen llevar una hembra de 3,5mm de audio IN) .

La conversión desde la señal digital HDMI hacia la analógica VGA se hace mediante un proceso llamado modulación ,  por lo que la conversión desde HDMI a VGA es unidireccional: es decir el adaptador a emplear sólo soportara HDMI a VGA, conectando un ordenador o Laptop con salida  HDMI a un proyector,pantalla,TV y monitor con interfaz VGA

Este  tipo de conversores  llegan hasta una resolución 1080P, gracias  a que  convierten la señal digital HDMI a la analógica VGA por medio  de un chip IC integrado, soportando una resolución máxima de salida VGA de hasta 1920×[email protected]z     y suelen alimentarse  con alimentación adicional mediante cable Micro USB .

adaptador.png

Por cierto, la compatibilidad del puerto HDMI esta asegurada para Laptop, Macbook, Rasberry Pi, etc   y  el puerto VGA hembra puede ser conectado a un proyector, HDTV, monitores y etc.

El precio de  uno de estos adaptadores suele rondar los 10€ en Amazon

Conversion VGA a HDMI

Si lo que necesita es proyectar una imagen desde  su ordenador , y este solo cuenta con una salida  VGA y  necesita llevar ésta a  un televisor que sólo cuente con  entrada HDMI, también puede encontrar adaptadores  que , aunque son algo más complejos lo permiten.

La complejidad  de la electronica de estos conversores es debida a que estos hacen un muestreo de señal, es decir realizan  el proceso complementario al de de la modulación.

vga a hdmi

Normalmente los adaptadores de  entrada VGA a salidad HDMI  incorporan un chipset que soporta sincronización de vídeo y audio a través de un cable con resoluciones de  1600×1200 1080P 60Hz para convertir la señal analógica VGA a señal digital HDMI para conectar PCs, Laptops a proyectores, monitores o HDTV

Estos adaptadores son  uni-direccionales, es decir , sólo soportan el  transformar  desde VGA a HDMI mediante un puerto VGA macho que conectaremos al pc   a un HDMI hembra que mediante un cable hdmi-hdmi llevaremos a nuestro TV

Ademas estos convertidores  cuentan con un puerto de alimentación USB que permiten  transmitir la señal de audio y vídeo  y alimentar  al dispositivo via los 5V de la ocnexion usb  no  requiriendo adaptador de energía adicional

En cuanto al precio suelen rondar el doble de los adaptadores hdmi-vga ( uno 20€ en Amazon)

Conversion   mini HDMI a  HDMI

Por  ultimo decir que hay posibilidad de conectar  algunas tabletas y otros aparatos que solo cuenta con conexion minihdmi  a  un tv convencional con entrada hdmi

En este caso solo debmo comprar  adaptadores HDMI a miniHDMI  , es decir  HDMI tipo C macho a tipo A hembra

minihdmi

Por ultimo ,hay que citar que la conexión mini-hdmi  no debe confundirse con la conexión OTG que  muchas tabletas o smartphone cuentan para vía un cable especial poder enviar audio y video a un TV

Reconocimiento de imagenes para Raspberry Pi

Veremos como con ayuda de la libreria TensorFlow implementada en una raspberry Pi se pueden clasificar objetos para posteriormente realizar labores de procesamiento


La famosa librería TensorFlow fue originalmente desarrollada por investigadores e ingenieros que trabajan  dentro de la organización de investigación de la máquina de Inteligencia de Google estando el sistema  diseñado para facilitar la investigación en el aprendizaje de máquina, y para que sea rápido y fácil de transición del prototipo de investigación al sistema de producción.

Aunque se piense que es una librería consolida (la ultima versión es la 10,Release 0)  , TensorFlow no está completa, pues está construida  pensando en ser  mejorada, y extendida. El equipo de desarrollo ha hecho una versión inicial del código fuente, y en la actualidad están haciendo esfuerzos internos de desarrollo a utilizar un repositorio público de los cambios del día a día realizados por el equipo en Google. Esperan construir una comunidad de código abierto activa que impulse el futuro de esta biblioteca, proveyendo de retroalimentación y contribuyendo activamente al código fuente.

 

Nuestro cerebro hacen que la visión parecen fácil pues no se necesita ningún esfuerzo para el ser humano de distinguir un león y un jaguar, leer una señal, o reconocer el rostro de un ser humano. Pero estos son en realidad problemas difíciles de resolver con un ordenador: sólo parece fácil porque nuestros cerebros son muy buenos en la comprensión de las imágenes.

En los últimos años el campo de aprendizaje de la máquina ha hecho enormes progresos en hacer frente a estos problemas difíciles. En particular, hemos encontrado que una especie de modelo  llamado convolutional neural network  puede lograr un rendimiento razonable en las tareas de reconocimiento visual duros igualando o superar el rendimiento humano en algunos dominios.

Los investigadores han demostrado un progreso constante en la visión por ordenador mediante la validación de su trabajo contra IMAGEnet ( un punto de referencia académica para la visión por ordenador). Modelos sucesivos siguen mostrando mejoras, y cada vez que ese consigue un  logro,el  resultado nuevo mejora el estado de la técnica: QuocNet , AlexNet , Inception (GoogLeNet) , BN-Inception-v2 . Los investigadores tanto internos como externos a Google han publicado artículos que describen todos estos modelos, pero los resultados son todavía difíciles de reproducir .En este momento se esta  dando el siguiente paso mediante la liberación de código para ejecutar el reconocimiento de imágenes en nuestro último modelo, Inception-v3 .

Inception-v3 está capacitado para el IMAGEnet grande Reconocimiento Visual Challenge utilizando los datos de 2012. Se trata de una tarea estándar en la visión por ordenador, donde los modelos tratan de clasificar las imágenes completas en 1000 clases , al igual que la “cebra”, “dálmata”, y “lavavajillas “. Por ejemplo, aquí están los resultados de AlexNet la clasificación de algunas imágenes:

 

Para comparar los modelos, examinamos la frecuencia con que el modelo no puede predecir la respuesta correcta como uno de sus 5 mejores conjeturas mediante el denominado “top-5 índice de error” . AlexNet ha logrado mediante el establecimiento de un top 5 , llegar  a una tasa de error del 15,3% en un dataset de validaciones de  2012 . BN-Inception-v2 alcanzan el 6,66% y  Inception-v3 alcanza el 3,46%.Karpathy intentó medir su propio rendimiento y  alcanzó el top-5 tasa de error de 5,1%.

Ahora vamos a ver  un ejemplo  en Python  para cómo utilizar Inception-v3 para  cómo clasificar las imágenes en 1000 clases en Python o C ++ . También es interesante saber cómo extraer características de nivel superior de este modelo que pueden ser reutilizado para otras tareas de visión.

 

Descargue el modelo  classify_image.py  de tensorflow.org cuando el programa se ejecute por primera vez. Usted necesitará unos 200 Mbs de espacio libre disponible en el disco duro.

Las siguientes instrucciones puede ejecutarla  suponiendo  que ha instalado TensorFlow de un paquete PIP y que su terminal reside en el directorio raíz TensorFlow.

cd tensorflow/models/image/imagenet python classify_image.py

El comando anterior clasificar una imagen suministrada de un oso panda.

Si el modelo se ejecuta correctamente, la secuencia de comandos producirá el siguiente resultado:

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.88493) indri, indris, Indri indri, Indri brevicaudatus (score = 0.00878) lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00317) custard apple (score = 0.00149) earthstar (score = 0.00127)

Si desea suministrar otras imágenes JPEG, puede hacerlo editando el  argumento  –image_file.

Si descarga los datos del modelo en un directorio diferente, tendrá que señalar –model_dir al directorio utilizado.

 

Como ejemplo de uso  se  puede  utilizar  una combinación de OpenCV junto con la librería TensorFlow de Google para utilizar redes de neuronas en Google Cloud para entrenar un modelo de clasificación en la nube.

El japones  Kazunori Sato  ha intentado clasificar verdura ( pepinos )   con el uso de esta  librería implementada  en una Raspberry Pi junto a una webcam para analizar visualmente cada  pieza de verdura  y poder clasificarlos  por tamaños  de una manera eficiente.

Mediante una pequeña máquina casera que han diseñado, a la que  han añadido varios  servos(para expulsar las  muestra clasificadas)  junto a  una cinta transportadora  para transportar las muestras ,  todos controlados  por la raspberry pi  consiguen una eficiencia teórica de más de 95% de acierto,   si bien como se puede ver en el ejemplo, el funcionamiento es algo lento.

En el siguiente video puede ver pues una aplicación practica de uso de esta librería:

 

 

 

 

Para obtener información sobre las redes neuronales en general, de Michael Nielsen su libro online gratis es un excelente recurso. Para las redes neuronales convolucionales, en particular, Chris Olah tiene algunas buenas entradas de blog , y el libro de Michael Nielsen tiene un gran capítulo que forman parte. Para obtener más información sobre la aplicación de redes neuronales convolucionales, puede saltar a la TensorFlow redes convolucionales profunda tutorial , o empezar un poco más suavemente con nuestra principiante ML o expertos ML tutoriales MNIST de arranque. Por último, si desea ponerse al día sobre la investigación en esta área, se puede leer la obra reciente de todos los documentos referenciados en este tutorial.” Michael Nielsen es un excelente recurso. Para las redes neuronales convolucionales, en particular, Chris Olah tiene algunas buenas entradas de blog , y el libro de Michael Nielsen tiene un gran capítulo sobre estas.

Para obtener más información sobre la aplicación de redes neuronales convolucionales, puede mirar el tutorial de TensorFlow sobre  redes convolucionales  o empezar un poco más suavemente con  ML 

 

Reparar una cámara Ip

Se dan la claves para reparar un cámara ip contemplando así casi el 99% de las averías posibles


Se  ha popularizado incluso para su uso domestico el uso de cámaras de vigilancia que utilizan las redes IP ( de ahí el nombre de cámaras IP)  , para transmitir las imágenes por   su red local e Internet

Estas  cámaras IP le permiten ver en tiempo real qué ocurre en su negocio u hogar, aunque esté a miles de kilómetros y  a diferencia de las cámaras Web, pues  contienen un procesador    con un firmware  interno que hace de servidor Web  que se conecta directamente a Internet  bien por cable ethernet o bien  por wifi.

Entre sus muchas funciones , estas cámaras puede configurarse para enviar automáticamente e-mails con imágenes adjuntas cuando detecte sonidos  o movimiento  de forma que siempre podremos consultar esas imágenes captadas cuando lo necesitemos.

Entres sus múltiples posibilidades destacan;

  • Ver el vídeo captado por la cámara Ip  en tiempo real desde cualquier ordenador,smartphone,tableta  en su propia red o desde cualquier lugar vía Internet.
  • Activar alarmas de presencia, de forma que la cámara IP grabe vídeo cuando detecte un movimiento o bien envíe un e-mail con imágenes adjuntas, suba las imágenes a un FTP, emita un sonido de alarma, etc. Puede configurar su móvil para recibir automáticamente los e-mails con imágenes adjuntas.
  • Grabar el vídeo de forma continua, con programación horaria o bien cuando se detecte movimiento. Esta grabación se puede realizar localmente o desde cualquier ordenador del mundo vía Internet. Los modelos con ranura para tarjeta SD además permiten grabar en la tarjeta sin necesidad de usar un ordenador. Los vídeos grabados, tanto en el ordenador como en la tarjeta SD pueden consultarse cuando se necesiten.
  • Consultar las grabaciones, que quedarán organizadas por días y horas.
  • Mover la cámara IP a distancia en los modelos con movimiento robotizado . Esto le permite abarcar un campo de hasta 300º horizontales y 120º verticales.
  • Escuchar y transmitir sonido, en los modelos con sonido. Además de las imágenes puede hablar y escuchar utilizando el micro y altavoz que tienen algunos modelos.
  • Ver múltiples cámaras en un sola pantalla, tanto desde un ordenador como desde un smartphone estando las cámaras  en diferentes lugares del mundo.
  • Promocionar un negocio o lugar emitiendo imágenes en directo en una página Web.
  • etc

Las cámaras IP utilizan la tecnología de Internet para transmitir las imágenes. No necesita las antiguas y costosas instalaciones CCTV de videovigilancia con cables, sistemas de grabación, programas específicos de acceso, etc. Hoy en día la tecnología de las cámaras IP permite realizar todas esas funciones de forma mucho menos costosa al utilizar los recursos ya existentes (Internet, WiFi, IP, Navegadores,..).

 

Si usted posees un cámara IP  configurada y de repente ha dejado de responder , a continuación le detallamos algunas pistas que le pueden servir para volverla a tener operativa:
IMG_20160810_000741[1]

 

En primer lugar si ha dejado de responder lo mas normal es que haya perdido la configuración  por lo que lo mas normal es  que  necesitará realizar un reestablecimiento de la cámara a la situación original de fábrica, por ejemplo si ha perdido la contraseña, instalación en otra red, reinicio de la configuración desde el comienzo por algún problema, etc.

Nota: En las cámaras motorizadas sujete la cámara por la base, no por la cabeza (podría dañarse)

Antes de resetear la cámara, ya que al hacerlo perderá toda la configuración que haya hecho .para realizar una comprobación básica, por favor, realice lo siguiente:

  • Conecte la cámara al alimentador eléctrico
  • Asegurese de que el enchufe donde ha conectado el cargdor tiene tension  asi como  que el conector a la camara esta fuertemente fijado
  • Conéctela al router con el cable de red incluido

Si continua sin responder ,lo mejor es intentar hacer un reset para ver como reacciona. En general los pasos para resetear  una cámara IP son los siguientes:

  1. Conecte la cámara al adaptador de electricidad
  2. Mantenga pulsado el botón reset (suelen hacer un pequeño “clic”) durante unos segundos( en algunos modelos puede necesitar hasta 30segundos).
    • Cámaras de interior: el botón reset es accesible a través de un pequeño agujero en la carcasa indicado como “Reset” (necesitará un palillo o similar)
    • Cámaras de exterior: el botón reset es un pulsador al final de un cable e indicado como “Reset” (accesible con el dedo)
  3. Conecte la cámara IP al router mediante un cable ethernet  y espere al menos 1 minuto.
  4. Si la cámara tiene LEDs indicadores, verifique que está encendida la luz de alimentación (normalmente rojo) y que la luz de datos (normalmente verde) haya cambiado la cadencia de intermitente lento a intermitente rápido.
IMG_20160810_000414[1].jpg
En la parte superior se aprecia claramente el pulsador de reset (es un cuadrado blanco)

Si a pesar del reseteado ,la cámara sigue sin responder ,observe  los siguientes puntos:

  • Si se enciende algún indicador luminoso
  • Si aparece la IP de la cámara en el programa de gestión ( normalmente el mas usado es el programa IPCAMERA TOOL)

Si no se enciende ningún testigo  todavía hay esperanza ,pues aunque parezca increíble  la fuente de alimentación  suele  ser la responsable en un 99% de los problemas , así que siga leyendo:

En primer lugar mediremos  la tensión en el conector de la salida de la fuente lógicamente  desconectando la cámara ( suelen ser 12V).Si no mide nada  ya  sabemos que el culpable es la fuente y deberemos sustituirla por  otra de iguales características ( normalmente 12V   y de al menos 2 Amp)

Si a la salida de la fuente mide la tensión correcta en vacío , por extraño que parezca, aun podría ser la culpable la fuente pues el circuito interno puede caer cuando conectamos una carga ,  así que  no se desespere  pues es posible que el alimentador  aun asi esté dañado. Si tiene a mano un alimentador de similares características, pruebe con él, pero en caso de no tener  uno similar ( que probablemente sera la circunstancia mas normal)  en caso de tener la alimentación a 12V o 5V  puede usar una vieja fuente de PC  , asegurándose claramente tanto de  la tensión como de  la polaridad para no dañar irremediablemente la cámara.

Para probar la cámara con una fuente de ordenador  AT o ATX  tenga en cuenta los siguientes puntos:

-Necesitara arrancar la fuente ,cruzando el cablecillo de power (normalmente de color verde y de poca sección) con masa (cualquier negro).

-Asegúrese  de que la cámara se alimenta  a 12V o a 5v( en las especificaciones del cargador suelen venir)

-En caso de que se alimente a 12V DC  utilice por ejemplo el cable amarillo de un conector Molex como positivo y  uno de los cables negros como masa

 

IMG_20160811_100623[1].jpg

 

Si conectando la fuente de PC a su cámara  funciona !enhorabuena!, ya sabe que es el cargador así que ya puede buscar una nueva fuente de intensidad y tensión similares para reemplazar el cargador defectuoso

Si  aun  no funcione, una compruebe que no cae la tensión con la cámara conectada puede probar  a desconectar la tarjeta wifi de la placa madre.Normalmente estas tarjetas son usb y van aparte en una plaquita aparte con sus 4 conexiones USB soldados a la placa con 4 cablecillos  y lógicamente la conexión de antena aparte.

En la imagen siguiente se ve mas claramente dicho adaptador WIFI( es la plaquita azul):

 

IMG_20160810_000257[1].jpg
En la parte superior se ve claramente el adaptador  wifi

!Espero  que haya tenido suerte en la reparación! Lamentablemente puede haber otras averías  que eviten el funcionamiento de una cámara de este tipo ,pero con lo tratado en este post , casi el 99% de las causticas estarán contempladas, y si no ha sido así le animo querido lector a  que lo comparta con toda la comunidad.