Envío de datos de Iot en Raspberry Pi a la nube


Hoy vamos a  ver  lo fácil  que es conectar un sensor simple conectado a una Raspberry Pi a la nube de transmisión utilizando para ello  un sensor de temperatura digital, el popular DS18B20 y dos scripts de Python simples: uno para enviar los datos del sensor a la nube y el otro para recibirlo para su uso en alguna otra aplicación.
El código  para que pueda iniciarse esta disponible en un repositorio de GitHub .

CONEXIÓN DE UN SENSOR A SU RASPBERRY PI

Primero debe conectar el sensor a su Raspberry Pi. Debe conectar conectar al sensor una resistencia de Pull Uo  de 4,7 K entre  la linea de datos (que conectaremos al GPIO4 )  y la alimentacion de 3.3V

En la imagen se describe la sencilla conexión utilizando el bus 1wire con tres pines GPIO (alimentación, tierra y el pin de datos real).

Connection diagram for ds18b20 1-wire temperature sensor to Raspberry Pi GPIO

Después de hacer las conexiones  debe asegurarse de que el módulo kernel del dispositivo de comunicación 1wire esté cargado.

El procedimiento para hacerlo es ligeramente diferente entre las versiones de Raspberry Pi antes y después de enero de 2015, cuando kernel 3.18.8 se incluyó en Raspbian , la distribución de Linux más utilizada para Raspberry Pi. En las actualizaciones recientes debe modificar el archivo /boot/config.txt como se describe aquí:

# with a pre-3.18.8 kernel:
[email protected] ~ $ sudo modprobe w1-gpio && sudo modprobe w1_therm

# else:
[email protected] ~ $ uname -a
Linux raspberrypi 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux
[email protected] $ sudo nano /boot/config.txt
# add this line at the bottom (and then reboot):
# dtoverlay=w1-gpio

Ahora puede buscar los dispositivos 1wire respectivos en su sistema de archivos. Cada sensor DS18B20 tiene una identificación única que aparece en este directorio de dispositivos, en nuestro caso 28-000004a365ef .

La siguiente sección muestra cómo leer los datos del sensor para que puedan publicarse en la nube.

LECTURA DE LOS DATOS DEL SENSOR

Una vez que conozca la identificación única de su DS18B20 , puede acceder a los datos del sensor de una manera más reutilizable con una función de Python como la de read_temp.py .
Al ejecutar este código también se ejecutará un ciclo corto para leer y visualizar la temperatura ambiente alrededor del sensor. Intente tocar el sensor con los dedos para ver cómo afecta las lecturas.
Ahora que el sensor está funcionando y entrega datos, es hora de enviar esos datos a la nube , la cual en esta ocasion sera ofrecida por el proveedor europeo relayr

relayr.png

Si no tiene una cuenta de desarrollador relayr , tendrá que crear una. Una vez que tenga una cuenta, puede crear un prototipo de sensor simplemente accediendo a la página de dispositivos de su dispositivo y moviendo el puntero del mouse sobre el botón con el signo más en la esquina inferior derecha.
Luego, desplácese hacia abajo y seleccione “Continuar sin un modelo” para crear el dispositivo. Ahora, cambie el lenguaje de programación a “Python” y copie el código de firmware generado, que será útil para la siguiente sección.

PUBLICACIÓN  DE SUS DATOS DE SENSOR EN LA NUBE DE RELAYR

Puede publicar sus datos usando MQTT (un protocolo para comunicar mensajes de máquina a máquina). Si aún no está instalado, tendrá que configurarlo en su Pi. El paquete paho-mqtt proporciona soporte MQTT para Python y se puede instalar fácilmente como un paquete Python con pip como este (instale pip primero si aún no lo tiene):

 pi @ raspberrypi ~ $ sudo apt-get install python-pip
 pi @ raspberrypi ~ $ sudo pip install paho-mqtt == 1.1

Sabrá si lo ha instalado con éxito si puede ejecutar esta declaración en Python sin ningún error: import paho .
A continuación, puede copiar el fragmento de muestra de Python de la página del prototipo del panel que haya visto al crear un prototipo. Para hacer esto, reemplace el ciclo while en la parte inferior del código con el de publish_temperature.py (disponible en el repositorio).

No olvide incluir la función read_temperature desde arriba y también agregar su identificación de sensor única al ciclo while (la que encontró al configurar el sensor). Alternativamente, puede usar el código en publish_data_mqtt.py , asegurándose de cambiar las credenciales (con las de su panel) y el device_id en la parte inferior de la página.
Esto le permitirá ejecutar un ciclo sin fin, leer los valores de temperatura y publicarlos uno por segundo a la nube de retransmisión.

CONSULTA DE SUS  DATOS

A medida que introduce sus datos en la nube de relayr, puede ver los valores en tiempo real a medida que cambian en el tablero de relayr.

Screen_Shot_2016-07-12_at_16.12.28.png

Ver sus datos en el tablero de instrumentos a medida que cambia es genial, pero en algún momento querrá extraer los datos para usarlos. Para ello, puede acceder a sus datos a través de MQTT de nuevo escribiendo un script simple como el Llamado fetch_data_mqtt.py en el repositorio de GitHub .

Si ejecuta esa secuencia de comandos, mostrará los mensajes MQTT en vivo que contienen los valores de datos tal como se recibieron.

Para ello, utilice el SDK de Relayr Python instalando primero los paquetes necesarios (ejecute las líneas a continuación en su pi):

sudo pip install git + https: //github.com/relayr/pythonsdk

sudo pip install relayr upgrade

Si tiene una Raspberry Pi nueva, asegúrese  de actualizar su lista de paquetes Debian e instalar algunos paquetes de desarrollador antes de instalar el paquete más nuevo de GitHub de la siguiente manera:

  pi @ raspberrypi ~ $ sudo apt-get update 
  pi @ raspberrypi ~ $ sudo apt-get install python-dev libffi-dev libssl-dev 
  pi @ raspberrypi ~ $ pip install git + https://github.com/relayr/python-sdk 

Ahora puede usar el código en receive_data.py para recibir datos de la nube. Asegúrese de cambiar la identificación de su dispositivo y el token de acceso (omitiendo la parte “Portador” del token).


En este ejemplo ha visto cómo puede conectar un sensor de temperatura simple a una Raspberry Pi y publicar sus datos en la nube de transmisión . Esto le permite ver los datos en vivo en el tablero, o exportarlos para usarlos en una aplicación. Puede usar MQTT para publicar y recibir los datos del sensor, o usar uno de los SDK de Relayr, como el SDK de Python , para acceder a los datos de manera más conveniente.

También puede usar sensores más emocionantes y publicar valores de datos más complejos que un solo flotante (es decir, una lista de tres flotantes que representan información geoespacial). Siempre que proporcione una lecturaconocida en el panel de control de relayr, mostrará sus datos en un buen widget. Y también puede publicar algo aún más complicado, como un objeto con niveles de anidación más profundos. En ese caso, el tablero mostrará un widget genérico. ¡Depende de usted y de lo que quiera hacer!

El código del ejemplo esta disponible ena GitHub repository.

Anuncios

Miniportatil basado en una Raspberry Pi 3


 

Raspberry Pi es una computadora en miniatura que permite la realización de muchos proyectos  como podemos ver a largo de  este humilde  blog

Dado que  todas  las versiones disponibles comercialmente, se venden  directamente con la PCB , por tema de abaratar costos sin carcasa alguna, esta placa se presta en  integrarla en cualquier tipo de receptáculo  casero que se nos ocurra.

Como ejemplo de carcasa ,   vamos a ver como convertir esta  en  una computadora nano de la gama UMPC (PC Ultra-Mobile) con ayuda  de  diferentes componentes localizables en el mercado .
Sin duda  este proyecto  es un ejercicio de integración de  diferentes  componentes del comercio, permitiendo un ejercicio avanzado de diseño de caja técnica, por lo que debe tener especial precaución, pues los cambios propuestos pueden ser fatales para su hardware ( su creador, de hecho, destaca que este proyecto se propone “tal cual” sin ninguna garantía de éxito en la realización y en su funcionamiento).

Para llevar a cabo este proyecto, su autor   ha usado  los siguientes componentes:

Preparación de la Raspberry Pi

A fin de que  todo el equipamiento mencionado  quepa en un espacio mínimo   incluyendo  la propia placa de la Raspberry Pi , es de destacar que  la RP es demasiado ancha, lo cual obligaría a hacer el cuerpo de mucho mayor que el que se propone, por lo que la idea es quitar algunos conectores de la  propia PCB  para que este  ocupe el mínimo espacio posible .

Antes de simplificar la Raspberry Pi,se debe  descargar  e instalar una imagen del sistema operativo en una tarjeta microSD y confirmar que el sistema se inicia correctamente. Si se niega a ejecutarse en este estado, se puede solucionar problemas y reemplazar la placa si es necesario dado que la garantía lo cubre , esta es su última oportunidad … una vez modificada, no se sabe si una falla fue de fábrica o como resultado de su trabajo en la placa ,  y dado que  la alteración física de Raspberry Pi es una operación que anula la garantía  y no reemplazan o reembolsan tarjetas modificadas asi que  ! pruébelo primero  al aire   con todo el equipamiento : TFT, teclado  y sección de energía  antes de empezar con el ensamblaje!

Vamos  a   ver seguir  las instrucciones propuestas por Adafruit para el uso del escudo a Kippah , de modo  que el resultado previo de adaptacion de la RP 3  l debería quedar como en la siguiente imagen , donde se  puede apreciar que se han sustituido los conectores usb dobles  por sencillos de bajo perfil de tipo USB A, eliminado el conector hdmi  e incluso se acortan  el  conector del GPiO (para que, al montar el Adafruit Kippah, el conjunto no supere los 8,5 mm de grosor ) , ya que la idea es hacer al máximo estrecho la placa , ya que su espesor marcará el grosor del equipo final:

Desmontar la Raspberry Pi es un desafío adicional, incluso si tiene experiencia previa en la desoldadura. La soldadura sin estaño requiere temperaturas más altas, y con ello el peligro  sustancial de que esta placa absorba mucho calor. ¡Si aplica demasiado calor  romperá rastros o delaminará el tablero!

raspberry_pi_hotspots.jpg

El desoldado sin estaño ya es difícil, pero algunos puntos en el tablero son particularmente desafiantes.Están conectados al plano de tierra, que se convierte en un gran disipador de calor.

