OpenAuto


Y es que en lugar de tener que gastar una fortuna en una pantalla para el coche que incluya Android Auto de marca como Pioneer o Sony el desarrollador Polaco Michal Szwaj   se decidió a crear este proyecto cuando buscaba incorporar un sistema Android Auto en su viejo coche,  por lo que descartado comprar un costoso equipo ,  la primera alternativa que se le ocurrió  fue  OpenAuto que  se lanzó  en el primer trimestre de 2018 de manera pública ( dado que las primeras versiones de Android Auto oficialmente no admitían autorradios de  terceros baratos ) , Desgraciadamente  como hemos visto,  instalarlo  a pesar  de  que existe un script que  puede hacer  todas las funciones , es algo complejo porque al fin al cabo requiere compilar código ,   así como añadir una serie de configuraciones para hacerla funcionar, motivo por el cual se lanzó a hacerlo todavía más sencillo creando una imagen en unas SD  con todo ya instalado  y pre-configurado .

En efecto se  puede hacer casi  lo mismo que Android Auto  gracias a la  nueva distribución de GNU/Linux llamada Crankshaft para lo cual  solo necesitaremos la Raspberry Pi  3 y una pantalla táctil, la cual desgraciadamente  tiene  una gran peculiaridad :sólo  funciona con la  pantalla táctil de 7″ oficial de la fundación Raspeberry ( unos 100€) . Sólo si se cuenta con ambas condiciones tan  solo habrá que  instalar  la imagen de Crankshaft y por supuesto encontrarle un hueco en el salpicadero de nuestro coche(su creador recomienda que compremos la pantalla oficial y una carcasa)

 

 

Crankshaft  esta en fase alfa y se puede descargar  gratuitamente desde su página web oficial pero sus autores no se responsabilizan de ningún problema que pueda surgir durante su utilización, ya que se distribuye de forma altruista y no una versión estable desarrollada por Google (por tanto, tenga mucho cuidado si lo utiliza  y depende  de esta).

Los  conceptos  sobre los que se centra esta distribución;

  • Amistoso y divertido:Una instalación base que debe “sólo trabajar” sin ninguna configuración extra , es decir sin tener que ejecutar un solo comando desde la consola .

  • Software libre ; respeta su libertad garantizada por la GPLv3, desarrollado por Open. Código fuente.

  • De gran alcance: nos  lo pone fácil para personalizar y desarrollar en él.

Android Auto es más que un concepto,  pues mientras Android Auto puede tomar la forma de software pre-instalado en un a elegante unidad principal de su coche  nuevo , en un contexto de Crankshaft,  Auto Android es, ante todo un reflejo de la aplicación que se ejecuta en tu teléfono Android   y por ende donde reside toda la magia , por lo que no es software que se ejecuta en una unidad principal (en este caso una  Rasbperry Pi 3  ) ya que  a aplicación Android Auto funciona en su teléfono que  sirve como  software de proyección – más simplemente mediante un cable USB – de sí mismo y admitiendo  incluso  aplicaciones como Google Maps, funcionando en su teléfono. Open fue desarrollado originalmente para su uso en el hardware como el Pi de Raspberry pi  con una pantalla táctil,  para usarlo en  combinación con  un teléfono con Android con  la aplicación Android Auto, proyectando la salida de la aplicación Android Auto un Raspberry Pi equipado con una pantalla táctil y funcionamiento Open, se convierte en una unidad principal de coche potencialmente muy bajo costo y eficaz comparable a la funcionalidad ofrecida por unidades principales actuales.

Crankshaft es una distribución Linux ha sido desarrollada para hacer más fácil de usar Open para configurar y ejecutar proporcionando la funcionalidad adicional de ayuda fuera de la caja que no es estrictamente parte de Open.

Una unidad principal de funcionamiento del Crankshaft:

  1. Tiene muy poco control sobre el teléfono y qué aplicaciones se ejecutan en él
  2. Solo maneja entradas relacionadas cuando toca la pantalla táctil   enviando estos datos a la aplicación de Auto Android en su teléfono
  3. Puede negarse a ayudar al audio del teléfono aunque esto puede ser útil si desea utilizar un Bluetooth estéreo ya trabajando en su coche
  4. Podría considerarse vinculada al teléfono Android que es el servidor con  todos los beneficios y límites que conlleva

 

Hardware 

Necesita los siguientes elementos

Getting started materials

  1. Una Raspberry Pi:

    • Los modelos 3B y 3B + son la opción razonable.

    • El Pi 2 sería conveniente pero carece de WiFi y Bluetooth a bordo que podría ser de utilidad.

    • El cero de Pi, A + y B Pi original pueden hacerlas a pesar de la aceleración de GPU de Open.

  2. Por lo menos una tarjeta de microSD de 4GB  :Tarjetas Sandisk y Samsung (la línea EVO) son grandes

  3. Pantalla táctil de frambuesa Pi : de hecho el oficial 7″ modelo funciona muy bien alimentado desde el Pi a través de los pines GPIO, como física pin 2 (5V) y la clavija 6 (GRND)

  4. Un smartphone con Android 5.0 o superior  con la aplicación de Android Auto instalada

  5. Un cable USB para conectar el teléfono a su Raspberry Pi

  6. Una fuente de energía como un enchufe accesorio de 12V al convertidor del USB.

    • Conseguir una adecuada con alto amperaje (Amp 2 o más).

    • No compre los baratos en las tiendas de articulos orientales.

  7. Un cable USB a micro USB para alimentar el Pi.

  8. Una solución de salida de audio como la radio del coche.

    • Un cable de audio 3.5mm Macho a macho le permitirá conectar el Raspberry Pi para Aux zócalo de su coche, si tienes uno.

    • Otra opción es audio Bluetooth.

  9. Un micrófono USB Si desea utilizar al asistente de “Google OK”.

 

Si usted está confundido con la pantalla táctil, consulte a la guía de “construcción de la pantalla” en ThePiHut.

Assembled screen

La pantalla montada debería verse como esto.

Después de conectar el cable de cinta, necesitarás conectar dos cables adicionales más.

Estos son algunos diagramas útiles

Corresponde a:

Usted tendrá que conectar los 2 pines: tierra (GND/negro) y 5V (rojo) a los 2 pines etiquetado GND y 5V de la pantalla táctil. N

Tome  mucha  precaución al conectar lo 5V/GND, ya que podría freír la pantalla / el Pi si lo conecta mal.

Software

Vaya a la sección lanzamientos de Crankshaft y descargue el archivo ZIP de 500 MB o así a su ordenador.

Una vez ,  descargada la imagen correspondiente  en su ordenador  siga los siguientes pasos:

  • Inserte la tarjeta SD en el lector de tarjetas SD  de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows.
  • Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de la imagen de Raspbian de Crankshaft .
  • Seleccione la letra de la unidad de la tarjeta SD en la caja del dispositivo. Tenga cuidado de seleccionar la unidad correcta; si usted consigue el incorrecto puede destruir los datos en el disco duro de su ordenador! Si está utilizando una ranura para tarjetas SD en su ordenador y no puede ver la unidad en la ventana Win32DiskImager, intente utilizar un adaptador SD externa.
  • Haga clic en Escribir y esperar a que la escritura se complete.
  • Salir del administrador de archivos  y expulsar la tarjeta SD.
  • Ya puede insertar la SD en su Raspberry Pi en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los  conectores USB, conectar la  con un cable ethernet  al router  conectividad a Internet y finalmente conectar la alimentación  para comprobar que la Raspeberry arranca con la nueva imagen

 

Por último, poner todo en iniciar su coche y conecte el teléfono!

