Raspberry Pi como centro de entretenimiento al volante


El proyecto, desarrollado por Michal Szwaj, plantea un sistema para un vehículo  en el que es posible controlar la reproducción multimedia   o acceder a los mapas de Google, aunque de momento no  ofrece funciones como la navegación GPS, pero la versatilidad de la Raspberry Pi   con el soporte Bluetooth ,hace que esa opción no parezca difícil de implementar.

OpenAuto,  es un proyecto que con una Raspberry Pi 3 y una pantalla táctil nos da acceso a unas funciones muy similares a las que ofrece Android Auto, basándose en la  biblioteca  aasdk y librerías Qt siendo el objetivo principal  ejecutar esta aplicación en una placa  de RaspberryPI 3 sin problemas. El proyecto se basa en la instalación de una distribución Linux, Raspbian Stretch, a la que luego se le añaden librerías como las célebres Qt para poder ejecutar las aplicaciones orientadas a ser utilizadas en el coche.

A la Raspberry Pi 3 se le conecta una pantalla táctil (480p, 720p o 1080p)  pues  este es recomendable para la interacción con el sistema. Completar el proceso es relativamente sencillo, y tanto el código fuente como las instrucciones de instalación están disponibles públicamente en GitHub .

Las funcionalidades soportadas  son las siguientes:

  • 480p, 720p y 1080p con 30 o 60 FPS.
  • Aceleración de hardware de RaspberryPI 3 soporte para decodificar la secuencia de vídeo (hasta 1080p@60).
  • Reproducción de audio de todos los canales de audio (los medios de comunicación, sistema y discurso).
  • Entrada de audio para comandos de voz.
  • Pantalla táctil y soporte de  botones de entrada.
  • Bluetooth.
  • Lanzamiento automático después de dispositivo hotplug.
  • Detección automática de dispositivos Android conectados.
  • Modo inalámbrico (WiFi) mediante servidor de unidad principal (debe estar habilitado en configuración desarrollador ocultos).
  • Configuración fácil de usar.

 

Electrónica necesaria

Sin duda , aparte de la propia Rasberry Pi  3 , el display  táctil es un componte  fundamental en este proyecto. Con una resolución de 800×480 el modulo oficial de display +sensor se conecta a la Raspberry Pi  3 a través de una placa  adaptadora que se encarga de controlar la alimentación y la señal de vídeo.

Solo se necesitan dos conexiones de la Raspberry Pi 3 : la  alimentación desde el conector GPIO y el cable plano al conector DSI, presentes en todas las Raspberry.

El kit incluye:

  • Pantalla 7″ multitáctil 10 puntos
  • Placa conversara
  • Cable plano DSI
  • 4x tornillos para ajustar la Raspberry a la pantalla
  • 4x cables para conectar la pantalla a la Raspberry

En el siguiente video se puede ver el proceso de  montaje de este kit.

https://youtu.be/tK-w-wDvRTg

El controlador táctil ofrece 10 puntos de presión, por lo que el usar teclados en pantalla como el integrado en Raspbian lo hacen realmente sencillo.

Este kit convierte pues  una Raspberry en una tableta multitáctil, sistema de información o dispositivo independiente.Es realmente interactivo  pues la ultima version de Raspbian soporta teclado virtual en pantalla, así que no se necesita conectar un teclado y un ratón físicos ni por supuesto una pantalla externa.

Como podemos ver Android Auto se ejecuta en una Raspberry Pi 3 con la pantalla táctil oficial de 7 pulgadas anteriormente citada.  Estos son los componentes esenciales para implementar  este proyecto:

  • Pantalla táctil oficial de Raspberry Pi de  7″
  • Raspberry Pi 3
  • Convertidor C-DC Converter de 5v
  • Tarjeta USB de sonido ( para mejorar el sonido de la Raspberry)
  • Camera para Raspberry Pi 
  • Adaptador  por cable  hdmi  para la cámara  para llevar ésta desde la parte atrás del vehículo hasta el frontal de coche por medio de un cable hdmi standard (estos dos adaptadores se   pueden buscar en portales  orientales como «Pi Camera HDMI Cable Extension»)
  • Caja a  medida,  o si no tiene ganas de construir su propio gabinete, puede comprar fundas de plástico genéricas hechas por «Smarticase»

 

 

 

Raspvid

raspivid es la herramienta de línea de comandos para capturar vídeo con el módulo de cámara nativo de Raspberry. Con el modulo de cámara conectado y activado, se puede grabar un vídeo utilizando el siguiente comando:

raspivid -o vid.h264

