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) 

 

 

Anuncios

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

 

 

 

:

 

Brazo bionico


En los próximos años  gracias a la  evolución de la tecnología , veremos cada vez más personas que  serán aumentadas de alguna manera a través de la tecnología. Estamos acostumbrados a los marcapasos y los implantes ortopédicos, pero ¿a qué más recurriremos? Youbionic ha estado trabajando en manos y brazos biónicos para que los usemos. De hecho en los últimos años, la compañía ha pasado de manos impresas en 3D bastante simples a este movimiento de trabajo que imita el brazo biónico

Hace ya mas de 4 años que Federico Ciccarese fundó Youbionic con la idea de  trabajar  “en una herramienta para la evolución de la especie humana”.  De hecho desde Youbionic creen que la tecnología se puede utilizar para aumentar las capacidades humanas y la intervención en el reemplazo de partes de nuestro cuerpo que no funcionan correctamente  y por ellos  se comprometen a construir dispositivos para hacernos vivir mejor y por más tiempo; de hecho tienen  la intención de ocupar todos sus recursos para fusionar el cuerpo biológico con componentes mecatrónicos”.

 

 

 

BRAZO BIONICO

Youbionic ha estado trabajando en el desafío de hacer un brazo biónico desde 2014. 3DPrint.com habló con Frederico, y les contó que han estado estudiando durante años cómo funciona el cuerpo humano y diseñar interfaces que puedan integrarse con el. Realmente creen que en este momento pueden aparecer dispositivos experimentales, pero pronto serán una gran evolución. Como corresponde a sus precios bajos, Frederico utiliza la flexibilidad de la impresión 3D para crear prototipos de bajo costo, vendieron sus  resultados para financiar nuevos fondos. investigación y así sucesivamente”

Gracias a  la impresión 3D  Youbionic proporciona los elementos para crear robótica y biónica nunca antes vista.  enfoscandose  en  apéndices impresos en 3D son, como se podría sospechar, generalmente destinados a aquellos a los que les falta una extremidad.

Además, hay muchas otras personas que pueden retener la funcionalidad parcial de una mano, pero aún podrían usar la asistencia.

El modelado generado a través de algoritmos matemáticos y el estudio de las formas que la naturaleza nos ofrece cada día,  ha permitido desarrollar habilidades de diseño únicas,asi  que unos de su elementos mas sofisticados ( Youbionic Hand )  aporta una nueva dimensión de existencia: la prótesis mioeléctrica bellamente impresa en 3D de Youbionic  que está prevista para usarla desde  cualquier aplicación pues es capaz de ser controlada por la contracción muscular como si fuera una parte real del cuerpo.

 

 

Como vemos el brazo youbiónic, los dedos y todas las partes están impresas en 3D.  El paquete es extraordinariamente ligero y se usa sobre los brazos existentes  moviéndose de una manera muy suave y realista. Asimismo los dedos impresos en 3D se mueven en concierto con los reales o pueden controlarse externamente. Su creador Frederico está trabajando en una versión controlada por la mente de su brazo biónico (que a través de la interfaz del cerebro humano, los auriculares podrían estar disponibles mucho antes de lo que pensamos).

Lo más difícil de hacer con los brazos biónicos es hacer que los dedos trabajen con la resistividad correcta que se necesita para agarrar cosas o realmente recogerlas  pero  Frederico ha trabajado duro para lograr ese tipo de funcionalidad hasta el punto en que el brazo pueda levantar y manipular muchas cosas a su alrededor.De hecho  los dedos son modulares y podrían ser reemplazados por diferentes accesorios

Como se ve en el vídeo a continuación, la mano de Youbionic puede manipular muchos elementos diferentes, incluyendo una caja pequeña, una botella de agua y un juego de llaves. Dejando de lado la funcionalidad, el movimiento es extremadamente fluido y el acabado negro suave realmente lo hace lucir genial.

El dispositivo está equipado actualmente con un Arduino Micro , servos, varios sensores, un paquete de baterías y algunos interruptores. Incluso el tablero parece estar muy limpio , aunque entendemos  que una version  final usará algún tipo de PCB.