No es un software de nivel alpha, por lo que. No es seguro  que funcione  al 100%   incluso con el hw probado  y sw de Google o Android. T

Si es  un desarrollador que es capaz de compilar software en Linux, puedes seguir las instrucciones de Open incluso cuando el Crankshaft  no funcione en su hardware personalizado.

Puede ver en este hilo una lista de compatibilidad de teléfonos y Hardware.El listado de móviles compatibles incluye prácticamente todos los recientes, y puede comprobar el listado de usuarios que afirma que funciona con su móvil en la página de GitHub   pero como decíamos al principio de este post el problema es la pantalla táctil pues de no ser la oficial  puede que visualize  perfectamente el interfaz  pero que no reaccione a las pulsaciones .

Personalmente lo he probado con la pantalla  kuman de 5”  ( bastante mas económica que la de 7″ oficial ) pero desgraciadamente aunque  la imagen es  perfecta del interfaz  desgraciadamente  no responde a las pulsaciones ante la pantalla 

Al estar todavía en fase experimental, le faltan bastantes funcionalidades. Por ejemplo, no cuenta con implementación para micrófono, por lo que el control por voz mediante Ok Google no funciona. Tampoco tiene Bluetooth, por lo que es necesario conectar el móvil mediante USB para poder usarlo con el sistema

 

Via instructables

Anuncios

Como convertir una impresora 3D en una impresora Wifi


Geeetech es un fabricante chino fundada  en 2011, y que se ha dedicado a la I + D integrada, la producción y la distribución de EDB (placas de desarrollo integrada), MCU, así como a hardware de código abierto, destacando por sus desarrollos en impresión 3d. De hecho son una de las compañías más grandes de impresoras 3D en China, ya que han producido más de 100,000 impresoras, siendo ademas de las pocas compañías de impresoras 3D de código abierto en China.

Precisamente  dada su trayectoria no podían olvidar el desarrollo de un modulo que ofrezca  conectividad inalámbrica con el único objetivo de permitir que todos los aficionados a la impresión en 3D puedan controlar su impresora de forma inalámbrica. 

Dicho modulo inalámbrico   llamado 3D WiFi es ampliamente compatible con muchos tipos diferentes de impresoras 3D en el mercado: el único requisito es que el chip conversor de  USB a serie de su impresora pertenezca a uno de estos tres :CH340, FT232 y PL2303   y esté controlado por las instrucciones G.code, así que si cumple esto  dicho o Módulo 3D WiFi puede actualizar su máquina como Wi-Fi habilitada y hacerla comparable a otras impresoras 3D conectadas Wi-Fi prohibitivamente caras.

3D-wifi 10.jpg

El módulo  3D WiFi compone principalmente de dos partes: placa de control y módulo Wi-Fi  siendo de tamaño muy pequeño ( mas o menos como una caja de cerillas)  pero  lo suficientemente potente como para conectar su impresora 3D con el servidor en la nube de Geeetech, para  controla un dispositivo desde la aplicación EasyPrint 3D sin mas configuraciones dado que el módulo de WiFi en 3D está listo para usar de inmediato: solo necesita conectar su impresora 3D al puerto USB del este dispositivo y finalizar las configuraciones simples por medio de  la aplicación para Android EasyPrint 3D y a partir de ahí  ya puede  comenzar a controlar su impresora de forma inalámbrica.

 A través de la aplicación EasyPrint 3D, es extremadamente simple y conveniente controlar directamente su impresora en cualquier lugar y en cualquier momento pues solo necesitara conectar su impresora 3D al puerto USB del módulo 3D WiFi , completar configuraciones sencillas en la aplicación 3D EasyPrint ( que vamos a ver )  y ya luego puede controlar su dispositivo inalámbrico y comenzar a imprimir  .Además, se da a acceso a una gran galería en la nube( al estilo thinginverse ) , que cubre 9 categorías de modelos 3D para imprimir desde hobby, hogar, moda, arte a gadgets, herramientas, juguetes, educación y piezas de impresión en 3D. 

También se puede grabar y compartir  diseños desde  la aplicación EasyPrint 3D en segundos .

Quizás una de las facilidades mas interesantes es la de control remoto  su impresora 3d en tiempo real. Incluso puede configurar los parámetros de impresión relevantes y recibir notificaciones instantáneas durante su trabajo de impresión.

Ademas de ser compatible  3D WiFi  con todas las impresoras de Geetech, se ha probado con la siguientes impresoras:

Creality-CR-10.jpg
Anycubic-I3-Mega.jpg
Anet-A8.jpg
Monoprice2.jpg
Monoprice1.jpg


El módulo 3D WiFi   también es compatible con impresoras 3d controladas por las siguientes placas:

Arduino-Mega-R3.jpg
Iduino-Mega-R3.jpg
Rumba.jpg.

Carastericticas del 3D WiFi  

  • Alimentación: 5V DC
  • Corriente de trabajo: 150mA (en promedio), 500mA (pico)
  • USB 2.0 de velocidad completa
  • Soporte de tarjeta TF: SDSC, SDHC (<32G); CLASS2, CLASS4
  • WIFIFrecuencia: 2.4G ~ 2.5G (2400M ~ 2483.5M)
  • Potencia de transmisión: 802.11b: + 20 dBm / 802.11g: +17 dBm / 802.11n: +14 dBm
  • Sensibilidad de recepción: 802.11b: -91 dBm (11 Mbps) / 802.11g: -75 dBm (54 Mbps) / 802.11n: -72 dBm (MCS7)
  • Antena: antena PCB a bordo
  • Modo Wi-Fi: Estación / SoftAP 
  • Estándar WLAN: 802.11 b / g / n /
  • Mecanismo de seguridad: WPA / WPA2
  • Tipo de cifrado: WEP / TKIP / AES
  • Protocolo de red: IPv4 、 TCP / UDP / HTTP / FTP / MQTT
  • Tamaño: 49.37 * 25.87 * 16.5mm
  • Tamaño de empaquetado: 52.44 * 28.94 * 17 mm

 

Aplicación EasyPrint 3D

EasyPrint 3D se desarrolló como una aplicación de impresión 3D, estando orientada tanto para principiantes en impresión 3D como para profesionales experimentados, con el objetivo de llevar la tecnología de impresión 3D a nuestra vida diaria. Usa  un interfaz de usuario simple y elegante  proporcionando un flujo de operación fácil y una experiencia de usuario receptiva.

EasyPrint 3D viene con cuatro características principales:

  • Monitorizacion en tiempo real: con EasyPrint 3D, un colaborador considerado, le resultará conveniente monitorear el estado de su impresora y el progreso de la impresión en tiempo real cuando está ocupado completando su trabajo, haciendo footing, comprando o visitando amigos.
  • Control remoto: al conectar su impresora con EasyPrint 3D, puede dirigir el control remoto sobre el proceso general de impresión. Le permite elegir un modelo 3D favorito de la tarjeta SD y la galería de aplicaciones en la nube. Solo unos pocos clics en su teléfono para configurar su máquina, obtener una vista previa del archivo de modelo, calibrar y nivelar su impresora, modificar la temperatura de la extrusora y el semillero y la velocidad de impresión, y comenzar a imprimir. Durante la impresión, recibirá de inmediato una notificación cuando se corte la energía. En este caso emergente, la impresora se detendrá y guardará el estado de impresión en tiempo real de inmediato. Cuando encienda la impresora la próxima vez, aparecerá un mensaje emergente para que usted elija reanudar la impresión anterior o iniciar una nueva.
  • Cloud slicer: esta característica le permite transformar archivos .stl en comandos g.code en su palma de la mano. Eficiente y conveniente.
  • Una galería en la nube de modelos en 3D: esta galería en la nube cubre 9 categorías de modelos 3D GRATIS, que incluyen arte, moda, hogar, pasatiempos, educación, partes de impresoras 3D, dispositivos, juguetes y herramientas. El desarrollo de una galería de nubes de este tipo surge de nuestra idea: compartir y desarrollar. En la próxima versión, puede tener acceso a un gran volumen de modelos 3D gratuitos compartidos por aficionados a la impresión en 3D de todo el mundo.