Tenga mucho cuidado al derretir estos … quedarse demasiado tiempo y toda la tabla se pone incómodamente caliente!

El proceso de conversión se hace un poco más fácil simplemente no tratando de salvar las partes que se eliminan. No dude en sujetar los cables, o desmantelar por completo las carcasas de los puertos metálicos. Cualquier cosa para acceder mejor al área que intentar desoldar  déjelo perder .

El proceso debe adaptarse a sus habilidades y herramientas particulares disponibles. Incluso con una gran cantidad de herramientas, es bastante lento y puede tomar un par de horas.

USE GAFAS DE SEGURIDAD cuando recorte partes.Muchos trozos pequeños y afilados están a punto de ir volando a todas partes.

Retirada de las carcasas de los puertos

raspberry_pi_dismantle1.jpg

raspberry_pi_dismantle1.jpg

raspberry_pi_dismantle2.jpg

raspberry_pi_dismantle3.jpg

raspberry_pi_dismantle4.jpg

Desmontar las carcasas metálicas alrededor de los puertos Ethernet y USB puede ayudar a reducir la masa térmica general al desoldar y facilita el acceso a algunos pines. Pero están desintegrados en el proceso y no pueden ser rescatados.

Si sigue esta ruta, tenga cuidado con los condensadores C97, C99 y C100 cuando desconecte los puertos USB. ¡No los corte fuera de la placa!

Desoldadura de puertos

raspberry_pi_vise.jpg

Un tornillo de banco es esencial. Esto deja ambas manos libres … una para sostener un soldador, la otra para herramientas de palanca y desoldadura. Además, el plano de tierra de la placa puede calentarse bastante y no debe manipularse.

raspberry_pi_flushcut.jpg

La eliminación de piezas a menudo requiere un movimiento de balanceo;calentando un extremo mientras se abre el otro, alternando los lados. Cortar alfileres al ras con la superficie de la tabla reduce la cantidad de balanceo necesario … Despejarán las vías antes.

raspberry_pi_reflow1.jpg

raspberry_pi_reflow1.jpg

raspberry_pi_reflow2.jpg

Aunque tengo una herramienta de reflujo de soldadura que debería, en teoría, ser capaz de calentar todas las clavijas para extraer la pieza … en la práctica no estaba teniendo suerte, y volví a mi confiable soldador, calentando, haciendo palanca y meciéndome. Usa lo que tengas y te funcione bien.

raspberry_pi_etherleds.jpg

raspberry_pi_etherleds.jpg

raspberry_pi_ethernet-boop.jpg

Es muy problemático quitar  los LED del puerto Ethernet, pues  la carcasa de plástico se ablanda y se deforma antes de que la soldadura se derritiera. Bien entonces, dejé que se deforme, levante lo suficiente para cortar las patas de los LED. Los pines restantes se desoldaron con la técnica heat-pry-rock.

Finalmente, ¡boop! ¡Libertad!No se preocupe por los restos que quedan en el tablero … lo limpiaremos más tarde.

raspberry_pi_usb-grapple.jpg

Los puertos USB también requieren una gran cantidad de ataque. En lugar de tratar de desoldar las clavijas y sacar la carcasa del tablero, la carcasa se desmontó y los pasadores se recortaron del lado del componente, y la chatarra se limpiará más tarde.

raspberry_pi_pluck.jpg

Los restos tristes de los puertos se borran. A medida que cada pin se calienta desde la parte inferior, se desprende con pinzas desde el lado del componente.

Limpieza de sobrantes

raspberry_pi_clean1.jpg

raspberry_pi_clean1.jpg

raspberry_pi_clean2.jpg

Después de eliminar todos los pines, la mayoría de las vías todavía están conectadas con soldadura. Utilice el soldador y una herramienta de desoldado al vacío para eliminarlos.

Unos pocos agujeros pondrán una lucha … principalmente los pines de tierra. A veces es útil agregarsoldadura (preferiblemente el tipo con plomo) a un agujero y calentarlo completamente antes de usar la herramienta de vacío.

raspberry_pi_clean3.jpg

raspberry_pi_clean3.jpg

raspberry_pi_clean4.jpg

raspberry_pi_clean5.jpg

Los agujeros son claros, pero todavía hay muchos restos de soldadura en la placa … esto puede acortar las vías y causar caos, incluso si no está utilizando los puertos correspondientes.

La mecha de soldadura se calienta debajo de la punta del soldador y se frota en las áreas para limpiar … ¡esto absorbe la soldadura como una toalla de papel! Haz esto en ambos lados del tablero.La aplicación de fundente de soldadura líquido primero (ya sea con pincel o con aplicador de bolígrafo) hace que este proceso sea un poco más suave y más limpio.

Es posible que tenga que volver a revisar r algunos agujeros con el succionador de soldadura.

Instalación de conectores USB de bajo perfil

Antes de continuar, puede dejar que la placa se enfríe, inserte una tarjeta microSD y pruebe si todavía se inicia. Sin puertos USB, no podrá conectar un teclado y apagarse limpiamente, por lo tanto, no lo haga con una tarjeta que contenga datos irremplazables.

Si el sistema no arranca … o si se inicia, pero el LED rojo de encendido parpadea, desconecte la alimentación y revise su trabajo de desoldadura para ver si hay conexiones con puente, o detritos conductivos que pueden haberse dispersado en otras partes del tablero.

raspberry_pi_newports1.jpg

raspberry_pi_newports1.jpg

raspberry_pi_newports2.jpg

raspberry_pi_newports3.jpg

Puede instalar uno o dos puertos USB de bajo perfil, según sus necesidades. A diferencia de los viejos puertos apilados, estos son de una sola altura, por lo que dos es el máximo.

Estos deberían aparecer directamente en los puntos antiguos. Use la hilera exterior de agujeros, más cerca del borde de la tabla.La otra fila permanecerá despoblada.

Voltee la tabla y suelde los cuatro pasadores y las dos pestañas de soporte de la carcasa metálica. Una vez que la soldadura se haya enfriado, puede recortar estos cerca del tablero para que quede plano.

Una vez que se haya enfriado por completo, intente conectar un monitor e iniciar el sistema desde una tarjeta microSD. Si el trasplante fue un éxito, debería poder conectar un teclado USB e iniciar sesión.

El LED rojo “PWR” debe estar fijo. Si está parpadeando, hay un componente eléctrico corto o dañado en alguna parte

Las modificaciones anteriores  reducirán bastante el espesor de la placa de la raspberry  Pi ,pero todavía se puede imprimir algo mas  el grosor resultante  con las  siguientes modificaciones adicionales:

Acortando el encabezado GPIO

raspberry_pi_profile.jpg

Con la (s) toma (s) USB de una sola altura instaladas, el encabezado GPIO es ahora la parte de mayor perfil en la placa. Esto se puede acortar un poco manteniendo la funcionalidad completa …

raspberry_pi_gpio1.jpg

raspberry_pi_gpio1.jpg

raspberry_pi_gpio2.jpg

raspberry_pi_gpio3.jpg

El borde del soporte de plástico del cabezal se puede levantar ligeramente utilizando cortadores a ras.¡Ten cuidado de no cortar los alfileres!

Luego puede trabajar a lo largo del borde con un destornillador pequeño para levantar esta pieza.

Su experiencia puede ser diferente. Con un Pi, el soporte de plástico arrancó limpiamente. ¡Con otro, esta parte debe ser completamente “mordisqueada” !

raspberry_pi_gpio4.jpgraspberry_pi_gpio4.jpgraspberry_pi_gpio5.jpg
raspberry_pi_gpio6.jpg

Use una pieza de repuesto del encabezado de una sola fila como plantilla para recortar los pines GPIO. Haga cuña este pin hacia abajo entre las filas de GPIO, luego recorte a lo largo del borde de plástico.

Cuando haya terminado, el encabezado GPIO será un par de milímetros más corto, aproximadamente en línea con los conectores de video en el borde opuesto. Todo lo que esté conectado a esto (cables de cinta, sensores HAT de Pi, etc.) se quedará un poco más bajo ahora.

raspberry_pi_no-gpio.jpg

O bien, si no prevé utilizar el encabezado GPIO en absoluto (o solo necesita unos pocos pines y puede conectarlos directamente), se puede desoldar y eliminar por completo.

Extracción de piezas adicionales

Si se necesita un ahorro de peso, muchos de los puertos y tomas pueden eliminarse con éxito, siempre que la funcionalidad correspondiente nunca más se necesite para su aplicación (no hay vuelta atrás con la mayoría de estas piezas).

  • Encabezado GPIO
  • Puerto HDMI
  • Puerto de video / audio compuesto
  • Conector de pantalla FPC
  • Conector de cámara
  • Conector de alimentación micro USB (si está regulado + 5 V en su lugar se alimenta a los pines apropiados en el encabezado GPIO).

La mayoría de estas partes tienen aproximadamente la misma altura, por lo que no tiene sentido eliminar un subconjunto como medida de ahorro de espacio. Pero para otras aplicaciones como drones por ejemplo , cada gramo cuenta … se vuelven locos.

Si se eliminan todas las opciones de visualización, entonces el sistema solo se puede administrar de forma remota (por ejemplo, ssh a través de WiFi). Si todos los puertos USB también se han eliminado, entonces la única manera de iniciar sesión directamente en el sistema es con un cable de consola serie conectado a los pines correspondientes en el encabezado GPIO.

A veces es más fácil tener un segundo Raspberry Pi sin modificaciones para las tareas de administración. Mueva la tarjeta microSD a este sistema, inicie y realice la configuración que sea necesaria, luego apague y vuelva a colocar la tarjeta en la placa reducida.

Montaje del teclado

Antes de proseguir es  preferible agregar un radiador en los procesadores de la tarjeta para un mejor enfriamiento.

Empareje  el teclado del bluetooth, parametrice la conexión WIFI y verifique que todo funcione.

Ahora nos pondremos con el teclado(Atención, esta intervención anula la garantía)

Desarme el teclado, desolde  la batería  que integra  (peligro de cortocircuito) para desacoplar la placa electrónica. Recupere la platina, el diafragma de goma y la tapa.

Cablee la cubierta para el suministro en 3,7 voltios tomados por la placa  a Adafruit Kippah ( es la qeu se usara tambien paa conecetar la pantalla TFT)

Coloque la membrana y la máscara   y las teclas en carcasa impresas y esta parte ya esta casi lista es espera del ensamblado final

Sección de energía

