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:

pi@raspberrypi:~ $ 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

pi@raspberrypi:~ $

 

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 con Raspberry PI para coche basada en Android


En efecto  simplemente podemos  usar una Raspberry 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  (piénsese que  solemos llevar  siempre  un smartphone y además 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 verifique su interfaz WiFi  con  el comando :ifconfig (buscar la ip asociada a Interfaz WiFi) y una vez seap el  nombre de interfaz WiFi así  , 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 Raspberrry 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 cámara 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 su Raspberry Pi una dirección IP estática (pasos detallados en el manual de PDF en https://alikamouche.files.wordpress.com/2018/03/rearpi_documentation_v1-33.pdf&xid=17259,15700021,15700124,15700149,15700186,15700190,15700201,15700214&usg=ALkJrhiuPbc9sJgGmYqz3h80veN8a7Yx3g).
  •  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 cámara 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  que la ventaja de esta cámara es que la podrá usar como cámara de vigilancia con uno leds infrarojos para iluminar la zona.