Veamos a continuación los pasos para configurar el modulo 3D WiFi :

  • Descargue la aplicación EasyPrint 3D aquí e instálela siguiendo las instrucciones o también puede descargar la aplicación EasyPrint 3D en Google Play y App Store.
  • Abra la aplicación EasyPrint 3D. Haga clic en el botón [Iniciar sesión] en la interfaz [Me] para finalizar su registro.
Inicia sesión.jpg
  •  Para principiantes, haga clic en [Cuenta] para registrarse. Ingrese su propia información de cuenta.(Nota: no hay espacio en el nombre de usuario. Para usuarios extranjeros, seleccione “Inglés” para la dirección de su servidor).
15 register.jpg   16 register.jpg  17 register.jpg
  •  Haga clic en [Registrarse ahora] y aparecerá una interfaz emergente para que revise su correo electrónico.
20 register.jpg
  •  Haga clic en OK y revise su correo electrónico.
  •  Inicie sesión con la información de su cuenta.

Enlazar la impresora 3D a la aplicación EasyPrint 3D

  • Inicie sesión y enlace la impresora. En [Me] – [Mi impresora 3D], finalice el proceso de encuadernación siguiendo las instrucciones de la aplicación.
  •  Haga clic en [Mi impresora 3D].
13 Me.jpg
  • Haz clic en el botón “Comenzar para enlazar”.
21 empezar a bind.jpg
  • Haga clic en el botón en la imagen de abajo para ingresar el número de serie manualmente.
Image021.jpg   22 número de serie.jpg
  • Haga clic en “Siguiente” y aparecerá la siguiente imagen para informarle que el proceso de encuadernación es exitoso.
Image024.jpg
  • Luego verá la siguiente interfaz, que muestra que la impresora está fuera de línea.
Imagen026.jpg
  • !Ese es todo el proceso de unión.! 

En el siguiente punto, terminaremos las configuraciones de Wi-Fi paso a paso.

Configuración de Wi-Fi

Los procedimientos de configuración detallados son los siguientes:

  •  Conecte su impresora 3D al puerto USB del módulo WiFi 3D con su cable USB para la transmisión de datos. Use el cable de alimentación para conectar el módulo WiFi 3D con su adaptador para encenderlo.
33 (1) .png
  • Compruebe si los tres indicadores luminosos están encendidos: Wi-Fi, USB, fuente de alimentación de izquierda a derecha en orden. Inserte la tarjeta TF en la ranura.
11- (1) .png
  •  Presione prolongadamente el orificio etiquetado con “establecer” con un alfiler, hasta que la luz de Wi-Fi se apague y parpadee rápidamente. Afloje el pin y el Wi-Fi 3D entrará en el modo de configuración. Nota: Si no afloja el pin, la luz parpadeará lentamente para entrar en el modo de reinicio.
  • Abra la aplicación EasyPrint 3D y haga clic en “Imprimir”. En la página de la ventana emergente, haga clic en el ícono “Wi-Fi” para ingresar al modo de configuración de Wi-Fi, como se muestra en la imagen a continuación.
Image032.jpg Image034.jpg Imagen036.png
  • Haga clic en [Siguiente] para comenzar a detectar el Wi-Fi integrado en la impresora. Si se detecta la conexión Wi-Fi, podría ver la siguiente imagen.
Imagen038.png
  • Si no se detecta, aparecerá un mensaje emergente “La impresora no se detectó Wi-Fi”. Haga clic en [Aceptar] y nuevamente haga clic en [Siguiente] para volver a detectar.
Imagen040.jpg
  •  Después de detectar el Wi-Fi integrado en la impresora, haga clic en [Siguiente] y elija un punto de acceso Wi-Fi, como se muestra en la imagen a continuación.
  • Haz clic en [Siguiente]. Si el punto de acceso Wi-Fi necesita una contraseña, la interfaz mostrará el cuadro de entrada de la contraseña de Wi-Fi.Simplemente ingrese la contraseña correcta y luego haga clic en [OK], como se muestra en la imagen a continuación. (si no es necesario ingresar la contraseña, continúe con el siguiente paso).
Image044.png

 

  • Cuando logre conectar la red Wi-Fi, la interfaz mostrará que la configuración ha finalizado. Haga clic en [Aceptar] y la interfaz mostrará que la impresora está en línea.
Imagen046.png Image048.jpg


Hasta aquí, la configuración entre la aplicación y su impresora ha finalizado. Ahora puede imprimir y controlar la impresión a través de la aplicación EasyPrint 3D.

  •  Haga clic en [Siguiente] para comenzar a detectar el Wi-Fi integrado en la impresora. Si se detecta la conexión Wi-Fi, podría ver la interfaz de “Configuración” en su teléfono.
Imagen036.png Image051.png
  • Haga clic en el botón de Wi-Fi para conectar la zona activa “Geeetech-Printer”, como se muestra en la imagen.
Image053.png
  • Haga clic en el botón [Siguiente] en la imagen de abajo.
Image055.png
  •  Ingrese el nombre WLAN y la contraseña de su router. Haga clic en [Aceptar] para conectar su Wi-Fi.
Image057.png
  • Cuando logre conectar el Wi-Fi, la interfaz mostrará que la configuración ha finalizado, como se muestra en la imagen a continuación.
Imagen046.png
  • Haga clic en [Aceptar] y la interfaz mostrará que la impresora está en línea.
Image048.jpg


Hasta aquí, la configuración entre la aplicación y su impresora , de modo  que ya ha finalizado todos los ajustes oportunos. Ahora puede imprimir y controlar la impresión 3d con el modulo  3D WiFi  a través de la aplicación EasyPrint 3D.

 

Resumiendo en el siguiente vídeo podemos ver  todos los pasos de configuración de este modulo 3D WiFi    con la  aplicación easyprint3d:

 

 

 

 

 

Como instalar una pantalla tactil de 5″ en una Raspberry Pi 3


En realidad, en efecto,  es bastante sencillo y “económico”  dotar a nuestra Raspberry Pi 3 de una pantalla táctil  siempre que no optemos por adquirir la version oficial  , la cual es mucho mas cara ( sobre unos 70€  mas gastos de envió  ) en clara  contraposición de  versiones de otras pantallas mas pequeñas pero mas económicas .

La cuestión es que la  pantalla oficial ofrece ,excepto por su tamaño, características muy similares a las de otros fabricantes, pues de  hecho las características de  la version oficial  son las siguientes:

  • Tamaño: 7″
  • Resolución: 800×480 hasta 60fps
  • Color: hasta 24bits
  • Táctil: capacitiva de 10 puntos
  • Placa adicional para hacer la conexión, también que sirve para alimentar la Raspberry Pi 3 por lo que con un solo cable de alimentación tendremos todo funcionando
  • Función dual screen de esta pantalla y la salida HDMI que pueden estar activas de forma simultánea