En este proyecto se usa   el  ¡PowerBoost 1000C como a fuente de alimentación! Con un circuito integrado  cargador de batería permite  compartir la carga,  manteniendo alimentado el mini portatil  incluso mientras recarga la batería! Este pequeño módulo convertidor elevador de CC / CC puede alimentarse con cualquier batería Li -on / LiPoly de 3.7V y convertir la salida de la batería a 5.2V CC para ejecutar sus proyectos de 5V.

La salida es de 5.2V en lugar de una 5.0V recta para que haya un poco de “espacio libre” para cables largos, alto consumo,o  la adición de un diodo en la salida si lo desea, etc. La tension de 5.2V es segura para Raspberry Pi   a vez que previene el deterioro de la corriente durante el consumo de corriente alta debido a la resistencia del cable USB.

El PowerBoost 1000C tiene en el corazón un convertidor elevador TPS61090 de TI . Este chip convertidor elevador tiene algunos extras realmente agradables, como detección de batería baja, interruptor interno de 2 A, conversión síncrona, excelente eficiencia y operación de alta frecuencia a 700 KHz. ¡Mira estas especificaciones!

  • La operación síncrona significa que puede desconectar la salida completamente conectando el pin ENable a tierra. Esto apagará completamente la salida
  • 2 Un interruptor interno (~ 2.5A limitación de pico) significa que puede obtener 1000mA + de una batería LiPoly / LiIon de 3.7V. ¡Solo asegúrate de que tu batería pueda manejarlo!
  • El LED indicador de batería baja se ilumina en rojo cuando el voltaje cae por debajo de 3.2V, optimizado para el uso de la batería LiPo / LiIon
  • Resistencias de datos “iOS” de carga a bordo de 1000 mA. Suelde el conector USB y puede conectar cualquier iPad, iPhone o iPod con una tasa de carga de 1000 mA.
  • Desglose completo de la batería, los pines de control y la potencia de salida
  • 90% + eficiencia operativa en la mayoría de los casos (ver hoja de datos para gráficos de eficiencia) y baja corriente de reposo: 5mA cuando está habilitado y LED de alimentación encendido, 20uA cuando está desactivado (potencia y LED de batería baja apagados)

Para que esto sea aún más útil, incluiye  un cargador inteligente de carga compartida Lipoly en el otro lado. El circuito del cargador se alimenta desde una toma microUSB, y recargará cualquier batería LiIon o LiPoly de 3.7V / 4.2V a una velocidad máxima de 1000mA.

Hay dos LED para monitorear la tasa de carga, uno amarillo le dice que está funcionando, uno verde se ilumina cuando está listo.

Como el cargador de batería incorporado tiene carga compartida, cambiará automáticamente a la alimentación USB cuando esté disponible, en lugar de cargar / drenar continuamente la batería. Esto es más eficiente, y le permite cargar y aumentar al mismo tiempo sin interrupción en la salida, por lo que está bien para usar como un “UPS” (fuente de alimentación no interrumpible).

Solo tenga en cuenta que la tasa de carga es 1000mA máx. Y hay cierta ineficiencia durante la etapa de refuerzo, así que asegúrese de que el adaptador USB que está utilizando para cargar es de alta calidad, puede suministrar 2 A y tiene cables de alimentación gruesos ¡Siempre debe tener un LiPo conectado para administrar los picos de carga, no es opcional!

Precaución: observe las precauciones de uso y manipulación de las baterías de iones de litio que pueden incendiarse y explotar en caso de manipulación incorrecta
Instale el amplificador de potencia Adafruit y un interruptor en la tapa de la batería. Conecte el conjunto de acuerdo con las instrucciones de operación propuestas por Adafruit para su módulo.

Pantalla:

En el prototipo se usa a pantalla TFT de 5.0 ” con resolución es, 800×480  con interfaz de 40 pines y con luz de fondo LED. Es ideal para cuando necesita mucho espacio para gráficos. Estas pantallas se ven comúnmente en productos electrónicos de consumo, tales como televisores en miniatura, GPS, portátiles juegos, pantallas de automóviles, etc. Un conector de 40 pines tiene 8 pines paralelos rojos, 8 verdes y 8 azules, para una capacidad de color de 24 bits.

Este tipo de  pantallas de “reloj de punto de píxel sin procesar”  no tienen  controlador SPI / tipo paralelo ni ningún tipo de RAM. Se supone que la pantalla debe actualizarse constantemente, a 60 Hz, con un reloj de píxeles, sincronización V, sincronización H., etc. Hay algunos procesadores de gama alta como el que se utiliza en el BeagleBone que puede admitir de forma nativa dichas pantallas TTL RGB. Sin embargo, es extremadamente raro que un microcontrolador pequeño lo admita, ya que necesita hardware dedicado o un procesador muy rápido como un FPGA. No solo eso, sino que la retroiluminación requiere un convertidor elevador de modo de corriente constante que puede alcanzar hasta 24V en lugar de nuestras otras pantallas pequeñas que pueden apagar la retroiluminación de 5V

Normalmente este tipo de  pantallas TFT no incluyen un cable muy extenso , de modo que se necesita  un cable de paso de 40 pines y de 0,5 mm una estrecha gama  y un  panel de extensión para permitir la conexion. Estas placas de extensión FPC de 40 pines tienen dos conectores flexibles de 40 pines (ambos de tipo de contacto inferior) y un cable de extensión para agregar ~ 22 cm (cable de 20 cm más placa de 2 cm).

Ahora conectado el extensor , puede doblar  la cinta como se muestra en la imagen pues el cable de cinta no se puede cortar ya que en un extremo cuenta con un conector especial que habrá que conectar en el adaptador Kippah de Adafruit .

Una vez plegado el cable de cinta , pegue la pantalla en el marco impreso con pegamento de contacto, dejando la cinta unos 3 cm para conectarlo a la Rspberry Pi 3.

Para conectar la pantalla TFT  a la Raspeberry Pi sin el uso de un decodificador HDMI   el autor ha  usado el adaptador    DPI Kippah de Adafruit . Esta placa similar a un HAT  y  encaja en una Raspberry Pi B +, A +, Pi 2, Pi 3 o Zero y con una pequeña configuración de software, le permite tener lo que normalmente saldría del puerto HDMI en una pequeña pantalla plana.  No es técnicamente un HAT debido a la falta de EEPROM a bordo, pero tiene la misma forma que un Pi HAT y es una especie de cubierta, por lo que lo llama kippah.

Comparado con escudos HDMI, no tiene el costo o gasto adicional de un codificador / decodificador HDMI. Y obtiene una agradable pantalla en color ultrarrápida de 18 bits  funcionando muy bien con  pantallas de 5 “y 7” a 800×480. Esta pantalla es “nativa” por lo que obtiene todas las capacidades de aceleración de gráficos, actualización instantánea, etc. que obtendría de una pantalla HDMI

El truco de esta placa es que este complemento incorpora casi todos los pines disponibles en la Raspberry Pi y esos pines están codificados, no se pueden mover ni reorganizar . Los pines utilizados son GPIO 2 a 21 inclusive. Eso significa que no obtiene los pines UART RX / TX (sin cable de consola) y no obtiene los pines I2C de usuario estándar, los pines EEPROM I2C o pines SPI de hardware. Puede usar los pins # 22, # 23, # 24, # 25, # 26 y # 27, y los puertos USB también pueden usarse.

La otra pega es que esta pantalla reemplaza la salida HDMI / NTSC , por lo que no puede tener el DPI HAT y el HDMI funcionando a la vez, ni puede ‘voltear’ entre los dos. Además, no hay PWM disponible, por lo que no puede tener control de luz de fondo de precisión a menos que de alguna manera arme un generador PWM externo con un 555 o algo así.

Instale el soporte del monitor LCD: el pivote de la bisagra está hecho de un filamento de plástico para imprimir.

Montaje en la carcasa:

Instalada  la batería en la carcasa, pase los cables de alimentación a través de la arandela de  cable. Suelde  los hilos  procedentes de la batería que a los pines en  almohadilla de la Raspberry de 5V y GND. Soldar también dos hilos de alimentación del teclado en la placa de alimentación proporcionada por el tablero Adafruit: GND y 3.3V.

Monte la placa de Adafruit en la Raspberry Pi . Instale la tarjeta SD, conecte la pantalla e instale el conjunto en la ranura.

Instale firmemente el soporte del teclado.

Todo debería funcionar la primera vez que encienda  el interruptor de alimentación.

Para aquellos que no tengan  una impresora 3D, las partes de plástico de este kit se pueden pedir en Shapeways:https://www.shapeways.com/shops/modular_designs

Para aquellos que SI tienen una impresora 3D,el diseño  se puede descargar desde thingiverse  

El autor uso los siguientes parámetros a la hora de imprimir las piezas;

Marca de impresora:Zortrax

impresora:Zortrax M200

apoyo:

relleno:Max

Conectar un viejo monitor a un pc con salida DVI


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

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

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

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

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

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

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

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

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

Adaptadores DVI a VGA

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

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

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

adpatador

Adaptadores HDMI a DVI

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

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

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

hdmi.png

Conversion HDMI a VGA

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

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

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

adaptador.png

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

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

Conversion VGA a HDMI

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

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

vga a hdmi

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

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

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

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

Conversion   mini HDMI a  HDMI

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

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

minihdmi

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

 

Encender un led ( o lo que quiera) con su Raspberry PI 3 desde una aplicación móvil y no morir en el intento


Encender un led conectado a  una Raspberry  Pi desde una aplicación móvil puede  parecer  algo misterioso  y complejo  destinado  solo a aquellas personas  con conocimientos de programación, por lo que en principio no parece reservado a los aficionados , pero lo cierto es que como todo mito , este no del todo cierto  pues existen soluciones que permiten sin tener conocimientos  de programación conseguir controlar o monitorizar lo que quiera  en tan solo unos minutos

En efecto   gracias  a un  framework  generico desarrollado por  myDevices IO Project Builder llamado Cayenne , los desarrolladores , fabricantes y  también aficionados  pueden  construir rápidamente prototipos y proyectos que requieran controlar o monitorizar   cualquier cosa conectada a su Raspberry  , permitiendo con una sóla cuenta gratuita de Cayenne, crear un número ilimitado de proyectos  mediante una solución  muy sencilla  basada en arrastrar y soltar 