Recuerde que debe utilizar y para voltear la imagen si es necesario, como con raspistill-hf-vf (esto guardara un archivo de vídeo 5 segundo en el camino dado aquí como (longitud por defecto de tiempo).vid.h264)

Para especificar la longitud del vídeo tomado, pase en la bandera con un número de milisegundos. Por ejemplo:-t raspivid -o video.h264 -t 10000  (Esto graba 10 segundos de video.)

Para una lista completa de las opciones posibles, ejecutar sin argumentos, o este comando a través de y desplácese a través de la pipa:raspividless

raspivid 2>&1 | less

Utilice las teclas de flecha para desplazarse y el tipo de salida.q

Para ver la cámara trasera ejecutar raspvid seguido de los  parámetros  , como por ejemplo:

raspvid  -t 5000

raspvid -t 0

raspvid -t  -vh

raspvid -t 0 -vf ( invierte la imagen)

raspvid -t 0 -hf -vf

 

 Instalar aasdk en Raspberri PI 3

  1. Instalar el software necesario

 sudo apt-get install -y libboost-all-dev libusb-1.0.0-dev libssl-dev cmake libprotobuf-dev protobuf-c-compiler protobuf-compiler

  1. Repositorio de aasdk clon

$ cd

$ git clone -b master https://github.com/f1xpl/aasdk.git

  1. Crear el directorio aasdk_build en el mismo nivel que aasdk dir

$ mkdir aasdk_build

$ cd aasdk_build

  1. Generar archivos de cmake

$ cmake-DCMAKE_BUILD_TYPE = lanzamiento… /AASDK

  1. Construir aasdk

$ make

Instalar el resto de sw en Raspberry PI 3

  1. Instalar el software necesario

$ sudo apt-get install -y libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediawidgets5 qtmultimedia5-dev libqt5bluetooth5 libqt5bluetooth5-bin qtconnectivity5-dev pulseaudio librtaudio-dev librtaudio5a

  1. Construir ilclient de frambuesa PI 3 firmware

$ cd /opt/vc/src/hello_pi/libs/ilclient

$ make

  1. Repositorio de Open clon

$ cd

$ git clone -b master https://github.com/f1xpl/openauto.git

  1. Crear el directorio openauto_build en el mismo nivel que Open dir

$ mkdir openauto_build

$ cd openauto_build

  1. Generar archivos de cmake

Nota: Si es necesario, ajustar los path  a su localización de directorios aasdk y aasdk_build.

$ cmake -DCMAKE_BUILD_TYPE=Release -DRPI3_BUILD=TRUE -DAASDK_INCLUDE_DIRS=»/home/pi/aasdk/include» -DAASDK_LIBRARIES=»/home/pi/aasdk/lib/libaasdk.so» -DAASDK_PROTO_INCLUDE_DIRS=»/home/pi/aasdk_build» -DAASDK_PROTO_LIBRARIES=»/home/pi/aasdk/lib/libaasdk_proto.so» ../openauto

  1. Construir OpenAuto

$ make

  1. Ejecutar Open

$ /home/pi/openauto/bin/autoapp

Añadir Open a autorun

  1. Archivo abrir autostart

$ sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

  1. Agregar debajo de línea al final del archivo autorun

@/ hogar/pi/Open/bin/autoapp

 

Apagar  Raspbery PI 3 cuando el teléfono se está desconectando

  1. Archivo abierto openauto.rules

$ sudo nano /etc/udev/rules.d/openauto.rules

  1. Añadir a continuación las líneas al final del archivo openauto.rules

SUBSISTEMA == «usb», acción == «add», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 00» RUN += «/ bin/sh – c ‘ / sbin/shutdown – c & & echo 0 > /sys/class/backlight/rpi_backlight/bl_power'»

SUBSISTEMA == «usb», acción == «add», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 01», RUN += «/ bin/sh – c ‘ / sbin/shutdown – c & & echo 0 > /sys/class/backlight/rpi_backlight/bl_power'»

SUBSISTEMA == «usb», acción == «remove», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 00» RUN += «/ bin/sh – c ‘ / sbin/shutdown: apagado 1 & & echo 1 > /sys/class/backlight/rpi_backlight/bl_power'»

SUBSISTEMA == «usb», acción == «remove», ENV {ID_VENDOR_ID} == «18d 1», ENV {ID_MODEL_ID} == «2d 01», RUN += «/ bin/sh – c ‘ / sbin/shutdown: apagado 1 & & echo 1 > /sys/class/backlight/rpi_backlight/bl_power'»