Es de destacar  que la pantalla al final no es tan nativa como cuentan pues  ademas usa una placa intermedia para convertir la señal de la salida directa de la placa a una señal de un tipo más simple y que abarata el tipo de pantalla. Esta placa básicamente es un convertidor LVDS a  HDMI quedando integrada con la pantalla y con la Raspberry Pi 3 bastante bien pero no mejor que con otras soluciones. Dual screen permitiría usar como pantalla principal un monitor HDMI y mantener esta como secundaria pudiendo hacer cosas como lanzar una app desde esta pantalla TFT, OMXPlayer por ejemplo, y que se vean en la otra, esto da mucho juego pero tampoco quizás no sea  algo tan frecuente .

En contraposición a la pantalla oficial vamos a ver  una  solución mucho  mas barata propuesta por Kuman  que cuenta mas de la mitad  de la solución oficial .(unos 35€  a Amazon.es) El modelo  que vamos  que hemos probado en este blog  es el modelo Kuman 5 Pulgadas , con pantalla resistiva, resolución  800×480  con salida  HDMI para Raspberry Pi 3 2 Modelo B RPI 1 B B + A A + SC5A

Estas son algunas de las características de este modelo de kuman,

  • Pantalla estándar TFT de 5 ‘”
  • Resolución 800 × 480
  • Con pantalla táctil resistiva, control táctil compatible
  • Con control de luz de fondo(  la luz de fondo se puede apagar para ahorrar energía con un interruptor integrado)
  • Es compatible con la entrada de interfaz HDMI estándar
  • Se puede insertar directamente con Raspberry Pi (3ª, 2ª y 1ª generación)
  • Se puede usar como monitor HDMI de uso general, por ejemplo: conectando un ordenador  por medio del HDMI como pantalla secundaria (la resolución debe poder forzar la salida de 800 x 480)
  • Por supuesto se puede usar con Raspberry Pi  siendo compatible con Raspbian, Ubuntu, Kodi, win10 IOT (táctil resistiva)
  • Puede funcionar como monitor de PC  pues es compatible con XP, win7, win8, sistema win10 (no admite touch) touch Certificación CE, RoHS

A diferencia del modelo oficial este modelo de kuman, cuenta con interfaz USB para alimentarlo externamente por ejemplo  para usar la pantalla de forma independiente ,de modo que  cuando se conecta a la Raspberry Pi a través del conector de expansión   de 13×2 se pude  obtener  5V de alimentación del  propio  conector  USB  y obviamente no haya que alimentar  a la  raspberry  y al   modulo   de kuman,de forma independiente,

Respecto al vídeo  al incorporar el interface Interfaz HDMI simplemente hay que conectar un puente macho hdmi- macho hdmi  entre la Raspberry Pi  y la placa de  la pantalla  lo cual ademas permite mantener unidas ambos módulos

Por cierto , cuenta con  interruptor de encendido de la luz de fondo para controlar la retroiluminación encendida y apagarla  cuando no se necesite  para ahorrar energía por ejemplo en aplicaciones portátiles

A diferencia de otras soluciones   la conexión del digitalizador  adherido a  la pantalla se  hace  directamente    por medio del  socket de 13 * 2 pines , el cual ademas sirve   para alimentar con 5V al   modelo de kuman, desde  el pin de potencia de la Rasperry Pi  al mismo tiempo que  se transfiera la señal táctil

De vuelta a la Raspberry Pi algo muy interesante es la interface interfaz extendida  de la placa  pues de la señal 13 * 2   volvemos a tener nuevamente los mismo pines en la placa de control para poderlo usar para  nuestras  aplicaciones   con la importante salvedad que para el digitalizador se usan los pines 19(MI) , 22(IRQ), 21 (MO) , 23 (SCK)  y 26 (TC) , pines que por tanto no deben ser usados en otras aplicaciones.

1) "NC" significa No conectado, los pines "NC" no se utilizan en esta pantalla LCD.
2) SI solo se usa para visualización (sin tocar), puede dejar que este Pin 13 * 2 sea libre, solo conecte el USB ySeñal HDMI para hacerla mostrar.
3) 13 * 2 señales de pin extendidas para el usuario.

Una vez entendida las conexiones de la placa, veamos los pasos para conectar el   modulo de kuman,   a la  raspeberry Pi;

Software

Instalación automática

Con este  modulo de kuman   se adjuntan en un dvd  tres imágenes  con los drivers  ya instalados   y configurados  .Estas  imágenes corresponden   a  tres sabores de Linux:  KALI, RASPBIAN  y UBUNTU , y  que deberemos copiar desde el propio dvd. Estos son los nombres de los ficheros:

  • 5inch_KALI2017.01.7z
  • 5inch_raspbian20180418.7z
  • 5inch-RPI3-RPI2-ubuntu-mate-16.04-beta2.7z

Una vez haya decidido   que imagen vaya   a instalar ( recomendamos la de Raspbian 20180418 ) , necesitara  descomprimir el ficheo con el programa gratuito 7zip

Con la imagen correcta del S.O.  ahora   realice  el formateo de tarjeta TF  usando  SDFormatter

Por ultimo grabe la imagen oficial en la tarjeta TF utilizando Win32DiskImager.
Cuando termine  el proceso , saque la memoria  sd del lector del pc  ,   e introduzca esta en su Raspberry Pi
Observe que las credenciales de acceso  , según la imagen que  haya grabado en la sd son diferentes:

  • <5inch_raspbian20170705> user:pi      password:raspberry
  • <5inch-RPI3-RPI2-ubuntu-mate-16.04-beta2> user:pi password:raspberry
  • <5inch_kali2017.01> user:root  password:toor

Instalación manual

Podemos hacer una instalación  automática  que ya hemos hablado, en la que se han incluido  todos los drivers  necesarios para soportar el digitalizador, o bien podemos hacer la instalación controlada , veamos ahora los pasos a seguir:
En primer lugar necesitamos   instalar la imagen oficial de Raspbian o UbuntuMate ,para  ello descargue desde el sitio web oficial: https://www.raspberrypi.org/downloads/   o https://ubuntu-mate.org/download/ .

Con la imagen correcta del S.O.  ahora   realice  el formateo de tarjeta TF  usando  SDFormatter

Por ultimo grabe la imagen oficial en la tarjeta TF utilizando Win32DiskImage

Ahora nos toca instalar manualmente los drivers para lo cual podemos usar dos métodos parecidos en función de que tenga  la Raspebrry Pi o conexión a internet

Método 1: instalación en línea

En este  método  la Raspberry Pi necesita conectarse a Internet,
Los pasos  a seguir son los siguientes:

  1.  Inicie sesión en la Raspberry Pi usando el programa y Putty SSH (Usuario: pi; Contraseña: raspberry)
  2. Ejecute los siguientes comando (puede hacer clic con el botón derecho del ratón para pegar después de copiarlo en Putty)                                                                                                        git clone https://github.com/goodtft/LCD-show.git
    chmod -R 755 LCD-show
    cd LCD-show/
    sudo ./LCD5-show
  3. Espere hasta finalizar la ejecución del ultimo comando antes de usar el panel LCD

Método 2: instalación fuera de línea

  1. Escanee el código QR en el lado derecho    .
  2. Puede copiar el fichero    llamado  “LCD – show – 160701. The tar. gz” desde  el  DVD   al directorio raíz de la tarjeta del sistema Raspberry Pi; (Sugerencia: copie directamente en su pc  directamente a la tarjeta TF después de completar el paso inicial, o copie por SFTP u otros métodos para copia remota).
  3. Descomprima y extraiga los archivos del disco con los siguientes comandos                                                                                                                cd /boot
    sudo tar zxvf LCD-show-160701.tar.gz
    cd LCD-show/
    sudo ./LCD5-showmo el siguiente comando:cd / bootsudo tar zxvf LCD-show-160701.tar.gzcd LCD-show /sudo ./LCD5-show3)
  4. Cuando termine  el proceso , saque la memoria  sd del lector del pc  ,   e introduzca esta en su Raspberry Pi