Obviamente el punto fuerte de cayenne  son las  capacidades de  IO  para que pueda controlar de forma remota sensores, motores, actuadores, incluidas los puertos  de GPIO con  almacenamiento ilimitado de datos recogidos por los componentes de hardware,   triggers y alertas,  que proporcionan las herramientas necesarias para la automatización y la capacidad de configurar alertas. Ademas también puede crear cuadros de mando personalizados para mostrar su proyecto con arrastrar y soltar widgets que también son totalmente personalizables.

Resumidamente algunas  características clave de esta novedosa  plataforma son las siguientes:

  •  Una aplicación móvil para configurar, el monitor y los dispositivos de control y sensores desde cualquier lugar.
  • Fácil instalación que conecta rápidamente los dispositivos, sensores, actuadores, y las extensiones en cuestión de minutos.
  • Motor de reglas para desencadenar acciones a través de dispositivos.
  • Panel personalizable con widgets de visualización de arrastrar y soltar.
  • Programación de las luces, motores y actuadores
  •  Control de GPIO que se pueden configurar desde una aplicación móvil o  desde un navegador
  • Acceso remoto instantáneo desde su smartphone o con un ordenador
  • Para construir un proyecto de la IO a partir de cero se ha logrado el objetivo de proporcionar  un Proyecto Generador de IO que reduce el tiempo de desarrollo de horas en lugar de meses.

Como veremos , hablamos de un constructor de sitio web fácil de usar, pero para proyectos de IOT, así que veamos  los pasos para crear un proyecto de IoT con esta potente herramienta usando  su Raspberry Pi 3

Paso1

En primer lugar , si no  tiene instalado Raspbian en su Raspberry Pi 3,  tendrá que crearse una nueva imagen  con esa distribución .

Para instalar Raspbian , vaya  a  Descargas ,  y seleccione Rasbian  ( a la derecha de Noobs),

No debe confundir   esta distribución con la versión  para PC o Mac (RASPBERRY PI DESKTOP) pues como puede entenderse es para un ordenador personal y no para una placa Raspberry Pi

raspbian.PNG

Verá que hay  dos versiones:

  • RASPBIAN STRETCH WITH DESKTOP

    Image with desktop based on Debian Stretch
    Version:August 2017
    Release date:2017-08-16
    Kernel version:4.9
    Release notes:Link
    SHA-256:309f355ad5ca3e15d4866dfa16f17e4a5412632fec00976fe270d59516668849        
  • RASPBIAN STRETCH LITE

    Minimal image based on Debian Stretch
    Version:August 2017
    Release date:2017-08-16
    Kernel version:4.9
    Release notes:Link
    SHA-256:52e68130c152895905abe66279dd9feaa68091ba55619f5b900f2ebed381427b

Obviamente si la SD es suficiente grande , lo interesante es descargar la primera  (RASPBIAN STRETCH WITH DESKTOP) en lugar de la versión mínima,

Una vez decidida,  descargue la imagen correspondiente  en su ordenador y 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 Raspbian.
  • 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.

Paso 2

Ahora que tiene la imagen de Rasbian en una SD , ya puede insertar la SD en su Raspberry Pi 3  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 ( si es una Raspberry Pi 2  que carece de Wifi)  y finalmente conectar la alimentación  para comprobar que la Raspeberry Pi  3 arranca con la nueva imagen