Han  rediseñado completamente los elementos mecánicos, por lo que ahora Hand es más resistente a los esfuerzos durante la operación pues han modificado los parámetros del proyecto para elevar la fuerza que logra hacer, de modo que está listo para la mayoría del ejercicio diario, cómo levantar objetos, apretar los mangos y luego interactuar con el mundo exterior como una mano biológica.

 

 

Otra característica única de Youbionic Hand es la modularidad como hemos ya  comentado , pues cada dedo es independiente y ha sido diseñado para ser parte de configuraciones alternativas. Próximamente, estarán disponibles los componentes que permiten diferentes montajes: podrá crear abrazaderas de tres dedos para instalaciones en robots antropomorfos o dispositivos portátiles con armadura humana

Estos dispositivos pueden aumentar las habilidades de las personas cuando son llevadas por un cuerpo sano, pero también pueden recuperar habilidades si reemplazan partes del cuerpo que no funcionan. De hecho su creador  Frederico piensa que tan pronto como nos acostumbramos a ver cosas como esta, es decir  costos protésicos de bajo costo, con todas las partes,pues entre otras coas estas  suponen  una vigésima parte de una disponible comercialmente en la actualidad.

 

 

 

Específicamente en el ámbito médico, veremos  en los próximos años una gran cantidad de innovaciones de impresión 3D, por lo que los inventores, diseñadores e innovadores utilizarán impresoras 3D para crear dispositivos novedosos.

La mayoría de los dispositivos médicos y otras cosas están reguladas fuera del alcance de la mayoría de los inventores pero en áreas donde la innovación es accesible, veremos mucha actividad de impresión 3D como ya lo ha hecho  hasta el momento (como por  ejemplo The UnLimbited Arm v2.1 – Alfie Edition  en  proceso de  mejora en thinginverse)

The UnLimbited Arm v2.1 - Alfie Edition

La fabricación de dispositivos médicos de bajo costo versátiles y, posiblemente, específicos para cada paciente, será un área de innovación importante para nuestra calidad de vida  en los próximos años destacando los brazos biónicos   y por supuesto el tren inferior, pues son son algunas de las cosas más difíciles que se me ocurren en esta área.

 

 

Precio

Youbionic   vende los archivos stl del brazo por $ 149, mientras que los archivos para la mano son $ 99  permitiendo a los usuarios imprimir su propio brazo pues ellos también tienen que sufragar su actividad ( aunque también se están embarcando en nuevos modelos de negocios en impresión 3D y en MedTech)  pero  también hay actuadores y otras piezas que necesitaríamos comprar por separado.

 El brazo está impreso en 3D de PLA y utiliza Actuonix Linear Actuators .Puede imprimir los otros componentes usted mismo o usar un servicio de impresión 3D si no tiene uno.

Además de varios brazos biónicos actualizados, Youbionic ha desarrollado un dispositivo de doble mano. En este momento, el brazo de Youbionic parece estar funcionando a la perfección, como se puede ver en el video anterior

Al vender los archivos stl  , Frederico espera financiar el desarrollo de su equipo y al mismo obtener retroalimentacion para mejorararlo. ¿Funcionará este tipo de modelo? ¿Llevaremos el ritmo vertiginoso de la innovación en la impresión 3D a la medicina y las prótesis? ¿O el miedo a los cuellos rotos significará que una carga regulatoria aumentada también caerá sobre nosotros? ¿Cuál es el futuro de la innovación de impresión 3D en esta área? Para Youbionic, el futuro significa “obtener retroalimentación y usar esto para mejorar los diseños” y “asociarse con inversionistas para ayudarnos a acelerar el progreso y alcanzar los objetivos más rápido.

 

 

 

 

Puedes aprender más y ordenar el suyo en el sitio web de Youbionic , eso si por unos 200 €.

Philips lanza una nueva tira de leds compatible con el ecosistema de Xiaomi


En efecto puede resultar sorprendente pero quizás intentando  cubrir el mercado asiático  e intentar competir  con otros  fabricantes,  la multinacional  Philips  ha introducido conjuntamente con Xiaomi  una nueva tira de leds no RGB   en Aliexpress  por una fracción de  lo que cuesta en Europa , pues  en efecto por unos 44€ se  puede adquirir no solo la  tira de leds RGB de 5mt  , sino  el driver  y el host para poderla controlar de forma remota(en Europa cuesta  sobre los 35€ únicamente una tira  2mt).