Instalación hardware

Una vez tengamos  ya instalado el S.O.   con los drivers del digitalizador , es hora de instalar esta  en nuestras Raspberrry Pi  (i (3ª, 2ª y 1ª generación).
En primer lugar  colocaremos los  4  separadores roscados en la pantalla  >Ahora  solo hay que conecte el zócalo del Pin LCD 13 * 2 a la Raspberry Pi como se muestra en la imagen de abajo.Observe que  encaja en el conector exactamente , pero ademas también debe  encajar uno de los separadores roscados en uno de los orificios de las Rasberry Pi así como debe estar alineados ambos conectores hdmi ( el de la placa con el de la raspberry Pi)  Conecte  ahora  la pantalla LCD y la Raspberry Pi con el adaptador HDMI  espacial .Observe  que debe encajar  el puente hdmi -hdmi  entre ambas placas , lo cual  ademas le dará rigidez mecánica al montaje

Observe por cierto en la parte de atrás abajo a la izda el interruptor que permite apagar la luz de retro-iluminación de la pantalla
A su favor esta placa  también que sirve para alimentar la Raspberry por lo que con un solo cable de alimentación tendremos todo funcionando  y el montaje queda bastante robusto  que difiere por cierto   bastante diferente  la versión  oficial  cuyo conjunto es  un poco endeble con mucho cablecito plano y mucho hilo suelto que no parecen encajar bien con un entorno tipo educativo.

En la imagen  mas abajo podemos ver el montaje terminada a falta de la carcasa , donde se aprecia claramente que es manejable con el dedo   aunque  también  se pueda usar el lápiz táctil que acompaña este kit

Para terminar , si hecha de menos una caja , hay un diseño  que la podemos descargar desde aqui :https://www.thingiverse.com/thing:1698162

Para terminar una nota de aplicación : por si  no nos parece suficiente la  pantalla conectada  a la Raspberry Pi ,   si desconectamos el adaptador  hdmi -hdmi entre la pantalla y la Raspberry Pi , podemos conectar la salida HDMI desde  un ordenador  a la interfaz LCD HDMI mediante un cable normal  HDMI. Luego solo   necesitaremos conectar  el microUSB  del LCD a  un  puerto USB del   pc  mediante un cable USB  y así podremos usar este pequeño LCD , como segundo monitor  o    incluso monitor de   pruebas( obviamente como monitor de pc  la función táctil no estará disponible).

Para terminar , este kit esta accesible en Amazon  por unos 36€

Cámara trasera inteligente con Raspberry Pi. Parte 2


Añadiendo reconocimiento de imágenes

 

En los tutoriales de instalación de OpenCV  se  recomienda compilar desde la fuente; sin embargo, en el último año ha sido posible instalar OpenCV a través de pip, el propio administrador de paquetes de Python. Si bien la instalación desde la fuente le dará el mayor control sobre su configuración de OpenCV, también es la más difícil y la que más tiempo consume. Si está buscando la manera más rápida posible de instalar OpenCV en su sistema, querrá  usar pip para instalar OpenCV, pero hay algunas cosas que pueden hacer que se tropiece en el camino, así que asegúrese de leer el resto de este  post. 

Script  en Python

Ahora  este script    puede  ser nombrado  como  car_detector.py  y lanzarlo desde  la consola  .

Ojo no basta con lanzarlo F5 desde el propio Python pues dará probablemente error a l ahora de importar al libreria cv2, pero no se preocupe situarse en la ruta del scrript  en prython  y   ejecutar

sudo python car_detector.py

IMG_20181113_224935[1].jpg

A partir desde ahí debería funcionar la detección de imágenes  con lo que capte la imagen de  la Raspberry Pi

En el siguiente vídeo podemos ver el script en acción

 

 

Como vemos en elvideo en pequeña escala, lo hizo bastante bien detectando un montón de objetos innecesarios, ( aunque  a veces detecta las sombras como objetos.)En un escenario del mundo real, los resultados fueron sorprendentemente precisos ,pero si es  cerca de las condiciones perfectas, Tenga en cuenta que el código es  básico actualmente y necesitaria muchas más pruebas y depuración)

De los dos métodos,este  método , pero el primer método  es más confiable en múltiples situaciones. Así que si usted fuera a hacer esto para su coche, iría con el método  inicial ( el que usa overlay).

 

 

Conexión hacia la Raspberry Pi via vnc

Ya que se ha conectado exitósamente a la consola de comandos por ssh , seguro que le interesa también poderse conectar tambien  al interfaz gráfico por lo que ahora nos toca instalar y configurar el servidor de VNC sobre Raspberry Pi  en su tablet/smartphone.

Para instalar y configurar el VNC viewer en su tablet/smartphon en  android  siga los siguientes pasos:

  • Descargue la app Vnc Viewwer desde Google Play desde la url  oficial https://play.google.com/store/apps/details?id=com.realvnc.viewer.android
  • Al ejecutar la   app por primera vez le pedira una cuenta de  vnc, de modo qeu si no la tiene tendra que creala desde la propia aplicacion introduciendo una cuenta de correo, un nombre , apellido,pais   y un catcha,
  • En nuestro correo electrónico recibiremos un email que debemos validar para confirmar que  cuenta nos pertenece
  • Una vez que haya confirmado los datos puede intentar volver a entrar en la app VNV Viewer ingresando las credenciales que introdujo
  •  Ahora  siga el procedimiento similar al del ssh
    • Haga clic en el el Boton del signo más en la parte inferior izquierda de la pantalla y seleccione la opción Nuevo Host.
    • Entrar los siguientes datos:

    Alias: cualquier nombre es aceptable como por ejemplo Raspberry Pi 

    Username: pi

    Nombre de host: la  dirección Ip  obatnida con el comando ifconfig

    Contraseña: la pwd que haya puesto

    Los demás campos se pueden dejar espacios en blanco, luego toque la marca de verificación en la derecha superior. Después de eso, haga clic en una Conectar cuando se le preguntó ” Si desea conectar el dispositivo

  • Para  conectarse  a  su Raspberry Pi , dado que ya ha creado la conexión, pulse  sobre el icono nuevo que aparece en la pantalla de inicio
  • Enseguida deberían aparecer   las credenciales de acceso  y probablemente el pwd en blanco que deberemos completar  .
  • Finalmente progresar la conexión  pulsando en CONTINUE
  • Una vez dado el botón de conectar debería aparecer la pantalla principal de Raspbian que ahora podremos controlar desde nuestro smartphone
  • Podemos ver la imagen de la cámara  ahora desde el propio teléfono

Screenshot_2018-11-13-22-55-52-301_com.realvnc.viewer.android[1]

 

Mas información en :https://www.hackster.io/tinkernut/raspberry-pi-smart-car-8641ca

 

Bot de Telegram con Raspberry Pi


Telegram Messenger como todos sabemos  es una famosa aplicación de mensajería y VoIP  desarrollada por los hermanos Nikolái y Pável Dúrov    con altas  capacidades de  alojamiento de contenido (con historial de las conversaciones y mensajes guardados),6​7​ archivos (hasta 1.5 GB, incluyendo documentos, multimedia y animaciones gráficas), búsqueda global de usuarios, sincronización de contactos, llamadas, canales de difusión, supergrupos, entre otros.

Inicialmente en 2013  fue empleado en smartphones pero al poco tiempo en 2014 comenzo a ser  multi-plataforma para más de 10 sistemas operativos: Android, iOS, macOS, Windows, GNU/Linux, Firefox OS, navegadores web, entre otros y actualmente rivaliza  con Whatsapp al que poco a poco esta intentando arrebatando usuarios.