Como pasos mínimos recomendamos  al menos seguir los siguientes pasos:

  • Cambiar resolución de pantalla : normalmente la resolución máxima no suele ser adecuada para muchos monitores o TV , por  lo que lo mejor es cambiarla a una menor  que permita ver con comodidad el interfaz. La resolución se cambia desde el menu    Raspberry Pi Configuration  , a continuacion  System, pulsamos en Resolution    , seleccionamos una adecuada a nuestro TV/monitor    y pulsamos Set Resolution
  • Cambiar configuracion regional e idioma:  para no tener problemas  con el teclado  o incluso la conexion wifi nos interesa personalizar la configuracion de loclalizacion  para lo cual  iremos al menus de  Raspberry Pi Configuration  , a continuacion   seleccionaremos las siguintes opciones:
    • Localisation , seleccionar en Locale   . aquí elegimos la ubicación y depues puslaremos set locale,  tambien Language  por defecto es ingles=en (English) cámbielo por ejemplo a español seleccionando es(Spanish),  tambien Country puede cambiarlo por su pais ( por ejemplo =ES(Spain),  y  CharacterSet ( ISO-8859-1)
    • Timezone: seleccionar  Area  y Location
    • Keyborad: seleccionar teclado español si el que tiene coenctado
    • Wifi Country: seleccionar el pais (county) : por ejemplo ES Spain  ( si no selecionamos no se activa el WIFI)
  • Por ultimo, una vez reiniciemos la placa para que los cambio surtan efecto , si usamos la Rasberry Pi 3 , nos queda elegir  la red wifi   a la que se contactara su placa ,para lo  cual en la esquina superior derecha nos iremos al icono de redes wifi  y pulsaremos la red correspondiente   y a continuación escribiremos su clave.

Paso 3:

Desde linea de comandos  de la consola o por ssh simplemene con el comando gpio readall   se pueden leer el estado de todos los puertos del GPIO

Como realmente  lo que buscamos es controlar los puertos del GPIO  a distancia y mediante un interfaz grafico remoto, para comenzar la configuración de su Raspberry   ,lo primero es crear una cuenta gratuita en cayenne-mydevices.com que servirá tanto para entrar en la consola web como en la aplicación movil.

Para ello, vaya a la siguiente url  e introduzca simplemente su nombre ,dirección de correo y una clave de acceso  que  utilizara para validarse.

paso1.png

Paso 2

Una vez registrado , solamente tendrá que elegir la plataforma  para avanzar en el asistente. Obviamente   seleccionamos  en nuestro caso   Raspberry Pi.

paso2.png

Paso 3

Para  avanzar  en el asistente deberemos  tener instalado   Raspbian en nuestra Raspberry Pi como vimos  en el paso 1  .

Esta versión trae pre-instalado  un montón de software para la educación,  programación y uso general contando con  Python, Scratch, Sonic Pi, Java

Es interesante destacar  que Raspbian  se puede instalar con NOOBS o descargando  la imagen   siguiendo la  guía de instalación explicada en el paso 1.

paso3

paso 4

paso4

Ahora si queremos controlar dispositivos tenemos que instalar el agante   de cayenne bien con dos  comandos o bien  desde la app

Veamos en primer lugar como instalar el agente desde  la app, de modo que lo siguiente es instalar la aplicación móvil   , que esta disponible tanto para IOS como Android.

En caso de Android este es el enlace para su descarga en Google Play

Es muy interesante destacar que  desde la aplicación para el  smartphone  se puede automáticamente  localizar e instalar el software  myDevices Cayenne en su Raspberry Pi, para lo cual ambos ( smarphone y Raspberry Pi )  han de estar conectados a la misma red,por ejemplo la  Raspberry Pi al router con un cable ethernet  y su samartphone a la wifi de su hogar ( no funcionara si esta conectada por 3G o 4G)

Una vez instalada la app , cuando hayamos introducido nuestras credenciales , si esta la Raspberry en la misma red  y no tiene instalado el agente instalara automáticamente

Hay otra opción de instalar  myDevices Cayenne en su Raspberry  Pi,la cual es bajo nuestra opinión es la mas aconsejada   que es  usando el  Terminal en su  Pi o bien por SSH  ejecutando tan sólo  dos  comandos similares a los siguientes:

wget https://cayenne.mydevices.com/dl/rpi_xxxxx.sh 
sudo bash rpi_xxxxx.sh -v

El  nombre del script rpi_xxxxx.sh  varia en cada nueva instalación asi que fijese en el nombre exacto qeu le propone el  instalador web

Aunque ambos comandos  sean ejecutados desde ssh en la Raspberry Pi , directamente en el propio  interfaz web nos ira mostrando los pasos por donde vamos  en la instalación del agente:

instaññing.PNG

A la finalización del script se reiniciara la placa,  así que tenga un poco de paciencia..

!Ya esta listo! Ya sólo tiene que empezar a conectar dispositivos y sensores a sus raspberry Pi por medio del conector  GPIO  y  por supuesto  también añadirlos en la consola de Cayenne  ,  y con esto ya podrá ver el hw  que añada  en tiempo real tanto en el interfaz web como en su smartphone.

paso 5

Como ejemplo vamos a conectar un led  o un relé  a la Raspberry Pi 3 para poder controlar estos  desde Internet desde la app de Cayenne.

Por simplicidad  hemos conectado un led  donde  el ánodo (+) lo llevaremos al pin 19 del GPIO   y  el cátodo  a la masa de la  raspberry pi en el pin 21 tal y  como se ve en el dibujo

led.PNG

Para añadir una salida al interfaz gráfico , simplemente tenemos que iremos a la consola de Cayenne  y añadiremos un controlador  a nuestro dispositivo, para ello nos iremos al botón verde ( esquina superior derecha) donde pone Add new

Pulsaremos  la primera opción de Device/Widget

Nos iremos a Actuators  pues pretendemos controlar algo ,aunque pero  no vamos a conectar una placa especifica a la salida del gpio .

Ahora vamos al grupo  Relay Switch    pues  pretendemos hacer un control on/off  y por lo tanto pretendemos actuar sobre un pin   digital de salida

Ahora es importante  seleccionar  todas   las opciones siguientes;

  • Select device : seleccionaremos nuestra placa Rasberry Pi  sobre la que vayamos actuar ya que Cayenne  permite manejar un numero ilimitado de placas
  • Conectivity: es importante seleccionar Integrated GPIO
  • Channel : seleccionar aqui el pin  al que vamos a conectar el led (en nuestro caso de ejemplo  el GPIO 19 por su proximidad  a la masa)
  • Choose Widget:  lo ideal es elegir el tipo  “Button
  • Choose Icon: se puede elegir el que se desee , pero como vamos a controlar un led, lo ideal es seleccionar el icono de led
  • Finalmente  no olvidar pulsar el boton  “Add Actuator”

rele

Una vez creado el dispositivo  conectado a la placa  simplemente , bien desde la web o bien desde la propia app de Cayenne,  nos validaremos en cualquiera de los dos  y nos  aparecerá automáticamente el botón desde el que podremos cambiar el estado del pin de GPIO  pinchando sobre el  y con ello encenderemos o apagaremos el led conectado a el  (  por supuesto tambien un relé o el circuito de control que desee)

 

led.PNG

En el ejemplo vemos como el led aparece anaranjado , y esto se se refleja en la placa donde como puede verse el led también aparece iluminado:

 

 

IMG_20170902_103738[1]

Lógicamente lo ideal es usar un rele  o cualquier circuito de control , pero realmente lo importante  es poder controlar el estado del pin del GPIO , tarea que hemos realizado perfectamente sin mucha complicación  con la herramienta Cayenne,  tal y   como ha podido ver el lector en este post.

Por supuesto podrá ver el historial , programar eventos , etc, pero toda esa configuración la reservamos para un nuevo post

Problemas posible con el agente de Cayenne

A veces  al crear el widget desde cayenne aparece   el estado de ‘inaccesible’ y por mucho que repitamos el estado Unreacheable se repite, y eso aunque la raspberry Pi sea accesible y tenga conexión.

Puede que la Raspberry Pi esté ejecutando el núcleo 4.9 de Linux, pero como  webiopi (que es un software que utiliza Cayenne para controlar / monitorizar los pines GPIO en Raspberry Pi) sólo funciona en el núcleo 4.4 que es parte de la actual Raspbian Jessie8, entonces lo mas probable es  que no funcione bien el control .

Para ver la versión del kernel ejecutando el comando uname -a  desde consola o por ssh

Cayenne esta  planeando actualizar webiopi así que cuando Jessie se mueva a algo más reciente que 4.4   actualizaran el sw, pero mientras tanto, si no tiene una necesidad específica del kernel 4.9, puede bajar a 4.4 o hacer una nueva instalación de Jessie, que debe incluir 4.4 para que pueda  acceder a las funciones de Cayenne sin problemas .

Para bajar de version desde la consola  o desde ssh el siguinte comando:

sudo rpi-update 52241088c1da59a359110d39c1875cda56496764

 

A continuación mostramos la salida de ambos comandos:

 [email protected]:~ $ uname -a
Linux raspberrypi 4.9.24-v7+ #993 SMP Wed Apr 26 18:01:23 BST 2017 armv7l GNU/Linux
[email protected]:~ $ sudo rpi-update 52241088c1da59a359110d39c1875cda56496764
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12762  100 12762    0     0  33569      0 --:--:-- --:--:-- --:--:-- 33584
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** We're running for the first time
 *** Backing up files (this will take a few minutes)
 *** Backing up firmware
 *** Backing up modules 4.9.24-v7+
This update bumps to rpi-4.4.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    303      0 --:--:-- --:--:-- --:--:--   304
100 52.3M    0 52.3M    0     0   969k      0 --:--:--  0:00:55 --:--:--  274k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.4.50+
 *** depmod 4.4.50-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to 52241088c1da59a359110d39c1875cda56496764
 *** A reboot is needed to activate the new firmware
[email protected]:~ $ sudo reboot
login as: pi
[email protected]'s password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May  5 06:59:41 2017

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

[email protected]:~ $ uname -a
Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux

 

 

Una  vez que baje de version su kernel , también recomendamos desinstalar el agente de Cayenne y repetir    la instalación del agente  de Cayenne como vimos al principio

Para desinstalar el agente  ejecute los siguientes comandos desde consola o por ssh:

sudo /etc/myDevices/uninstall/./uninstall.sh

Entonces, después escribiremos:

sudo /etc/webiopi/uninstall/./uninstall.sh

 

 

Como vemos existen  infinidades de opciones  y un universo de posibilidades ,asi que  no tema , pues realmente el proceso como puede ver es bastante sencillo..

 

Clon de Nintendo con Raspberry Pi


Recientemente se celebró   el 25 aniversario de la célebre consola de  Nintenedo,  de modo que la comunidad  de aficionados  ha querido rendirle un homenaje   a este dispositivo de juego clásico,  mediante la construcción de su propia versión actualizada gracias a la impresión 3D y la electrónica de la Raspberry Pi.

La caja  recreada   a imagen y semejanza de la versión   original, esta vez  se obtiene  impresa en 3D  alojando todos los componentes,  permitiendo ademas  un personalización total , pues se puede imprimir en su color favorito.

Existiendo los mini ordenadores Raspberry Pi y siendo más que suficientes para hacer funcionar en ellos varios emuladores de consolas como NES, SNES o incluso MAME, era cuestión de tiempo que se iniciara un proyecto como PIGRRL,  nombre realmente curioso    pues  esconde el diseño de la primera consola portátil impresa en 3D que funciona mediante una Raspberry Pi, una pequeña pantalla TFT y un controlador compatible.

Esta es la lista de la compra  (coste total alrededor de 90€):

  • Raspberry Pi Model B  ( descatalogado) o  en su defecto Raspberry Pi 3 modelo B
  • PiTFT Mini Kit –( pantalla TFT  con sensor capicitivo  pero puede usarse sin el sensor)
  • Cable GPIO Pi –   ( también sirve un  viejo cable IDE de 23 pnes de  los  usados   en ordenadores )
  • PowerBoost 500 –  ( convertidor  DC /DC  con salida a 5V DC)
  • Micro Lipo Charger   (circuito de carga para la  batería)
  • SNES Controller –   ( si no se tiene se pueden usar 10 mini-pulsadores roscados normalmente abiertos)
  • 2200mAh 3.7V  ( bateria de litio)ry
  • Power slide switch – ( cualquier interruptor pequeño nos deberia de servir)

Por supuesto, una vez tengamos todo el material podemos ir imprimiendo nuestra carcasa portátil en forma de Game Boy donde acomodaremos la Raspberry Pi una vez esté completamente configurada.

Las piezas necesarias las podemos comprar online por unos 90€, a los que habría que añadir la tarjeta SD que elijamos, por menos del precio de una Nintendo DS tenemos miles de juegos gracias a los emuladores libres que podemos utilizar en la Raspberry Pi dentro de PIGRRL.

Veamos   los  pasos para la construcción de esta ingeniosa consola:

 

1-Descargar la caja de Raspberry Pi con forma de Game Boy

PIGRRL Raspberry Gameboy 3

 

Este proyecto consta de sólo dos piezas  que están optimizados para imprimir en cualquier impresora 3D FDM con un área de construcción mínima de 150mm x 150mm x 100mm.  

Para ello debemos descargarnos todos los archivos STL de DIY Raspberry Pi Game Boy en Thingiverse.

Piboy-top.stl
Piboy-bottom.stl
PLA @ 230
2 conchas
10% Infil
0,2 altura de capa
Velocidades de 90/120
Sin balsa
Sin soporte

Ajuste a presión :  Las dos piezas encajan juntas y se aseguran con tornillos philips.Los cargadores Raspberry Pi, PowerBoost 500 y Micro Lipo se montan en la parte piboy-bottom.stl con tornillos phillips # 6-32 x 1/2 ‘.

 

Los acabados en 3D dependen de cada impresión pero los diseños se han optimizado para ser impresos en ABS, al ser dos impresiones: parte frontal y parte trasera, de modo que podemos tener una Game Boy de dos colores .

 

 

2-Ensamblaje

Una vez descargado el modelo 3D de Game Boy para PIGRRL deberemos proceder al montaje, para ello requeriremos un soldador, todos los componentes citados  y pro supuesto algo de perseverancia ya que toca cablear a mano todo el proyecto.

Todos los diagramas simplificados y una clara explicación del proyecto se pueden encontrar en esta guía de Adafruit   paso a paso  , pero para entender  el montaje  mejro resumiremos  las partes mas importantes para que  el lector se haga una ideal del montaje  final

La siguiente ilustración es una referencia del circuito de alimentación y los botones del controlador de juego cuyos circuitos impresos se han reciclado de un viejo mando . La posición de los componentes no es exacta y tampoco esta  a escala.Si no se tiene un viejo mando obviamente se pueden usar pulsadores roscados ( aunque no quedara tan realista)

Gaming_circuit-diagram.png
Circuitos de potencia
La carga de la batería se realiza mediante uno de los circuitos que soldaremos y dado el mínimo consumo de la Raspberry Pi pronto comprobaremos que podemos jugar muchas horas al MAME con PIGRRL.
Utilizaremos una batería recargable grande para alimentar el PiGrrl durante unas horas! Para mantener la batería recargada, utilice una tarjeta MicroLipo o MiniLipo (que son lo mismo básicamente, sólo uno tiene un microB toma, el otro tiene una toma de miniB)
Lo bueno de esta batería es que es bastante pequeña y densa, pero es  de 2.7V  ( y NO  de 5V ) asi que se se usa  un convertidor cc/cc para elevar a 5V.

El convertidor  es  un PowerBoost500 que puede aumentar el 3.7V hasta  5V para alimentar a la RPi

Cuando la batería cae demasiado bajo, se encenderá una luz roja en el PowerBoost para avisarle que debe recargar la batería.

Usted puede recargar y jugar al mismo tiempo

Circuitos del teclado

Con el fin de hacer que la almohadilla de control se sienta como el original, vamos a “reciclar” un controlador SNES. Al abrirlo y cortar el PCB podemos reutilizar los elastómeros de goma y los botones.

La forma en que funciona el teclado es súper simple. Cada elastómero tiene un pedazo de material conductor en la parte posterior. Cuando presiona hacia abajo en la PCB, pone en cortocircuito dos cojines de oro juntos. Una almohadilla está molida, la otra almohadilla es la señal. Reutilizaremos el código GPIO de CupCade para que cada pad sea un pin RasPi. Cuando el pin se pone en cortocircuito a tierra, vamos a generar una pulsación de tecla

Gaming_diagram-buttons.png
Su teclado puede ser un poco diferente mirando pero no se preocupe  pues basta con trazar el cobre para identificar la traza de tierra común para cada conjunto de botones
A continuación se muestra una lista de conexiones de Raspberry Pi que se conectarán a los botones correspondientes. 1-26 son el número de cables en un haz de cables Pi, siendo 1 el cable blanco (tierra). No nos conectamos a los últimos 6 pines, ya que se utilizan para la pantalla PiTFT!
  1. n/c – not connected (3v3)
  2. connect to output of PowerBoost500 (5v0)
  3. LEFT BUTTON (SDA)
  4. n/c (5v0)
  5. RIGHT BUTTON – (SCL)
  6. connect to ground of boost (GND)
  7. DOWN BUTTON (GPIO #4)
  8. n/c (TXD)
  9. connect to ground on Dpad (GND)
  10. n/c (RXD)
  11. UP BUTTON (GPIO #17)
  12. START BUTTON (GPIO #18)
  13. A BUTTON (GPIO #27)
  14. Select/start ground pad (GND)
  15. B BUTTON (GPIO #22)
  16. SELECT BUTTON (GPIO #23)
  17. n/c (3v3)
  18. n/c (GPIO #24)
  19. n/c (MOSI)
  20. AB BUTTON ground pad (GND)
  21. n/c
  22. n/c
  23. n/c
  24. n/c
  25. n/c
  26. n/c

 

Para conectar Al GPIO lo mejor es usar un conector de 26 pines ( de los  usados en los conectores IDE de los HDD) . Retire los cables # 1, 4 , 8 , 10 , 17 , 18 , 19 . ¡No necesitaremos éstos también, así que recórtelos abajo!

Gaming_cut-wires-4_8_10_17_18_19-too.jpg

Estas  son las conexiones  a realizar

  • Izquierda DPad :Alambre de soldadura # 3 al botón izquierdo en el rastro expuesto del PCB de DPad. Hay un pequeño agujero que puedes enhebrar el cable.
  • Derecho DPad :Alambre de soldadura # 5 al botón derecho del PCB de DPad.
  • Abajo DPad ;Añada el alambre # 7 al botón de desconexión de la PCB de DPad. Pinzas son útiles durante la soldadura!
  • DPAD común :Alambre de soldadura # 9 a la mas de la DPad.
  • Up DPad :Alambre de soldadura # 11 al botón de arriba de la DPad.
  • Botón de inicio:Alambre de soldadura # 12 al botón de arranque en la PCB de arranque + seleccione.
  • Un botón :Solde el alambre # 13 al botón A en el A + B PCB.
  • Inicio Común + Seleccionar :Alambre de soldadura # 14 al suelo de la PCB de arranque + seleccione.
  • B Botón:Solde el alambre # 15 al botón B en el A + B PCB.
  • Botón Seleccionar:Solde el alambre # 16 al botón de selección en la PCB de Start + Select.
  • Común A + B: Alambre de soldadura # 20 a la tierra común del A + B PCB.
Gaming_Wire-_20-AB-ground.jpg

 

Como vemos el montaje de esta videoconsola impresa en 3D es relativamente simple  y quizás lo mas  laborioso  sea  las conexiones de los pulsadores realizando  las soldaduras y asegurándonos eso si  de que los cables son suficientes para que todo encaje en la propia carcasa.

raspberry pi game boy

Montada la energía  y los controles   ya solo queda montar la  pantalla  y la propia Raspberry Pi

Pantalla  PiTFT Mini Kit
Gaming_screen-solder-front.jpg

 

El  kit de pantalla táctil de 2.8 ‘incluye los extras que se necesita para montar la pantalla. Sólo necesita soldar los cabezales extraxuales macho y hembra 2×13 a la PCB. Asegúrese de revisar la  guía paso a paso haciendo clic en el enlace de abajo!

Sugerencia de montaje; Aquí está una extremidad rápida en soldar esas cabeceras. Si tienes algo divertido, coloca un poco de tac en los lados de los cabezales para mantenerlos en su lugar mientras suelda y lo retira cuando hayas terminado.

 

 

3-Configuración de la tarjeta SD

Puesto que estamos usando la misma configuración de controlador en el CupCade también vamos a utilizar la misma imagen de tarjeta SD! Descargue esta imagen que tiene soporte NES

Este es un archivo grande (alrededor de 840 megabytes) y tomará un tiempo para transferir.

Después de descargar, la imagen del disco necesita ser instalada en una tarjeta SD (4 GB o más). Si eres nuevo en esto, el proceso se explica en Adafruit’s Raspberry Pi Lesson 1 .

4-Configuración de Pi

Conecte un teclado al PiTFT + Pi e inserte la nueva tarjeta SD CupCade.
El Pi puede arrancar y reiniciar para terminar la configuración (como expandir la imagen)
Una vez que arranque el Cupcade usted notará que la pantalla es vertical. ¡Tiene que girar la pantalla!

Pulse Alt-F3 para abandonar el software GAMERA y el shell. Inicie sesión con pi / frambuesa y edite /etc/modprobe.d/adafruit.confcon sudo nano /etc/modprobe.d/adafruit.conf

Y cambiar la línea fbtft a esto:

options fbtft_device name=adafruitts frequency=80000000 fps=60 rotate=270

 

A continuación, sudo reiniciar para que la nueva rotación activar!

Siempre se puede cerrar con un teclado conectado escribiendo ESC que saldrá del emulador / GAMERA

5-Cargar ROMs

Su PiGrrl puede ejecutar MAME ROMs, así como NES!  Haydocumentación sobre cómo instalar ROMs en la página tutorial de cupcade

Para ROMs MAME, ¡sólo podrás jugar con estilos “horizontales / paisajistas”!

Para ROMs NES, necesita utilizar el formato de archivo .nes (no .ZIP!) Y colocarlos en la ruta de directorio siguiente.

~ / BOOT / fceu / rom 

Todas las ROM de NES deben estar en esta carpeta para que el emulador los ejecute.

 

Uan vez creada la imagen de ls SD , insertela  y pruebe el circuito con un micro cable USB conectado al puerto micro USB del Raspberry Pi. Conecte un teclado USB al lado del Pi para la entrada.

El PiTFT debería arrancar en la ROM del juego de   Aggregator

Recuerde que tiene que configurar la rotación de la pantalla para que sea 270 así que comprueba el paso anterior si aún no lo has hecho!

Coloque la junta de elastómero D-Pad sobre el PCB y coloque la parte de plástico en la parte superior. Presione el D-Pad hacia arriba y hacia abajo para probar una conexión sólida. Añadir el resto de las juntas de elastómero y seleccionar un juego para jugar la prueba.

Ejecutar Mario o algo similar para probar la latencia. Puede ser un poco difícil de jugar con las gomas asi  pero se sentirá más natural con la parte superior  montad  así que una vez probado todo ya es momento de terminar de montar todo  y cerrar  la caja.

raspberry pi game boy 2

Vemos el aspecto final donde quizás destaque  la tarjeta SD insertada , pero  lo cierto es que es una consola portátil mucho más versatil que la Nintendo DS o incluso la Playstation Vita, no es especialmente más potente pero dado su espíritu open source seguro que encontraremos decenas de emuladores que hacer funcionar con ella.

Además, podemos acompañarla con un mini teclado inalámbrico para poder realizar todo tipo de tareas con ella en cualquier lugar, aunque la pantalla sea táctil

En el siguiente vídeo de Adafruit podemos ver resumidamente el proceso de montaje completo para hacernos una idea completa de  lo relativamente sencillo que es el proceso de su construcción:

 

 

Como muchos de los proyectos que vemos realizados con impresoras 3D PIGRRL es completamente opensource y tenemos las instrucciones de montaje a nuestra disposición.

 

Imágenes de Adafruit y usuarios de Thingiverse

Construir una consola retro con clon Raspberry Pi :posibles problemas de instalación


 

Si  ha seguido  los  sencillos  pasos  que en un post anterior   y  aqui  habra visto  como es posible  de una manera muy sencilla  y gratuita  cargar en una placa que cuente con el chip  H3 / Mali (por ejemplo todas las versiones de Orange Pi o Banana Pi )  una  imagen de Retropie con la mayoría de los núcleos de Libretro encima de una versión de Jessica Desktop de Armbian preinstalada ,incluyendo   ademas  OpenELEC.

Hablamos  por tanto de convertir nuestro clon de Raspberry pi en una consola gracias  a la distribución de juegos y medios basada en Armbian (Debian 8), es decir  Full Armbian 5.23 con versión de escritorio de Jessie con el núcleo 3.4.113 (backdoors fijados) que permite emular   las siguintes maquinas: Nintendo DS, Neo Geo Pocket, Neo Geo, Neo Geo, Neo Geo, Nintendo, Neo Geo, Neo Geo, Neo Geo Pocket Color, PC Engine (TurboGrafx), Playstation 1, Playstation Portable, Sega32x, SegaCD, SG-1000, Super Nintendo, Vectrex, ZxSpectrum, Amiga ,Atari 5200 ,Atari 8bit (modelos 400 800 XL XE) ,Coco / Tandy ,Colecovision ,Creativision ,Daphne (emulador Philips Cdi),Dosbox (versión GLES) y Dreamcast (fijo reicast-joyconfig),OpenMSX (con soporte .dsk) ,PPSSPP ,TI99 / 4A (Texas Instruments) entre otras.

Realmente los pasos para crear  la sd e instalar los juegos de la plataforma que nos interese  no suelen dar problemas , pero  como en casi todo en esta vida, a veces la suerte no esta de nuestro lado y  hay problemas  que nos pueden impedir  cumplir nuestro cometido.

Veamos algunos de los problemas que nos podemos enfrentar en la instalación y puesta en marcha del entrono de RetroPie  en nuestro clon de Raspeberry Pi:

 

 

En caso de que no arranque su distribucion

 

En caso de que su placa no parezca arrancar, trate de reformatear su tarjeta SD con SDFormatter 4.0 por Trendy (con ajuste de tamaño )  pruebe con una fuente de alimentación diferente (real 2A) y  otra  sdcard (Original, class10 recomendado), y por último, pero no menos importante, asegúrese de estar conectado al televisor compatible con HDMI 720 (sin adaptadores DVI)

En el primer arranque se instalará automáticamente el sistema, cambiara el tamaño de la tarjeta SD y se reiniciara de nuevo asi que por favor tenga paciencia

 

 

 

 

 Configurar controladores

En el primer arranque de su sistema de archivos se ampliará automáticamente, a continuación, se dará la bienvenida con la siguiente pantalla-este menú configurará los controles de emulación y emuladores RetroArch:

pantalla de bienvenida

Mantenga presionado cualquier botón de su teclado o gamepad y el nombre aparecerá en la parte inferior y luego abrir en un menú de configuración:

Welcomecreengamepadname

Siga las instrucciones en pantalla para configurar su gamepad, si se queda sin botones, simplemente mantenga presionado un botón para omitir cada botón no utilizado. Cuando llegue a OK presione el botón que ha configurado como “A” .

Welcomecreengamepadconfigure

Si desea configurar más de un controlador, puede hacerlo desde el menú de inicio de emulationstation. Para obtener más detalles sobre las configuraciones de controlador manual, consulte esta página aquí .

Vea los siguientes diagramas para referencia:

 

Snes_controller

controlador SNES

Xbox360_controller

Controlador XBox 360

Ps3_controller

Controlador PS3

 

 

 Teclas de acceso rápido

Las teclas de acceso rápido le permiten presionar una combinación de botones para acceder a funciones como guardar, cargar y salir de los emuladores.

El siguiente gráfico muestra las combinaciones de teclas de acceso directo predeterminadas. De forma predeterminada, la tecla de acceso directo está seleccionada de modo que significa que mantiene pulsada la tecla select mientras pulsa otro botón para ejecutar un comando.

Tenga en cuenta que las teclas de acceso rápido sólo son específicas para los emuladores basados ​​en retroarch / libretro.

Teclas de acceso rápido Acción
Seleccionar + Inicio Salida
Seleccionar + hombro derecho Salvar
Seleccionar + hombro izquierdo Carga
Seleccionar + Derecha Aumento de ranura de estado de entrada
Seleccionar + Izquierda Disminución de la ranura del estado de entrada
Seleccione + X Menú RGUI
Seleccione + B Reiniciar

 EmulationStation

Cuando vea EmulationStation por primera vez puede preguntarse por qué no ve sistemas como el SNES o Game Boy- no se preocupe, ellos están instalados en el sistema, las ROM solo necesitan ser agregadas a sus respectivas carpetas de ROM antes de que se vuelvan visibles

Los emuladores ya están instalados , pero sólo aparecen en EmulationStation cuando se agregan roms.

Para agregar ROMs, simplemente coloque los archivos en la carpeta / home / pi / RetroPie / roms / $ CONSOLE, donde $ CONSOLE es el nombre de la consola de destino, por ejemplo, snes o arcade. Puede iniciar Desktop desde EmulationStation y conectar una unidad USB con sus ROMs. Las carpetas de Roms también son partes de samba.

 

primer arranque

TARJETA SD:

 RetroPie se construye sobre Raspbian (un sistema operativo Linux para el Raspberry Pi) y como tal la partición en la tarjeta SD es EXT4 (un sistema de archivos linux) que no es visible en los sistemas Windows, por lo que la tarjeta se mostrará como un Tamaño más pequeño que de costumbre y usted no será capaz de ver todo en la tarjeta, pero todo está allí. Podrá acceder al sistema de archivos a través de la red por smb  o bien usando cualquier utilidad de sftp.

 

Transferencia de Roms

Debido a la naturaleza / complejidad de la Ley de Derechos de Propiedad Intelectual / Propiedad Intelectual, que difiere significativamente de País a País, los ROM no pueden ser provistos con RetroPie y deben ser proporcionados por el usuario. Teóricamente sólo debería  tener ROMs de juegos que posee o haya poseído en alguna ocasión .

Hay tres métodos principales de transferencia de roms:

 USB

Asegúrese de que su USB esté formateado a FAT32 o NTFS

  • Primero cree una carpeta llamada retropie en su memoria USB
  • Enchúfelo en el pi y espere a que termine de parpadear
  • Sacar el USB y conectarlo a una computadora
  • Agregue las roms a sus respectivas carpetas (en la carpeta retropie/roms )
  • Vuelva a enchufarlo en la frambuesa pi
  • Espere a que termine de parpadear
  • Refresque emulationstation eligiendo reiniciar emulationstation desde el menú de inicio

Vea este video como referencia:

 

 SFTP

Es necesario habilitar SSH para que SFTP funcione.  A partir de RetroPie 4.2, para mantener la imagen predeterminada segura, SSH se desactiva de forma predeterminada, pero se puede volver a habilitar en raspi-config :

sudo raspi-config

Opciones de interfaz >> SSH >> Habilitar >> reiniciar tu pi

Necesitara  que ambos PC y placa estén conectados  por  cable Ethernet

.Hay muchos programas de SFTP por ahí, para las ventanas muchas personas utilizan WinSCP para mac se puede utilizar algo como Cyberduck

Winscp

 

En el caso de  la Orange Pi , Usuario: root y  contraseña predeterminada: orangepi

 

 Smb

En una red   Windows  simplemente busque la unidad de red  \RETRORANGEPI\roms en el explorador  de  su pc

 También puede reemplazar retrorangepie con la dirección IP de su placa 

rom2

En caso de MAC OS X, seleccione el menú “Ir” y “Conectar al servidor”.Escriba smb://retroorangepi y pulse “Conectar”.

 

Personalización vía shell

Se  pueden ejecutar comandos en nuestra distribución de Retropie  como en cualquier otra distribución basada en Linux

Debido a la configuración personalizada, no ejecute ‘sudo apt-get upgrade’ pues puede romper algunas cosas.

A continuación algunas comandos básicos ;

Reiniciar:sudo reboot

Apagar: sudo shutdown -h now

Cambio de directorio cd /path/to/directory

Lista de archivos en el directorio actual ls

Retropie Script de instalación: sudo /home/pi/RetroPie-Setup/retropie_setup.sh

Editar archivos con Nano: sudo nano /path/to/file.txt

Cambio de propietario a Pi: sudo chown pi:pi filetobechanged

Cambiar el propietario de la carpeta y todos los archivos de la carpeta a Pi: sudo chown -R pi:pi /folder/to/be/changed

Hacer script de shell ejecutable:sudo chmod +x yourshellscript.sh

Volver a  la interfaz: exit

 

 

Monitorize su Raspberry Pi y Orange Pi


Puede ser muy útil monitorizar la carga de la CPU, la memoria y el uso de almacenamiento, y el tráfico de red de sus placas  a un estilo similar a  como lo hacen las  herramientas gráficas como System Monitor en Ubuntu que proporciona la mayor parte de la información, y monit que se puede usar en  servidores .

Recientemente se ha presentado  la utilidad RPi-Monitor para las placas Raspberry Pi ,Orange Pi  (versión parcheada) e incluso  para  la Banana Pi , y  como vamos a ver, es  muy fácil de instalar, proporcionando un panel gráfico limpio de muchas variables diferentes de lo que ocurren en nuestra placa.

En el caso de que tenga una placa Orange Pi ( en el ejemplo es la placa Orange Pi PC)  , lo recomendable es usar Armbian (versión servidor) , por lo que esta  sería  la plataforma ideal  para ejecutar RPi-Monitor (OPi-Monitor), pero el uso debe ser exactamente el mismo en Raspberry Pi aunque los pasos de instalación son algo diferentes .

Para instalar RPi-Monitor en Orange Pi PC ,One,etc   abra un terminal ssh  o acceda a la consola serie y puede instalar e iniciar el servicio con una sola línea de comandos:

 sudo armbianmonitor -r

Tras lanzar el comando , debería sacar por pantalla una salida similar a la siguiente:

/ _ \ _ __ __ _ _ __ __ _ ___ | _ \(_) | _ \ / ___|
| | | | ‘__/ _` | ‘_ \ / _` |/ _ \ | |_) | | | |_) | |
| |_| | | | (_| | | | | (_| | __/ | __/| | | __/| |___
\___/|_| \__,_|_| |_|\__, |\___| |_| |_| |_| \____|
|___/
Welcome to ARMBIAN 5.30 stable Ubuntu 16.04.2 LTS 3.4.113-sun8i
System load: 0.31 0.51 0.23 Up time: 3 min
Memory usage: 4 % of 1000MB IP: 192.168.1.48
CPU temp: 33°C
Usage of /: 8% of 15G
[ 0 security updates available, 73 updates total: apt upgrade ]
Last check: 2017-08-09 16:23
[ General system configuration: armbian-config ]
Last login: Wed Aug 9 16:24:46 2017
[email protected]:~# sudo armbianmonitor -r
Extracting templates from packages: 100% to 5 minutes. Be patient please
Selecting previously unselected package libxau6:armhf.
(Reading database … 43590 files and directories currently installed.)
Preparing to unpack …/libxau6_1%3a1.0.8-1_armhf.deb …
Unpacking libxau6:armhf (1:1.0.8-1) …
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack …/libxdmcp6_1%3a1.1.2-1.1_armhf.deb …
Unpacking libxdmcp6:armhf (1:1.1.2-1.1) …
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack …/libxcb1_1.11.1-1ubuntu1_armhf.deb …
Unpacking libxcb1:armhf (1.11.1-1ubuntu1) …
Selecting previously unselected package libx11-data.
Preparing to unpack …/libx11-data_2%3a1.6.3-1ubuntu2_all.deb …
Unpacking libx11-data (2:1.6.3-1ubuntu2) …
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack …/libx11-6_2%3a1.6.3-1ubuntu2_armhf.deb …
Unpacking libx11-6:armhf (2:1.6.3-1ubuntu2) …
Selecting previously unselected package libxext6:armhf.
Preparing to unpack …/libxext6_2%3a1.3.3-1_armhf.deb …
Unpacking libxext6:armhf (2:1.3.3-1) …
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack …/fonts-dejavu-core_2.35-1_all.deb …
Unpacking fonts-dejavu-core (2.35-1) …
Selecting previously unselected package fontconfig-config.
Preparing to unpack …/fontconfig-config_2.11.94-0ubuntu1.1_all.deb …
Unpacking fontconfig-config (2.11.94-0ubuntu1.1) …
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack …/libfreetype6_2.6.1-0.1ubuntu2.3_armhf.deb …
Unpacking libfreetype6:armhf (2.6.1-0.1ubuntu2.3) …
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack …/libfontconfig1_2.11.94-0ubuntu1.1_armhf.deb …
Unpacking libfontconfig1:armhf (2.11.94-0ubuntu1.1) …
Selecting previously unselected package fontconfig.
Preparing to unpack …/fontconfig_2.11.94-0ubuntu1.1_armhf.deb …
Unpacking fontconfig (2.11.94-0ubuntu1.1) …
Selecting previously unselected package libpixman-1-0:armhf.
Preparing to unpack …/libpixman-1-0_0.33.6-1_armhf.deb …
Unpacking libpixman-1-0:armhf (0.33.6-1) …
Selecting previously unselected package libxcb-render0:armhf.
Preparing to unpack …/libxcb-render0_1.11.1-1ubuntu1_armhf.deb …
Unpacking libxcb-render0:armhf (1.11.1-1ubuntu1) …
Selecting previously unselected package libxcb-shm0:armhf.
Preparing to unpack …/libxcb-shm0_1.11.1-1ubuntu1_armhf.deb …
Unpacking libxcb-shm0:armhf (1.11.1-1ubuntu1) …
Selecting previously unselected package libxrender1:armhf.
Preparing to unpack …/libxrender1_1%3a0.9.9-0ubuntu1_armhf.deb …
Unpacking libxrender1:armhf (1:0.9.9-0ubuntu1) …
Selecting previously unselected package libcairo2:armhf.
Preparing to unpack …/libcairo2_1.14.6-1_armhf.deb …
Unpacking libcairo2:armhf (1.14.6-1) …
Selecting previously unselected package libdatrie1:armhf.
Preparing to unpack …/libdatrie1_0.2.10-2_armhf.deb …
Unpacking libdatrie1:armhf (0.2.10-2) …
Selecting previously unselected package libdbi1:armhf.
Preparing to unpack …/libdbi1_0.9.0-4_armhf.deb …
Unpacking libdbi1:armhf (0.9.0-4) …
Selecting previously unselected package libencode-locale-perl.
Preparing to unpack …/libencode-locale-perl_1.05-1_all.deb …
Unpacking libencode-locale-perl (1.05-1) …
Selecting previously unselected package libfile-which-perl.
Preparing to unpack …/libfile-which-perl_1.19-1_all.deb …
Unpacking libfile-which-perl (1.19-1) …
Selecting previously unselected package libgraphite2-3:armhf.
Preparing to unpack …/libgraphite2-3_1.3.6-1ubuntu1_armhf.deb …
Unpacking libgraphite2-3:armhf (1.3.6-1ubuntu1) …
Selecting previously unselected package libharfbuzz0b:armhf.
Preparing to unpack …/libharfbuzz0b_1.0.1-1ubuntu0.1_armhf.deb …
Unpacking libharfbuzz0b:armhf (1.0.1-1ubuntu0.1) …
Selecting previously unselected package libtimedate-perl.
Preparing to unpack …/libtimedate-perl_2.3000-2_all.deb …
Unpacking libtimedate-perl (2.3000-2) …
Selecting previously unselected package libhttp-date-perl.
Preparing to unpack …/libhttp-date-perl_6.02-1_all.deb …
Unpacking libhttp-date-perl (6.02-1) …
Selecting previously unselected package libio-html-perl.
Preparing to unpack …/libio-html-perl_1.001-1_all.deb …
Unpacking libio-html-perl (1.001-1) …
Selecting previously unselected package liblwp-mediatypes-perl.
Preparing to unpack …/liblwp-mediatypes-perl_6.02-1_all.deb …
Unpacking liblwp-mediatypes-perl (6.02-1) …
Selecting previously unselected package liburi-perl.
Preparing to unpack …/liburi-perl_1.71-1_all.deb …
Unpacking liburi-perl (1.71-1) …
Selecting previously unselected package libhttp-message-perl.
Preparing to unpack …/libhttp-message-perl_6.11-1_all.deb …
Unpacking libhttp-message-perl (6.11-1) …
Selecting previously unselected package libhttp-daemon-perl.
Preparing to unpack …/libhttp-daemon-perl_6.01-1_all.deb …
Unpacking libhttp-daemon-perl (6.01-1) …
Selecting previously unselected package libipc-sharelite-perl.
Preparing to unpack …/libipc-sharelite-perl_0.17-3build3_armhf.deb …
Unpacking libipc-sharelite-perl (0.17-3build3) …
Selecting previously unselected package libjson-perl.
Preparing to unpack …/libjson-perl_2.90-1_all.deb …
Unpacking libjson-perl (2.90-1) …
Selecting previously unselected package libthai-data.
Preparing to unpack …/libthai-data_0.1.24-2_all.deb …
Unpacking libthai-data (0.1.24-2) …
Selecting previously unselected package libthai0:armhf.
Preparing to unpack …/libthai0_0.1.24-2_armhf.deb …
Unpacking libthai0:armhf (0.1.24-2) …
Selecting previously unselected package libpango-1.0-0:armhf.
Preparing to unpack …/libpango-1.0-0_1.38.1-1_armhf.deb …
Unpacking libpango-1.0-0:armhf (1.38.1-1) …
Selecting previously unselected package libpangoft2-1.0-0:armhf.
Preparing to unpack …/libpangoft2-1.0-0_1.38.1-1_armhf.deb …
Unpacking libpangoft2-1.0-0:armhf (1.38.1-1) …
Selecting previously unselected package libpangocairo-1.0-0:armhf.
Preparing to unpack …/libpangocairo-1.0-0_1.38.1-1_armhf.deb …
Unpacking libpangocairo-1.0-0:armhf (1.38.1-1) …
Selecting previously unselected package librrd4:armhf.
Preparing to unpack …/librrd4_1.5.5-4_armhf.deb …
Unpacking librrd4:armhf (1.5.5-4) …
Selecting previously unselected package librrds-perl:armhf.
Preparing to unpack …/librrds-perl_1.5.5-4_armhf.deb …
Unpacking librrds-perl:armhf (1.5.5-4) …
Selecting previously unselected package rpimonitor.
Preparing to unpack …/rpimonitor_2.10-1_all.deb …
Unpacking rpimonitor (2.10-1) …
Processing triggers for libc-bin (2.23-0ubuntu7) …
Processing triggers for man-db (2.7.5-1) …
Processing triggers for systemd (229-4ubuntu17) …
Processing triggers for ureadahead (0.100.0-19) …
Setting up libxau6:armhf (1:1.0.8-1) …
Setting up libxdmcp6:armhf (1:1.1.2-1.1) …
Setting up libxcb1:armhf (1.11.1-1ubuntu1) …
Setting up libx11-data (2:1.6.3-1ubuntu2) …
Setting up libx11-6:armhf (2:1.6.3-1ubuntu2) …
Setting up libxext6:armhf (2:1.3.3-1) …
Setting up fonts-dejavu-core (2.35-1) …
Setting up fontconfig-config (2.11.94-0ubuntu1.1) …
Setting up libfreetype6:armhf (2.6.1-0.1ubuntu2.3) …
Setting up libfontconfig1:armhf (2.11.94-0ubuntu1.1) …
Setting up fontconfig (2.11.94-0ubuntu1.1) …
Regenerating fonts cache… done.
Setting up libpixman-1-0:armhf (0.33.6-1) …
Setting up libxcb-render0:armhf (1.11.1-1ubuntu1) …
Setting up libxcb-shm0:armhf (1.11.1-1ubuntu1) …
Setting up libxrender1:armhf (1:0.9.9-0ubuntu1) …
Setting up libcairo2:armhf (1.14.6-1) …
Setting up libdatrie1:armhf (0.2.10-2) …
Setting up libdbi1:armhf (0.9.0-4) …
Setting up libencode-locale-perl (1.05-1) …
Setting up libfile-which-perl (1.19-1) …
Setting up libgraphite2-3:armhf (1.3.6-1ubuntu1) …
Setting up libharfbuzz0b:armhf (1.0.1-1ubuntu0.1) …
Setting up libtimedate-perl (2.3000-2) …
Setting up libhttp-date-perl (6.02-1) …
Setting up libio-html-perl (1.001-1) …
Setting up liblwp-mediatypes-perl (6.02-1) …
Setting up liburi-perl (1.71-1) …
Setting up libhttp-message-perl (6.11-1) …
Setting up libhttp-daemon-perl (6.01-1) …
Setting up libipc-sharelite-perl (0.17-3build3) …
Setting up libjson-perl (2.90-1) …
Setting up libthai-data (0.1.24-2) …
Setting up libthai0:armhf (0.1.24-2) …
Setting up libpango-1.0-0:armhf (1.38.1-1) …
Setting up libpangoft2-1.0-0:armhf (1.38.1-1) …
Setting up libpangocairo-1.0-0:armhf (1.38.1-1) …
Setting up librrd4:armhf (1.5.5-4) …
Setting up librrds-perl:armhf (1.5.5-4) …
Setting up rpimonitor (2.10-1) …
[ ok ] Starting rpimonitor (via systemctl): rpimonitor.service.
Processing triggers for libc-bin (2.23-0ubuntu7) …
Now patching RPi-Monitor to deal correctly with H3
Now you’re able to enjoy RPi-Monitor at http://192.168.1.48:8888
[email protected]:~#

 

Realmente en la instalación anterior en una Orange pi PC con ArmBian ,el comando tomó alrededor de mucho menos  de 8 minutos de los anunciados (unos 3 minutos)   y descargó e instaló los paquetes requeridos.

Si  la salida del log de ejecución  es mas corta que la anterior, o en la finalizacion  nos ofrece la url por defecto (http://192.168.0.112:8888)   ,es decir con una url diferente  a la que tengamos para conectarnos, probablemente  no  se habrá instalado correctamente por algún tipo de incompatibilidad de algún paquete que se tenga ya instalado ( por ejemplo el sw de cayenne que no funciona aún en una Orange pi Pc).

En cualquier caso, la solución es bastante simple: o desistalamos el paquete que sospechemos o lo mas rápido: volvemos a instalar ArmBian en la microSD (aqui puede ver los pasos)

 

Una vez completada la instalación correctamente, redirijase  a una ventana del navegador de su computadora a la URL que se proporciona al final del script para acceder a la interfaz web (en el  ejemplo http://192.168.1.48:8888)

 

Ahora haga clic en el botón verde de Inicio para que el sistema recopile datos automáticamente y terminará en la página de estado con información sobre la versión, el tiempo de actividad, el uso de la CPU, la temperatura, el uso de la memoria, el uso de tarjetas SD y el tráfico de red.

 

Eso es interesante , pero la parte favorita es la pestaña de Estadísticas pues muestra cuadros realmente limpios y útiles

 

Pueden ser confusas al principio ya que se utilizan dos escalas para elementos múltiples, con por ejemplo el izquierdo (0 a 100) que muestra el uso de la CPU en porcentaje y temperatura SoC, con la escala izquierda (0 a 5) usada para las otras métricas tales como frecuencia de CPU en GHz, CPUs Activas, etc … ,pero  cada elemento puede ser fácilmente desactivado y habilitado.

Existen 7 tipos de gráficos: Uptime, velocidades de carga / reloj / temperatura, detalles CPU Stats, memoria. Disks – boot, Disks – root y Network, y 6 opciones de actualización con la más rápida actualización cada 10 segundos para una ventana de 24 horas, y la más lenta cada 60 minutos para una vista de un año de la placa.

La pestaña Opciones sólo se utiliza para seleccionar el tiempo de actualización predeterminado y también puede acceder a los gráficos en el navegador de su teléfono inteligente explorando el núcleo QR en la sección Acerca de.

 

Por cierto, RPi-monitor es open source  ,lo que significa que puede estudiar el código,mejorarlo  y  reportar  bugs en  github. También puede obtener mas información y actualizaciones en el  blog del desarrollador.