Ademas por si esta longitud fuese insuficiente    , desde el propio sitio   permiten ampliar la longitud  1 metros mas  añadiendo  esta tira    simplemente al otro extremo del la tira de 5mt .

La tira de leds de 5mt que trae  el host  conocida  con el nombre Xiao mi jia Smart light, incluye también  la fuente de alimentación para hacer  posible añadir incluso  1mt mas para llegar a  los 6mt    conectando  al final de cada  tira. También es posible conectar  mas unidades  de 5 o 1 mt hasta un máximo de  30  mt (para cubrir la demanda energética  para composiciones mayores se debería usar otro driver ).

Sin contar con las extensiones de 1 metro que podremos comprar para llegar hasta los citados 30 metros de longitud, la Philips ZhiYi Strip tiene un consumo de 6,7 W/m y deberemos alimentarla con tensiones de 220 a 240 voltios.

En todo caso ,lo normal pues son las  dos opciones disponibles por el momento : 5mt  o 6mt.

20181029_153929_050

La tira de leds por cierto no es RGB  ofreciendo tonos blancos  y amarillos pues solo incluye  leds  blancos  de tres tipos: W (white)  ,  C(Cyan)   y  RC (luz de noche)  , siendo posible modificar la  intensidad desde 2700K a 6500K   y por supuesto  también  subir   la intensidad de esta(con un mínimo de 30 lúmenes, siendo capaz de llagar hasta los 300 lúmenes)

20181029_153929_052

El driver  incluido en la tira de 5m cuenta con un modulo WiFi de tipo b/g/n a 2.4 GHz de modo  que como no podía ser menos esta tira de leds es controlable con nuestro smartphone por medio de la  app de Xiami Mi Home gracias a este modulo  siendo asi posible realizar  realizar escenas inteligentes con el resto de dispositivos del ecosistema Xiaomi, programar encendidos y apagados, cambiar su brillo y color con las escenas predefinidas o establecer nuestros propios ajustes favoritos

Lo que no esta tan claro al menos para el consumidor occidental es la automatizacion con el resto de dispositivos de del ecosistema Xioami pues por ejemplo solo soporta para su activación  por voz por el momento como idioma el chino .

 

20181029_153929_056

 

La tira led  cuenta con autoadhesivo 3M por una cara  y está ubicada dentro de un cuerpo elástico fabricado en PVC de alta resistencia a la temperatura, lo cual  no  hace posible   dividirla en partes mas pequeñas  como se hace con las convencionales que no llevan esta protección y llevan incluso lineas de corte  para hacer posible dividirlas para acomodarlas mas fácilmente por las esquinas , columnas ,etc.

No obstante,  este  recubrimiento translucido es  ideal  para ayudar a preservar física  y mecánicamente la tira  debido a  su  alta transmisión de la luz y las  propiedades anti-oxidantes para evitar su deterioro y coloración con el paso del tiempo.

 

Mas  información en https://es.aliexpress.com/item/Xiao-mi-jia-Smart-light-band-Smart-home-Phone-mi-home-App-wifi-light-strip-colorido/32950120069.html

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.

 

 

Reloj gigante casero


En efecto hemos visto soluciones muy ingeniosas usando  tal vez medios humildes como por ejemplo cartón y leds para construir un reloj digital “gigante”, pero la idea de Leon van den Beukel ha sido  llegar aun mas lejos  pues   sustituye todos  los leds  convencionales  usados en proyectos convencionales por tiras de leds  RGB direccionables  del tipo  WS2812B .

Ademas por si fuese poso también  ha creado una  versión impresa en 3D para albergar  todo   usando como placa de control   una placa   Arduino  nano   al que se ha conectado un modulo bluetooth para sincronizarlo con un smartphone gracias a una aplicación personalizada que se conecta de forma inalámbrica al reloj a través de dicho  modulo  Bluetooth y de este modo puedo personalizar el reloj.

Para cortar algunas  piezas, el autor también   ha usado una máquina CNC casera.

Los componentes  usados en este diseño  son:

Esta es el esquema del reloj digital casero propuesto  donde ya se  aprecian la conexiones:

  • Del sensor de temperatura DHT11,  el cual se ha  conectado al pin D2  junto la típica resistencia de 10k entre la salida de datos  y  VCC
  • El modulo de bluetooh  conectado a los pines D5(tx) y D6(rx) sin omitir la alimentación  de vcc y gnd. El pin de RV también lleva una resistencia de 1k en serie  y otra de 2.2k entre este y masa para atenuar la  señal del modulo
  • La tira de leds conectado a D8 por medio de una resistencia en serie de 330 ohmios sin omitir la alimentación  de vcc y gnd
  • El modulo de tiempo real conectado a los pines analógicos A4 y A2 sin omitir la alimentación  de vcc y gnd
  • La  alimentación  de todo el conjunto de 5v DC

 

 

Schema.png

 

Por cierto si se esta preguntando por el orden de colocación de los leds , tenga en cuenta que ha usado 29 leds RGB  para los 4 dígitos y los dos puntos,  colocándoles de modo que compongan 4 cifras en código de 7 segmentos   conectando cada led  entre si  respetando la alimentación   y encadenando el pin de datos  pore medio de sus pines de entrada y salida

Esta es la configuración del orden de los  leds RGB empleada por el autor:

Respecto al  código fuente de Arduino nano  esta disponible  en https://github.com/leonvandenbeukel/3D-7-Segment-Digital-Clock/blob/master/3D-7-Segment-Digital-Clock.ino

Para el control del reloj  puede descargar la aplicación  Bluetooth Digital Clock App  para Android desde Play Story aquí: hhttps://play.google.com/store/apps/details?id=nl.leonvandenbeukel.BTDigitalClockApp

 

Por ultimo también en github   el autor ha dejado los ficheros stl para imprimir  el receptáculo  del reloj con una impresora 3d. La ruta de estos 11 piezas  para imprimir por separado  esta en https://github.com/leonvandenbeukel/3D-7-Segment-Digital-Clock/tree/master/STL

Para un mejor contraste, nos sugieren mejor imprimir las siguientes partes en negro:

  • BewteenSegments
  • DotRing
  • Dotbottom
  • Medio
  • OuterRingSegments

El resto de piezas se puede imprimir en blanco.

En el siguiente vídeo podemos ver este fantástico reloj en funcionamiento

 

 

 

Instalación sencilla de un display avanzado en un coche


Los HUD (Head-Up Display) básicamente son  displays orientados a la seguridad,  pues la idea fundamental de este tipo de dispositivos es que el conductor mantenga su mirada en dirección al frente  sin perder de vista la carretera mostrando a  la vez superpuesta esta información relevante  por tanto sin obligar al conductor a girar la cabeza cada vez que quiera comprobar algo. Actualmente  gracias a la fusión de estos displays  HUD  de nueva tecnología  con  la información proporcionada por el puerto de diagnóstico o OBDII de su vehículo , podemos proyectar la información útil de conducción  en su parabrisas  de modo que  no tenga que apartar la vista de la carretera para dirigirla  al cuadro de instrumentos por ejemplo  para saber a la velocidad  a la que se circula  o  las revoluciones del motor .

Una novedad ademas de los nuevos HUDs es que gracias a la evolución de la información  del OBDII   se  puede suministrar incluso mas información que el propio vehículo podía ofrecer por defecto  como por ejemplo  temperatura del agua ,varias  alarmas (voltaje,posición de la válvula de mariposa, ángulo de avance de encendido, tiempo de 100 km aceleración), consumo de combustible, kilometraje, aviso de   poco combustible, detalle de fallo del motor, indicación de marcha incorrecta, optimización de consumo, recordatorio de parada para el conductor, etc.

En esta ocasión vamos  a ver el modelo VGEBY Universal HUD  que  cuenta con una pantalla gigante de 5,5″  y se conecta al ODB 2  mediante  un cable especial que en un extremo cuenta con mini-usb ( para conectar al HUD)  y por otro un conector ODBII  para conectar al vehículo