Además de las características citadas  Telegram ,ofrece la plataforma de bots que además de hacer conversaciones inteligentes y pueden realizar otros servicios y complementar la experiencia en las conversaciones.

En este post precisamente nos vamos a centraros  en el uso del bot Botfather para interactuar desde Telegram  con nuestra Raspberry Pi

En primer lugar,para empezar buscaremos  BotFather seleccionando la opción “Bot”

Ahora pretendemos crear un Bot nuevo ,por lo que pulsaremos en crear nuevo o enviaremos  /newbot
Screenshot_2018-11-06-22-34-27-741_org.telegram.messenger[1]
Enseguida nos pedirá un nombre   , como por ejemplo “soloelectronicos_bot”
ademas tenemos qeuñadir un usuario para nuestro bot ,La regla es que debe terminar en bot , como por ejemplo soloelectronicosbot

 Configurar nuestra Raspberry Pi

En primer lugar necesitamos ,  obtener la dirección IP de la Raspberry Pi

Para conocer la dirección IP del Raspberry Pi, tendrá que  conectar la Raspberry Pi  a la alimentación y  deberá tener conexión a  Internet   .

Ahora  desde    un terminal   ejecutar el comando ifconfig. La  salida  desde una Raspberry Pi 3 sera similar a esta:

[email protected]:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.64 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::625:6aec:6f57:df7c prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:67:0c:6f txqueuelen 1000 (Ethernet)
RX packets 661 bytes 45810 (44.7 KiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 585 bytes 202270 (197.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 17 bytes 1004 (1004.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17 bytes 1004 (1004.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:27:eb:32:59:3a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[email protected]:~ $

 

Observe que en negrita casi al principio de la salida del comando donde  nos indica la dirección IP para podernos conectarnos  de forma remota, asi  que recomendamos que la anote aparte.

raspberrypi

Una vez que tenemos la ip   si antes no  se ha conectado de forma remota asegúrese de que esta habilitado la conexión tanto por SSH como por VNC , para lo cual  nos iremos a Preferencias-->Configuración de la Raspberry Pi y seleccionaremos la pestaña Interfaces.

Es esta pantalla , debemos seleccionar SSH y VNC . Finalmente pulsaremos aceptar  pero  para que se apliquen los cambios tendremos que reiniciar la Raspberry  Pi

 

ssh.PNG

Por cierto, si no recuerda la clave que escribió en la primera configuración debería ir a  Preferencias–>Configuración de la Raspberry Pi y en la pestaña Sistema pulsar cambiar clave, pues sera esta la que tendrá que escribir casa vez que intente conectarse a la Raspberry Pi

 

clave.PNG

Ahora nos conectaremos  con el vnc ingresando la dirección ip de l aRaspeberry Pi obtenida, anteriormente , el  nombre de usuario ( suele ser pi )   y la password

Ahora por si estamos en una version antigu de Python ( la version ultima ya lo incluye ) deberiamos instalar  el indice de paquetes Python

sudo apt-get install python-pip
 sudo pip install telepot

 Ejecutar el código de Python

Ahora ya tenemos todos los ingredientes faltándonos tan solo el script en python que nos permitirá   transcribir la información enviada por Telegram si corresponde con nuestro Token  ,   hacia   ordenes   qeu pueden ser procesada  por la Raspberry Py

El script en  Python escrito  por Salman Faris es bastante sencillo  pues tras importar los modulos necesarios , define el pin 11  con dos estados (on  y off) y en funcion de las ordenes que reciba del Telegram   pondrá o no a nivel alto dicho pin

Este el código completo del script escrito por Salman:

#coder :- Salman Faris

import sys
import time
import random
import datetime
import telepot
import RPi.GPIO as GPIO

#LED
def on(pin):
            GPIO.output(pin,GPIO.HIGH)
return  def off(pin):
           GPIO.output(pin,GPIO.LOW)
return

# para numerar en  la  placa  Raspberry Pi por el numero de los pines

GPIO.setmode(GPIO.BOARD)

# configurar el canal de salida del GPIO

GPIO.setup(11, GPIO.OUT)

bot = telepot.Bot('TOKEN OBTENIDO DESDE TELEGRAM')

def handle(msg):
chat_id = msg[‘chat’][‘id’]
command = msg[‘text’]

print ‘Got command: %s’ % command

if command == ‘on’:
bot.sendMessage(chat_id, on(11))
elif command ==’off’:
bot.sendMessage(chat_id, off(11))

bot = telepot.Bot(‘Bot Token’)
bot.message_loop(handle)
print ‘I am listening…’

while 1:
time.sleep(10)

 

Podemos sencillamente  clonar el script anterior desde  el respositorio  git de Salman mediante  el siguiente camando  git clone:

git clone https://github.com/salmanfarisvp/TelegramBot.git 

[email protected]:~ $ git clone https://github.com/salmanfarisvp/TelegramBot.git
Cloning into ‘TelegramBot’…
remote: Enumerating objects: 25, done.
remote: Total 25 (delta 0), reused 0 (delta 0), pack-reused 25
Unpacking objects: 100% (25/25), done.
[email protected]:~ $

Ahora  tenemos  que asignar el Token obtenido  en pasos anteriores al script por lo tendremos que editar  desde el editor de texto de Python    y  escribir  ahí su valor

 bot = telepot.Bot('TOKEN OBTENIDO DESDE TELEGRAM') 

Salvaremos los cambios  y ejecutaremos  el código  bien con F5 desde el entorno de programacion de Python o bien desde shell  mediante la siguiente orden:

python telegrambot.py 

Ahora  si conectamos un led entre el pin 11 y masa podremos activarlo o desactivarlo desde Telegram enviando al bot  las frases  “on” y “off”: inmediatamente, estemos donde estemos deberiamos poder encender  el LED  o apagarlo  cuando envíamos “on” y “off” a nuestro bot desde Telegram.

 

Obviamente puede modificar el script base de Salman para activar mas cargas ( de hecho hasta 26)  que obviamente pueden ser mas complejas que un  sencillo led ,  como puede ser  un rele , motor , etc mediante el driver adecuado     y a  traves de ordenes desde Telegram ( por ejemplo on1, off1, on2, etc) 

 

 

Cómo conectarse a una Raspberry Pi desde un smartphone


No siempre esta fácilmente accesible un ordenador para conectarnos cómodamente desde ssh o por vnc   o tal vez no tenga un segundo teclado o ratón disponibles, así que ¿porque no intentar acudir a  una  smartphone  o tableta para conectarnos desde allí ?

 

Screenshot_2018-11-04-23-01-45-352_com.realvnc.viewer.android[1]

 

Pues en  efecto es posible conectarse a una Raspberry Pi desde un smartphone o tableta , y de forma muy sencilla ,como vamos a  ver a  continuación, pero para ello, en primer lugar necesitamos ,  obtener la dirección IP de la Raspberry Pi

Para conocer la dirección IP del Raspberry Pi, tendrá que  conectar la Raspberry Pi  a la alimentación , deberá tener conexión a  Internet   .

Ahora  desde    un terminal   ejecutar el comando ifconfig. La  salida  desde una Raspberry Pi 3 sera similar a esta:

[email protected]:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.64 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::625:6aec:6f57:df7c prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:67:0c:6f txqueuelen 1000 (Ethernet)
RX packets 661 bytes 45810 (44.7 KiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 585 bytes 202270 (197.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 17 bytes 1004 (1004.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17 bytes 1004 (1004.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:27:eb:32:59:3a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[email protected]:~ $

 

Observe que en negrita casi al principio de la salida del comando ,  el comado nos indica la dirección IP para podernos conectarnos  de forma remota, asi  que recomendamos que la anote aparte.

Una vez que tenemos la ip   si antes no  se ha conectado de forma remota asegúrese de que esta habilitado la conexión tanto por SSH como por VNC , para lo cual  nos iremos a Preferencias-->Configuración de la Raspberry Pi y seleccionaremos la pestaña Interfaces.

Es esta pantalla , debemos seleccionar SSH y VNC . Finalmente pulsaremos aceptar  pero  para que se apliquen los cambios tendremos que reiniciar la Raspberry  Pi

 

ssh.PNG

Por cierto, si no recuerda la clave que escribió en la primera configuración debería ir a  Preferencias–>Configuración de la Raspberry Pi y en la pestaña Sistema pulsar cambiar clave, pues sera esta la que tendrá que escribir casa vez que intente conectarse a la Raspberry Pi

 

clave.PNG

Conexión hacia la Raspberry Pi por ssh

Lo  primero  que quizás se nos ocurra es la la conexión de Pi con teléfono via  SSH cliente):SSH (Secure Socket Shell), el cual  es un protocolo de acceso  muy común a todo los equipos unix  y Linux que nos da acceso a la consola de comandos

Existe  una app llamada  Serverauditor  que se puede descargar desde la store de Android (Google Play ) gratuitamente. Asimismo también está disponible para dispositivos iOS.

Asegúrese de que el smartphone o tableta y la Raspberry  Pi están en la misma red para poder realizar la conexión

Los pasos para instalar Serverauditor en el teléfono:

Alias: cualquier nombre es aceptable como por ejemplo Raspberry Pi 

Username: pi

Nombre de host: la  dirección Ip  obtenida con el comando ifconfig

Contraseña: la pwd que haya puesto

Los demás campos se pueden dejar espacios en blanco, luego toque la marca de verificación en la derecha superior. Después de eso, haga clic en una Conectar cuando se le preguntó ” Si desea conectar el dispositivo

  • Nota:Nombre de usuario y contraseña son los de frambuesa Pi. Si uno ha cambiado del predeterminado, necesita entrar con el actual nombre de usuario y contraseña.
Screenshot_2018-11-04-22-30-22-624_com.server.auditor.ssh.client[1]

Ahora  ya tiene un modo muy sencillo de ejecutar consola de Raspberry Pi en la pantalla así que !disfrútelo!.

En el vídeo siguiente precisamente podemos ver el programa en funcionamiento

Conexión hacia la Raspberry Pi via vnc

Ya que se ha conectado exitósamente a la consola de comandos por ssh , seguro que le interesa también poderse conectar tambien  al interfaz gráfico por lo que ahora nos toca instalar y configurar el servidor de VNC sobre Raspberry Pi  en su tablet/smartphone.

Para instalar y configurar el VNC viewer en su tablet/smartphon en  android  siga los siguientes pasos:

  • Descargue la app Vnc Viewwer desde Google Play desde la url  oficial https://play.google.com/store/apps/details?id=com.realvnc.viewer.android
  • Al ejecutar la   app por primera vez le pedira una cuenta de  vnc, de modo qeu si no la tiene tendra que creala desde la propia aplicacion introduciendo una cuenta de correo, un nombre , apellido,pais   y un catcha,
  • En nuestro correo electrónico recibiremos un email que debemos validar para confirmar que  cuenta nos pertenece
  • Una vez que haya confirmado los datos puede intentar volver a entrar en la app VNV Viewer ingresando las credenciales que introdujo
  •  Ahora  siga el procedimiento similar al del ssh
    • Haga clic en el el Boton del signo másen la parte inferior izquierda de la pantalla y seleccione la opción Nuevo Host.
    • Entrar los siguientes datos:

    Alias: cualquier nombre es aceptable como por ejemplo Raspberry Pi 

    Username: pi

    Nombre de host: la  dirección Ip  obatnida con el comando ifconfig

    Contraseña: la pwd que haya puesto

    Los demás campos se pueden dejar espacios en blanco, luego toque la marca de verificación en la derecha superior. Después de eso, haga clic en una Conectar cuando se le preguntó ” Si desea conectar el dispositivo

  • Para  conectarse  a  su Raspberry Pi , dado que ya ha creado la conexión, pulse  sobre el icono nuevo que aparece en la pantalla de inicio
  • Enseguida deberían aparecer   las credenciales de acceso  y probablemente el pwd en blanco que deberemos completar  .
  • Finalmente progresar la conexión  pulsando en CONTINUE
  • Una vez dado el botón de conectar debería aparecer la pantalla principal de Raspbian que ahora podremos controlar desde nuestro smartphone  haciedo uso de las herramientas que nos aparecen en la parte superior de la pantalla

 

Screenshot_2018-11-04-23-01-45-352_com.realvnc.viewer.android[1]

  • Para faciliar el manejo VNC sin teclado  y ratón   clásicos  aparte de la barra de herramientas , este  programa  añade soporte de gestos con los dedos  para  facilitarnos la interaccion con Raspbian:

Screenshot_2018-11-04-23-00-59-320_com.realvnc.viewer.android[1]Screenshot_2018-11-04-23-00-52-332_com.realvnc.viewer.android[1]

 

NOTA: En caso de versiones MUY  antiguas de Raspbian que no traigan VNC instalado deberá instalar al version servidor de VNC  en la Raspberry Pi de forma manual desde consola por   línea de consola, para ello introduzca los siguientes comandos en orden.

  1.  Instalar el paqueete TightVNC paquete:  sudo apt-get install tightvncserver
  2. Ejecutar servidor TightVNC; tightvncserver
  3. Se le pedirá que introduzca una contraseña y una contraseña de sólo lectura opcional.
  4. Crear un archivo de secuencia de comandos para iniciar el servidor VNC. Use Oeditor de texto  escribiendo el siguiente comando:nano
  5. Poner el siguiente script en él: #!/bin/sh  vncserver :1 -geometry 1920×1080 -depth 24 -dpi 96
  6. “Ctrl+o” para guardar el archivo. La extensión debe ser “.sh” por ejemplo llamelo “vnc.sh”. A continuación, “Ctrl + X” para salir del editor de.
  7. Hacer el archivo ejecutable.sudo chmod +x vnc.shCon este archivo, puede iniciar servidor VNC desde tu tablet/smartphone enviando un comando a través de SSH: ./vnc.sh dsfs

 

 

 

:

 

Cámara trasera inteligente con Raspberry Pi. Parte 1


El término “Coche inteligente” puede tener miles de significados diferentes dependiendo a quién le preguntemos., así que empecemos con una definición   modesta  de algunos componentes que podemos añadir :

  • Información básica sobre el coche, como la marcha engranada, eficiencia de combustible, horas de conducción ,etc.
  • Ayudas a la conducción de tipo ADAS , siendo   los mas comunes la puesta en marcha del  coche delantero, acceso involuntario a línea de separación de carril o aviso de colisión por vehículo delantero que circula  muy próximo
  • Cámara trasera inteligente que avise si un objeto está demasiado cercano
  • etc

Del primer punto lo hemos comentado en diferentes post , explicando que para automóviles de unos 10 años, es decir que cuentan con interfaz ODB2,  es relativamente simple añadir un HUD con toda esta información  con  un HUD conectado por ODB2

Resumidamente los sistemas ADAS  de ayuda  a  la conducción  mas usuales son las siguientes:

  • FCWS   del ingles  Forward Colission Warning Sytem (advertencia de colisión delantera) ayuda al conductor a mantenerse a una distancia segura del vehículo delantero y alerta a los conductores de una colisión inminente con advertencias visuales y audibles.Este sistema permite al dispositivo detectar cuando no se mantiene una distancia segura entre su vehículo y el vehículo delante de usted. El dispositivo determinará la velocidad de su vehículo calculando una distancia estimada de siguiente segura basada en su velocidad.Normalmente para que esta  función pueda estar habilitada se  debe estar  viajando a más de 48KM/H ( a una velocidad de menos de 32 KM/H, se suele  desactivar la función). Precisamente por esta limitacion el FCWS no puede detectar los vehículos que están  alejados más de 40m  o más cerca de 5m.

fcw.png

  • LDWS  del inglés Lane Departure Warning  System  ( SISTEMA DE  ADVERTENCIA DE SALIDA DE CARRIL) monitorea las marcas del carril y avisa al conductor con advertencias visuales y audibles cuando ocurre una salida involuntaria del carril sin la notificación de la señal de giro.Es un mecanismo diseñado para advertir al conductor cuando el vehículo empieza a moverse fuera de su carril (salvo que una señal de la vuelta en esa dirección) en las autopistas y carreteras de la zona. Este sistema está diseñado para minimizar los accidentes por abordar las principales causas de colisiones: error del conductor , distracción y somnolencia.

ldw

  • HMW( VIGILANCIA Y ADVERTENCIA DEL AVANCE DE PISTA)- Mide la distancia al vehículo que está por delante (“headway”) en segundos. Ayuda al conductor a mantener una distancia segura de conducción. Alerta al conductor al entrar en una zona predefinida de “avance peligroso”

.hmw.png

  • FVSA (ALARMA DE INICIO DEL VEHÍCULO DELANTERO ) Notifica al conductor si el vehículo delantero comienza a avanzar en el estado parado completo y el coche del conductor no se mueve en 2 segundos.

fvsa

Casi todas estas ayudas ADAS  están implementadas  en  numerosas cámaras  disponibles en el mercado como vismo en este post destacando por voz propia  el modelo Dash de Garmin

Respecto al ultimo punto de cámaras traseras  , hay muchos kits para  añadir una cámara  trasera a  nuestro vehículos usando una conexión analógica de video compuesto , lo cual se traduce en  que la mayoría de ellas requieren hacer modificaciones al coche  ,por  ejemplo para ubicar la cámara en el porta-matriculas  , o fijar la pantalla especifica   de modo que no siempre en sencilla su instalación .Además las cámaras traseras comentadas requieren una  fuente de alimentación externa alimentándose con los  cables de las luces de atrás de su coche para que automáticamente se enciendan cuando el coche está en marcha lo cual tampoco le  gusta a muchas personas .

Dado que el mercado no ofrece por  el momento soluciones mas avanzadas una idea es usar la Raspberry Pi pues es la plataforma perfecta  porque básicamente es un mini ordenador con un montón de entradas y salidas.

Al conectar una cámara a la Pi, se puede utilizar prácticamente cualquier webcam USB genérica, o  por supuesto  mejor puede usar una  Cámara Pi conectada al conector DSI pues estas ofrecen una mayor calidad , versatilidad y  no  requiere una fuente de alimentación separada (pero asegúrese de tener un montón de cable para ir a la parte posterior del coche)

Solución con Raspberry Pi

Gracias a una Raspberry Pi  por medio del procesamiento de imágenes en efecto  podemos  hacer más inteligente nuestro vehículo y añadir  nuevas funcionalidades

Para esta idea  podemos  usar  los siguientes componentes:

 

Conexión del módulo de cámara

El modulo de cámara de Pi  tiene un mayor rendimiento que una cámara USB  por lo que lo ideal es usar una cámara del tipo compatibles con Raspberry Pi  (se puede comprar por unos 15€ en Amazon) 

No es  problema  la distancia pues con un cable plano  de 200 cm suele ser suficiente para llevar la cámara  hasta la  posición de conducción (puede comprarlo   aqui en Amazon por unos 7,29€ )

Se puede pues llevar el cable plano al l frente del coche y luego conectado a una pantalla de táctil de 7″ de modo que  la Pi y la pantalla táctil pueden ser alimentados por el adaptador USB en el coche.

Estos  son los pasos para instalar la cámara especifica para su uso , con la Raspberry Pi 

    • Localice el puerto de la cámara y conecte la cámara:Connect the camera
    • Poner en marcha la Raspberry Pi 
    • Abra la Herramienta de configuración de frambuesa Pi desde el menú principal:Raspberry Pi Configuration Tool
    • Asegúrese de que está activado el software de la cámara:Camera software enabled
    • Si no está activado, habilítelo y reinicie su Pi para comenzar. Asimismo si va utilizar una pantalla táctil también necesitara activar I2C  y SPI

Es decir resumidamente;  con la Raspberry Pi apagada, debe conectar el módulo de la cámara al puerto de la cámara de la Raspberry Pi,ahora encienda el Pi  y asegúrese de que se activa el software.

Conexión de un pantalla táctil(opcional)

Existen pantallas TFT para Raspberry Pi con  resolución de 320×240 (16-bits) que además son táctiles con una pantalla resistiva. Se entregan montadas y suelen ser  compatible con los modelos Raspberry Pi Model A+, B+ y Pi 2  disponiendo  además de de un conector de 40 pines para los GPIO.

La pantalla y el digitalizador   utilizan los pines I2C (SDA y SCL), SPI (SCK, MOSI, MISO, CE0) y los pines GPIO #24 y #25. Todos los demás pines GPIO no se utilizan así que podrá conectar más cosas como sensores, LEDs etc. Algunos modelos disponen deposiciones para pulsadores miniatura (no incluidos) por si quiere hacer algún otro tipo de interfaz de usuario.

Puede utilizarla utilizar la librería PyGame u otra librería SDL para dibujar directamente en el frame buffer y hacer interfaces propios.

Tenga en cuenta que para que funcione debe tener activado el I2C en tu Pi o se quedará en blanco. Si utiliza la imagen de Adafruit funcionará sin problema, sino puedes ver su tutorial para ver cómo hacerla funcionar.

La conexión de este tipo de pantallas suele ser por el  propio conector de 25 pines  y por hdmi con un adaptador

Respecto al sw, estos son los pasos  que puede  seguir;

!Ojo el conector plano de la pantalla pues es MUY frágil y debe manejarse con cuidado.!

Montaje final

Una vez montada  la pantalla y la cámara , encender el coche, la Pi y la pantalla . Para ver la camara   de la Pi, abra el terminal y ejecute simplemente  el  siguiente  script:

raspivid -t 0

o

raspivid -t 0 --mode 7

Después de entrar esto ,   la imagen captada por la cámara debería aparecer  en pantalla  completa , pero  !ojo !  no lo veremos  si estamos conectado via VNC!, es decir ,solo si estamos conectados a la propia  Raspberry Pi .

Lo bueno de a Raspberry Pi  es que se puede mejorar  esta forma básica , y tal vez incluso establecer un sistema de alerta si un objeto esta   demasiado cerca , así que, ! vamos a trabajar en ese lado!

 

DETECCIÓN DE OBJETOS

Cuando se trata de aplicaciones de  cámaras de seguridad comerciales, generalmente hay al menos dos versiones  .La primera utiliza una superposición de una imagen estática con gamas de color para que visualmente puede determinarse cuánto de  cerca está un objeto. El segundo método utilizara una cámara junto con sw  que puede detectar un objeto qué tan cerca esta al coche y luego avisa cuando algo está demasiado cerca
Veamos en este post en primer lugar le método de overlay, el cual por cierto es el mas usado en los implementaciones de cámaras traseras de coches actuales.