Este  script va a hacer las siguientes acciones:

  1. Desactivar el apagado de pantalla y programar de forma  retrasada  por 1 minuto cuando el teléfono se está desconectando
  2. Encender la pantalla y cancelar el apagado cuando el teléfono se está conectando

Puede ajustarse el  retraso de 1 minuto para sus necesidades.

 

Reglas de udev (permisos de USB)

Para utilizar Open con sistema operativo basado en Linux (por ejemplo, Raspbian) con udev, debe crear una regla para permitir la comunicación con los dispositivos USB en modo de lectura/escritura.

La regla más simple parece debajo de uno:

SUBSISTEMA == «usb», atributos {idVendor} == «*», atributos {idProduct} == «*», MODE = «0660», grupo = «plugdev»

Para agregar esta regla de udev, hacer:

$ cd /etc/udev/rules.d

$ sudo touch openauto.rules

$ sudo nano openauto.rules

Aplique estas reglas, guarde el archivo y reinicie el dispositivo.

Tenga en cuenta que la regla anterior permite  abrir cualquier dispositivo USB en modo de lectura/escritura por cualquier aplicación instalada en el sistema. Considerar como insegura.

Configuración de PulseAudio

Paquetes audio de AndroidAuto se entregan en trozos muy pequeños. Debido a esto podrían necesitarse ajustes de configuración de PulseAudio para evitar problemas con el audio.

Añadir/anulación por debajo de las líneas en /etc/pulse/daemon.conf

resample-method = ffmpeg

En /etc/pulse/default.pa añadir tsched = 0 en la línea de ‘carga-módulo módulo-udev-detect’

load-module module-udev-detect tsched=0

Después de cambios de configuración debe reiniciar la instancia de pulseaudio. Puede hacerlo con  la ejecución del comando  pulseaudio -k .

 

Fuente https://github.com/f1xpl/openauto/wiki/Build-instructions

 

ELECTRÓNICA ADICIONAL

Para facilitar el manejo  de openAuto  y extender su funcionamiento  Everlanders ha conectado 4 pulsadores directos para activar la cámara, variar el brillo o despertar la placa

No deja de ser importante el  apartado de alimentación  pues en la Raspberry Pi 3 es de 5v DC 2amp y en un automóvil es de 12V  requiriéndose  un convertidor   dc-dc  .Obviamente en los tiempos que correen ,es mucho mas eficiente  un convertidor conmutado 12v-5v  que un regulador  7805

También ,por ultimo para detectar la marcha atrás ,es muy  interesante usar un opto-acoplador para aislar a la Raspberry Pi 3 de posibles problemas ele ctricos   en el automovil dado el aislamiento galvánico que nos ofrecen los optoaisladores.

El esquema final de este montaje completamente opcional es el siguiente:

esquema.PNG

Para manejar los pulsadores se requieren   los siguientes tres siguientes scripts escritos por el  Everlands:

LightMonitor.py

Este script en Python sirve  para atenuar la pantalla y cambiar a la cámara de retroceso. Recuerde, que es interesante usar un optoacoplador para detectar la marcha atrás con los la lógica se invierte … 0 = encendido 1 = apagado. Ademas, solo se debe ejecutar uno de estos scripts de «Monitor», es decir  no puede estar ejecutando RearviewMonitor.py Y LightMonitor.py

CODIGO DE LIGTMONITOR.PY

#!/usr/bin/python

import RPi.GPIO as GPIO
import time
import subprocess, os
import signal
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
RearView_Switch = 14 # pin 18
Brightness_Switch = 15 # pin 16
#Extra_Switch = 1 # pin 3
GPIO.setup(RearView_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Brightness_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)

print » Press Ctrl & C to Quit»

try:

run = 0
bright = 0
while True :
time.sleep(0.25)

# esto restringe la secuencia de comandos para verificar las luces cada 1/4 de segundo. #No tiene sentido revisar 10.000 veces por segundo.

# Si se encienden las luces de marcha atrás, hacer esto:
if GPIO.input(RearView_Switch)==0 and run == 0:
print «Switching Rearview Camera On»
rpistr = «raspivid -t 0 -vf -h 480 -w 800»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 1

Cuando las luces de marcha atrás se apagan, hacer esto:

if GPIO.input(RearView_Switch)==1 and run == 1:
os.killpg(p.pid, signal.SIGTERM)
print «Killing the reverse camera feed»
run = 0

# Estos dos bloques siguientes monitorean los faros o la luz del marcador y ajustan la #configuración de brillo de la pantalla.

if GPIO.input(Brightness_Switch)==0 and bright == 0:
print «Setting Brightness to 20» # 20 is about 10%
subprocess.call («/usr/local/bin/backlight.sh 20», shell=True)
bright = 1