Por cierto ,este cable suele ser muy fino para que pase desapercibido,por lo que  debe tenerse cuidado con el,  pues puede partirse fácilmente si hacemos mucha presión sobre el para disimularlo.Si llegase a romper el cable, no se alarme pues el cable es standard para este tipo de diplay: es decir conexión micro-usb por un lado y un conector ODB2 por el otro.

 

Aunque  podamos ver este  HUD    bajo diferentes marcas   y acabados , en realidad casi todos  se basan en el mismo modelo , con ligeras variaciones lo cual se traduce en diferentes calidades  o precios, pero todos pueden adaptarse automáticamente al tipo de vehículo que está en línea con OBDII o EUOBD (Sistema de diagnóstico a bordo).

La información ofrecida por  el   modelo VGEBY Universal HUD    es mucho mas rica que la mostrada por otros modelos anteriores  pues es concreto es la siguiente:

  • Velocidad en km/h
  • Revoluciones por minuto del motor
  • Consumo de combustible
  • Tiempo en marcha
  • Temperatura del radiador
  • Indicador del numero de  marcha engranada
  • Avisos de fallos del motor
  • Tensión de la batería
  • Presiones del sistema de admisión
  • Recordatorio de descanso
  • Tiempo de aceleración en 100 km
  • Alarmas , etc

El modo  de visualización puede ser seleccionado  por el propio conductor  , el cual puede elegir el modo de visualización normal, alta velocidad modo de visualización y modo de visualización automática.

Mediante la función de visualización se pueden mostrar : Velocidad de conducción, velocidad del motor(RPM)  , temperatura del agua, voltaje de la batería, consumo de combustible, conmutación libre entre kilómetro y milla, conmutación libre entre C y F.

En cuanto las alarmas  cuenta con las siguientes:  Alarma de sobre velocidad, alarma de alta temperatura, alarma de baja tensión, alarma de falla del motor y posibilidad de  eliminación del código de fallo, etc

Una peculiaridad  necesaria   es tenerlo configurado por defecto en   Km y no en  millas, función que viene configurada  normalmente en Europa (como otros parámetros)

Es interesante destacar que estos modelos incluyen un  sistema para  apagarse automáticamente   y por supuesto  para iniciarse   cuando el vehículo se ha arrancado (es  decir implementa la función  de   AUTO ENCENDIDO / APAGADO) , apagándose pues  cuando  el vehículo se  haya detenido  para proteger la batería del vehículo.

Por otra parte, aunque debería manipularse  lo mínimo posible , se pueden cambiar  las funciones  con una sola  mano para controlar el HUD, aunque no hace falta decir que debería hacerse con el vehículo parado.

Asimismo,  buscando la máxima comodidad  es muy útil el  modo de ajuste automático  del brillo de la pantalla  , aunque también en casi  todos los HUID  , este ajuste  se puede realizar  manualmente.

En cuanto   a la información que puede proporcionar  modelo VGEBY Universal HUD  es la siguiente:

 

Es muy importe destacar  que este tipo de dispositivos están  disponibles para coches con una interfaz OBD2 / EUOBD que en la mayoría de vehículos  de 8 a 10 años esta presente aunque no son compatible con Blade Electric Vehicle pero si en muchos modelos hibridos  ,y como vamos a  ver ,  son  muy fáciles de instalar , tanto es así  que podríamos decir que es “plug and play”.

Veamos en este breve video el  modelo VGEBY Universal HUD   en funcionamiento;

ATENCION:  Por favor, revise las reglas y regulaciones locales para el uso de este  tipo de dispositivos en  carretera   verificando que las regulaciones locales  autorizan  este tipo de instalaciones y es conforme  que  la posición del indicador esté dentro de distancias fijas del tablero para algunas ubicaciones.

Instalación del HUD

  • Antes de nada casi todos los vehículos modernos cuentan  con una interfaz OBD2 / EUOBD.  Para conocer si su  vehículo  lo es  puede abrir el capó del motor y debería encontrar una pegatina, si la etiqueta tiene la letra “OBDII CERTIFIED”, significa que puede instalar el HUD.   No obstante , aunque el vehículo no cuente con esta pegatina, lo normal es que si es un vehículo del 2010  en adelante , esta característica la soporte. 