if GPIO.input(Brightness_Switch)==1 and bright == 1:
print «Setting Brightness back to 255» #255 is 100%
subprocess.call («/usr/local/bin/backlight.sh 255″, shell=True)
bright = 0

except KeyboardInterrupt:
print » Quit»
GPIO.cleanup()

 

backlight.sh

Este script en cshell sirve par ajustar el nivel de luminosidad de la pantalla oficial qeu hemos conectado a la raspberry. Como es de esperar acepta  un parámetro que es precisamente un entero entre 0 y 255

CODIGO SCRIPT BACKLIGHT

#!/bin/bash

level=$1
#echo «level given is $level»

if [ $# != 1 ]; then
echo «USAGE: $0 brightness_level (0 to 255)»
exit 1
fi

if [[ $level -ge 0 && $level -le 255 ]]; then
#echo «level given is $level»
echo $level > /sys/class/backlight/rpi_backlight/brightness
echo «Screen brightness set to $level.»
exit 0
else
echo «Brightness level $level is out of range! (0 to 255 only)»
exit 1
fi

Para  probar el  script de retro-iluminación   ejecutar el script con el parámetro usando un valor entero menor que 255 ,por ejemplo  ./backlight.sh 128

 

ButtonMonitor.py

#!/usr/bin/python

import RPi.GPIO as GPIO
import time
import subprocess, os
import signal
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
RearView_Switch = 14 # pin 18
Brightness_Switch = 15 # pin 16
#Extra_Switch = 1 # pin 3
GPIO.setup(RearView_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Brightness_Switch,GPIO.IN, pull_up_down=GPIO.PUD_UP)

print » Press Ctrl & C to Quit»

try:

run = 0
bright = 0
while True :
time.sleep(0.1)

#los siguientes cuatro bloques se utilizan para alternar entre las vistas de la cámara.

if GPIO.input(RearView_Switch)==0 and run == 0:
print » Started Full Screen»
rpistr = «raspivid -t 0 -vf -h 480 -w 800»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 1
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

if GPIO.input(RearView_Switch)==0 and run == 1:
os.killpg(p.pid, signal.SIGTERM)
print » Started Full Screen Transparent»
rpistr = «raspivid -t 0 -vf -op 128 -h 480 -w 800»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 2
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

if GPIO.input(RearView_Switch)==0 and run == 2:
os.killpg(p.pid, signal.SIGTERM)
print » Started PIP Right side»
rpistr = «raspivid -t 0 -vf -p 350,1,480,320»
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
run = 3
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

if GPIO.input(RearView_Switch)==0 and run == 3:
print » Stopped »
run = 0
os.killpg(p.pid, signal.SIGTERM)
while GPIO.input(RearView_Switch)==0:
time.sleep(0.1)

# Estos tres bloques siguientes alternan entre las tres configuraciones de brillo.

if GPIO.input(Brightness_Switch)==0 and bright == 0:
print «Setting Brightness to 255»
subprocess.call («/usr/local/bin/backlight.sh 255», shell=True)
bright = 1
while GPIO.input(Brightness_Switch)==0:
time.sleep(0.1)

if GPIO.input(Brightness_Switch)==0 and bright == 1:
print «Setting Brightness to 128»
subprocess.call («/usr/local/bin/backlight.sh 128», shell=True)
bright = 2
while GPIO.input(Brightness_Switch)==0:
time.sleep(0.1)

if GPIO.input(Brightness_Switch)==0 and bright == 2:
print «Setting Brightness to 20»
subprocess.call («/usr/local/bin/backlight.sh 20», shell=True)
bright = 0
while GPIO.input(Brightness_Switch)==0:
time.sleep(0.1)

except KeyboardInterrupt:
print » Quit»
GPIO.cleanup()

 

Respecto a la activación ,para probar la camara  ejecutar  ButtonMonitor.py.  Ahora una vez probado , tenemos que hacer  que se ejecute automáticamente . Para ello tenemos que editar el archivo /home/pi/.config/lxsession/LXDE-pi/autostart

En la ultima linea del script  añadir  /usr/local/bin/ButtonMonitor.py

autostart.PNG

 

IMPORTANTE : Deberemos copiar los tres  scripts  a la ruta /usr/local/bin  y conceder los permisos de ejecución  mediante el comando sudo chmod +x . La fuente original de los  scripts  es :https://gist.github.com/Everlanders

 

En el siguiente vídeo podemos ver todo el proceso de creación de un dispositivo basado en Raspberry PI  para uso exclusivo en un vehículo  usando  todos los componentes mencionados anteriormente.

 

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.