ond2.PNG
  • Deberíamos ahora  comprobar  que disponemos del cable usb-odb2, el display  , el adhesivo para fijarlo  y la lamina translucida( en caso de que vayamos a ponerla)

  • Para verificar el conector de diagnóstico del vehículo debajo del volante, puede encontrar la  toma de 16 pins del vehículo.
figura2 IMG_20180120_162125[1].jpg
Una vez localizado  conecte el extremo del cable  suministrado en el conector del vehículos
IMG_20180120_162216[1].jpg
  • Haga pasar el cable por el borde de la puerta
IMG_20180120_162249[1].jpg
  • Ahora bordee  el parabrisas  con  el cable hasta llegar a su la posición  donde coloque  el  aparato
IMG_20180120_162352[1].jpg
  • Ahora ya conducido el cable  debe poner el circular antideslizante en posición plana delante sobre el  HUD  .Puede ajustar  ángulo del  HUD de modo qeu la imagen  reflejada en el parabrisas este  nivelada.
IMG_20180120_163331[1].jpg
  •  Pegar OPCIONALMENTE  la película reflectante sobre el parabrisas pues realmente eliminara el doble reflejo del display , aunque personalmente prefiero no pegar nada en el parabrisas pues de este modo no obstaculiza en absoluto la visión a través de este . Si se decide pegarlo , algunos consejos para pegar la película antirreflectante:
    • Puede rociar uniformemente agua sobre el parabrisas.
    • Rasgue la capa protectora de la película y rocíe un poco de agua para ambos lados, luego pégalo en el lugar que quiera.
    • Nivelar el agua debajo de la película con un objeto liso hasta que no haya agua y burbuja dentro.
    • Cuando el agua se evapore, puede limpiar el agua y el polvo alrededor del película.
  •  Para probar el dispositivo , debe encender el host de HUD y debería ver el voltaje de la batería del vehículo, y luego entrará  en el estado de investigación de
    la versión del ordenador de a bordo del vehículo reconociendo este con un pitido indicando con esto de que esta listo. 
  • Después de estos simples pasos podemos decir que HUD está instalado exitosamente.   

 

Ajustes   

Este display tiene una rueda en unlateral qeu cuenta con tres posiciones: izquierda , derecha y central

Una vez encendido puedem pulsar el botón  de control a  la izquierdo  para alternar la visualización de : 

  • reloj,
  • temperatura del agua,
  • presión de admisión
  • RPM del motor
  • angulo de aceleración
  • tiempo de acelaracion  para 100sg

Una pulsación, por cierto larga de 5 segundos, hacia el lado derecho conmuta entre sonidos activos  o no del HUD

Una vez encendido ,también puede pulsar el botón  de control a  la derecha  para alternar la visualización de : 

  • consumo de combustible
  • posición del throttle

Si pulsa el botón central  con una pulsación corta entra en el menú de configuración de un menú de 0 a 23 opciones  que vamos a  ver  a continuación (  una pulsación corta incrementa el menú)

Estas son las diferentes opciones del menú con sus valores por defecto , su función y el rango de valores posibles::

 

 

 

IMPORTANTE ; Observe especialmente   el menú nº 23 (Factory Reset)   , pues si se ajusta a la izquierda al valor 1, y luego con una pulsación larga  en el botón central por 5 segundos para salvar y salir  , llevara al modelo VGEBY Universal HUD a la  configuración de fábrica.

 

Borrar   Códigos de fallo

Es sin duda   una gran  utilidad  del modelo VGEBY Universal HUD  muy interesante y que incluso , si es  fortuita , nos puede ahorrar bastante  dinero en desplazamiento   y  taller   que sin duda amortizaran  la compara de este dispositivo .

El modo de borrar los codigos de  error de la centralita  de  nuestro vehículo es muy sencillo en este modelo VGEBY Universal HUD :cuando tenemos conectado el display al coche por el ODB2 , no arrancar al motor   pasando a ON , y esperar que se vaya a OFF el display . Ahora entonces  pulse el botón derecho  por 5 segundos  : el HUD   producirá un sonido   y finalmente el HUD borrara el código de error

 

 

Por cierto , si le interesa el HUD descrito  en este post  (modelo VGEBY Universal HUD)  , puede comprarlo en Amazon por unos 42€  en este enlace