Tiny11 para Arm en una Raspberry Pi 4


La reciente versión de Windows 11, Tiny11, ha reducido el sistema operativo estrella de Microsoft a lo esencial y lo ha hecho utilizable en hardware antiguo y de baja especificación. Tiny11 ya está disponible para su descarga en https://archive.org/details/tiny-11_202302. La ISO puede descargarse directamente o a través del protocolo BitTorrent. Sea cual sea la opción elegida, la ISO descargada tendrá un tamaño aproximado de 3 GB.

Por tanto Tiny11 es un sistema operativo que hace honor a su nombre al reducir una instalación estándar de Windows 11 de más de 20 GB en disco a aproximadamente 8 GB y «funciona de maravilla» en un sistema con sólo 2 GB de RAM. Además, la ISO de instalación, ya disponible, ocupa sólo 3 GB. Sin embargo, hay algunas cosas que se debe tener en cuenta antes de configurar un sistema Tiny11. Pero las cosas no acaban aquí pues una nueva versión del desarrollador NTDev ofrece a los usuarios de Arm de 64 bits, como la Raspberry Pi 4, la oportunidad de probar Windows 11 en sus placas.

El desarrollador NTDev explica que Tiny11 puede reducirse aún más aplicando compresión de disco. El «mínimo» de aplicaciones incluye la carga estándar de herramientas de accesibilidad intactas, y se mantienen los elementos básicos de Windows como Calc, Bloc de notas, Paint, etcétera. Además, la Microsoft Store sigue ahí, para que pueda instalar varias aplicaciones y herramientas de Windows que echemos de menos.

Sin embargo, faltan algunas cosas medianamente importantes. Esta instalación del sistema operativo «no es reparable», señala NTDev. «NET, los controladores y las actualizaciones de las definiciones de seguridad pueden instalarse desde Windows Update», por lo que no se trata de una instalación de la que pueda olvidarte. Además, la eliminación del almacén de componentes de Windows (WinSxS), responsable en gran medida de la compacidad de Tiny11, significa que no es posible instalar nuevas funciones o idiomas. Si instala y disfrutamos de Tiny11, suponemos que tendremos que estar atentos a las actualizaciones ISO a medida que lleguen las revisiones de las principales características de Windows 11

La versión original afirmaba que podía ejecutar Windows 11 en hardware con sólo 2 GB de RAM y utilizar sólo 8 GB de espacio en disco (frente a una instalación típica de 20 GB) ¿Qué tal funcionaría una Raspberry Pi 4 a 1,5 GHz y con sólo 2 GB de RAM con Tiny11? Pues desde la pagina de Tomshardware.com lo han probado y desde luego no tiene mala pinta los resultados obtenidos.

El archivo viene como una imagen ISO de 4GB. A diferencia de las típicas imágenes ISO, tenemos que hacer algo más que copiar el archivo a una unidad USB utilizando Rufus o Raspberry Pi Imager. En su lugar tenemos que utilizar Windows en Raspberry (WoR) herramienta para instalar la imagen en una tarjeta micro SD / USB 3 unidad flash. El proceso de instalación no es el más rápido, así que lo ideal es configurar su Raspberry Pi para arrancar desde USB y utilizar una unidad flash USB 3 o SSD caddy. Como Microsft nos tiene acostumbrados, la instalación es casi una instalación típica de Windows, siendo la única parte que falta iniciar sesión en su cuenta de Microsoft ya que en su lugar el instalador nos dirige a configurar una cuenta de usuario local (pero en ningún momento se piden datos de activación).

Con la instalación y configuración realizadas, el rendimiento de Windows 11 en una Raspberry Pi 4 es pobre a través de micro SD, confirmando una vez más que una solución basada en USB 3 es el camino a seguir. Dicho esto, el menú principal responde bien y se pueden utilizar las aplicaciones y la bandeja del sistema sin muchos problemas.Navegar por la web a través de Edge no es la mejor experiencia, pero funciona lentamente (por ejemplo la web de Tom’s Hardware tardó mucho en renderizarse porque las imágenes aparecían aquí y allá).

¿Qué pasa con Wi-Fi y Bluetooth? Las malas noticias primero, Tiny11 no detecta el Wi-Fi de la Raspberry Pi 4 pero una conexión Ethernet funciona muy bien. Asimismo Bluetooth también esta operativo a medias ( en las pruebas encontró y se conectó con éxito a un smartphone pero sin embargo, el éxito duró poco, ya que no pudimos enviar ningún archivo entre los dispositivos conectados por Bluetooth).

Tiny11 viene con Microsoft Store y Microsoft Edge preinstalados, lo que significa que podemos instalar aplicaciones y navegar por Internet utilizando herramientas familiares. Es muy probable que el software disponible en Microsoft Store funcione, pero la experiencia puede variar. Lo que no funcionará son los ejecutables hechos para x86 y x86_64, que arrojarán un error, asía que a menos que se pueda encontrar aplicaciones compatibles, sólo queda lo que ofrece la tienda.

Ejemplo de w11 en raspberrypi

El sistema es funcional a la velocidad máxima disponible de 1,5 GHz utilizando en las pruebas 1,2 GB de los 2 GB disponibles (con todas probabilidad con más RAM y un overclock beneficiarían ). Por ejemplo desde la pagina de Tom han probado un pequeño overclock de 1,8 GHz, una velocidad que ahora se considera el valor predeterminado para Pi 4 y Pi 400 por Raspberry Pi. La velocidad extra mejoró en gran medida la experiencia y con un poco más de memoria RAM y almacenamiento USB 3 podría ser una máquina viable, si usted maneja sus expectativas en consecuencia. El overclock se consiguió entrando en la BIOS en el arranque, pero como todos los casos de overclok, se aconseja que elija una de las mejores carcasas para refrigeración activa o pasiva antes de aumentar demasiado el overclock.

Estamos sin duda en los inicios de Tiny11 para Arm 64 (de hecho, en ese tiempo hemos visto dos versiones, una de las cuales solucionaba un problema de instalación fallida) , así que seguramente habrá errores, pero a medida que este proyecto madure podría llegar a ser tan bueno como Windows 10 para Raspberry Pi, que demostró ser muy prometedor. Por ahora, tratémoslo más como una curiosidad que como un programa de uso diario con la seguridad que muy seguro desde la propia Microsoft sacarán una versión final también para Raspberry.

Tiny11 para Arm64 está disponible actualmente a través de Internet Archive:https://archive.org/details/tiny11a64

Imagen del sitio de descarga de tiny11 para ARM64

Tiny11 también incluye algunos cambios de bajo nivel popularizados por herramientas como Rufus. Por ejemplo, por defecto, Tiny11 utiliza una cuenta local, aunque se mantiene la opción de configurar una cuenta en línea. Sin embargo, tenga en cuenta que características como los Widgets en Windows 11 siguen necesitando una cuenta Microsoft para funcionar.

Otro cambio que puede atraer a los aficionados a los cacharros, sobre todo a los de gama baja y hardware antiguo, es la eliminación de varias restricciones de hardware. En las pruebas realizadas, NTDev afirmó que Tiny11 podía «funcionar de maravilla» en un sistema con sólo 2 GB de RAM. Además, quienes no puedan actualizar sus instalaciones de Windows 10 debido a la generación del procesador o a problemas con el TPM podrán utilizar la ISO de Tiny11 para incorporarse al nuevo sistema operativo de Microsoft.

Memoria de w11 en RPI4

Al desglosar la cifra de instalación de 8 GB, NTDev revela que los archivos del sistema operativo ocupan 6,34 GB de espacio, mientras que las aplicaciones que han sobrevivido al recorte ocupan 1,59 GB.

Anuncio publicitario

Rele wifi con Raspberry Pi


Gracias el bajo coste y  la gran popularidad de la Raspberry Pi  , hoy en día  es muy fácil  ofrecer soluciones  muy flexibles de control de dispositivos por Internet mediante diferentes vías de una forma muy sencilla  sin necesidad de realizar  una gran inversión ,saber  electrónica   ni  por supuesto escribir una sola línea  de código para ello

La solución que vamos a  proponer  es una utilidad  capaz de controlar  8 cargas de hasta 10 Amp pero  también  se puede expandir  con  otras 6 cargas mas ( añadiendo una placa de mas relés) pudiendo por tanto controlar  hasta 14 cargas simultáneamente sin multiplexar ,todo  ello como decíamos  sin escribir ninguna línea de código  gracias a  la solución  gratuita Cayenne ,la cual  consigue una gran automatización , pues es capaz de gracias  a una app  móvil instalar un agente en la Raspberry  Pi, que una vez instalado, permite  poderlo controlar ( y ver el estado ) de forma remota desde cualquier parte del mundo, bien desde un navegador o bien desde la propia app móvil.

Para empezar   si contamos con una Raspberry Pi  , lo primero es  si aun no lo ha hecho ,es generar  la imagen del SO con la que arrancara la Raspberry Pi .  Aunque hay diferentes opciones (de hecho en este blog  hemos visto que es posible  instalar otras  SO  incluso Windows 10.) , para la solución propuesta,  lo mejor es   usar  la ultima distribución disponible de Raspbian pues al  ser el sistema operativo mas instalado en el mundo en la Raspberry Pi  es la distribución compatible con el software propuesto (además precisamente hace unos días , Raspbian hace acaba de recibir una actualización intensa conocida como Pixel   llena de muchísimas novedades y mejoras tanto en el diseño como en el rendimiento del software).

Si no ha instalado  Pixel  puede  hacerlo  descargando la imagen de la SD  a partir del sitio  oficial Raspbian ,donde  hay dos opciones :la versión previa mínima (Jessie) o la nueva de Jessie con Pixel:

raspbian

Lógicamente si la SD es suficiente grande , lo interesante es descargar la primera  en lugar de la versión mínima que ademas esta obsoleta

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

  • Inserte la tarjeta SD en el lector de tarjetas SD  de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows. Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de 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.
  • Ya puede insertar la SD en su Raspberry Pi en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los  conectores USB, conectar la  con un cable ethernet  al router  conectividad a Internet y finalmente conectar la alimentación  para comprobar que la Raspeberry arranca con la nueva imagen

Una vez instalado Raspbian en su SD, lo siguiente  es instalar el agente de Cayenne:

Instalación del agente   Cayenne en la Raspberry Pi

El proceso de instalación de Cayenne en la Raspberry Pi es bastante simple y no debería tomar demasiado tiempo para obtener su creación y funcionamiento. Usted tendrá que asegurarse de que ha instalado en su Raspbian Pi. .

  1. En primer lugar, vaya a  myDevices Cayenne y regístrese para obtener una cuenta gratuita.
  2. Una vez que ya se ha registrado usted tendrá que registrarse / conectar el Pi hasta la cuenta que acaba de crear. Para ello sólo tiene que copiar las 2 líneas de comandos que se muestran después de su inscripción. Por ejemplo :
    wget https://cayenne.mydevices.com/dl/rpi_qcps12pc3d.sh
    
    sudo bash rpi_qcps12pc3d.sh -v

    Introduzca estos en el terminal para su Pi.(Estos archivos son únicos para cada instalación nueva)

cayenne
Alternativamente, se puede descargar la aplicación y se puede localizar e instalar en su Cayenne Pi automáticamente. (Tenga en cuenta SSH debe estar habilitado )

  1. Tomará unos minutos para instalar en el Pi en función de la velocidad de su conexión a Internet es. El navegador web o aplicación deben actualizar automáticamente con información sobre el proceso de instalación.
  2. Una vez instalado el tablero de instrumentos se mostrará y debe verse como algo más adelante.

Pi tablero de cayena

 

Placa de Relés

Para implementar el control  vamos a utilizar una placa de relés de 5V y ocho canales de bajo coste ( unos 8 € en Amazon), que para  mayor seguridad esta optoacoplada para proteger la Raspberry PI

Obviamente los relés electromecánicos también ofrecen un separación galvánica entre la lógica  y la parte de AC pero como que los aparatos que vamos a controlar funcionan con 220V, y los pines GPIO de Raspberry trabajan con un máximo de3,3V no esta mal que la placa cuente con este doble factor de aislamiento para evitar problemas.

Un módulo económico y perfecto para nuestro propósito es  el Timetop distribuido por Andoer   , un  módulo  con alimentación de  5V , la cual  tomara directamente de la Raspberry Pi .Se trata de una placa de interfaz de relé de 8 canales, que puede ser controlada directamente por una amplia gama de microcontroladores tales como Arduino, AVR, del PIC, ARM, PLC, Raspberry Pi etc

El contacto de cada relé   soporta una  salida máxima en  AC 250V  de  10A y en corriente continua DC30V    también de 10A lo cual lo hace ideal para  controlar varios aparatos y otros equipos de la corriente grande. .

gpio

En  la  imagen nos muestra en la parte superior los conectores con la Raspberry, el GND lo conectaremos a tierra,  el IN1 de la placa de reles   que controlara el canal de K1 (IN2 para el K2…) los conectaremos a un GPIO y haremos lo mismo con todas las conexiones IN2,IN3,IN4,IN5,IN6,IN7,IN8 ( según el numero de relés que tenga la placa)  Finalmente el VCC lo conectamos a los 5V de la Raspberry.  En la parte izquierda de la  placa de relés  ( donde vemos la clemas azules ) controlaremos  los  circuitos donde conectaremos los cables, si cerramos el circuito entre 1 y 2, el circuito normalmente estará ‘abierto’, si lo cerramos entre el 2 y el 3, el circuito normalmente estará ‘cerrado’.

reles

Prueba Manual desde la Raspberry Pi

Como se puede puede imaginar el circuito es  bastante simple  En la RaspberryPi  para probar localmente que todo esta correcto instalaremos wiringpi y no hay que instalar nada más.

tar xfzv wiringPi-xxx.tar.gz
cd wiringPi-xxx
./build

En el Raspberry ejecutamos:

1
gpio -g mode 18 out

Para encenderla:

1
gpio -g write 18 1

Para apagar la luz ejecutamos:

1
gpio -g write 18 0
Es decir  en reumen;
gpio readall --> Nos saca el status de todos los GPIO.
gpio -g mode 24 out --> Enciende GPIO24.
gpio -g mode 24 in --> Apaga el GPIO24.
gpio -g read 24 --> Saca el status, encendido 0, apagado 1.

Una vez probado el circuito ya desde el interfaz de cayenne ( desde la web o desde la aplicación móvil) si esta nuestra placa correctamente configurada podremos ver el estado de los relés así como interactuar con ellos .

Dudas mas comunes

  • Bien, he descargado la aplicación, ¿qué hago ahora?   En primer lugar, asegúrese de que tiene el Sistema Operativo Raspbian (OS) instalado en su Raspberry Pi. Este es el sistema operativo estándar que viene de los propios fabricantes de Raspberry Pi. Si usted compró NOOBS, la tarjeta SD pre-formateada, entonces se debe instalar fácilmente Raspbian para usted.
  • ¿Necesito un poco más de instrucción? Raspberry Pi tiene un tutorial aquí  que le guiará a través de cómo instalar el sistema operativo Raspbian en su Raspberry Pi. En segundo lugar, su Raspberry Pi debe estar conectada a Internet. Si su Raspberry Pi está conectada a la misma red que su teléfono, entonces la aplicación myDevices Cayenne encontrará automáticamente su Raspberry Pi y descargará el agente para que puedas empezar a construir tus proyectos IoT en un abrir y cerrar de ojos.
  • ¿Tengo que saber programar para utilizar myDevices Cayenne? He probado otras plataformas y me exigían programar. Una vez que el agente Cayenne está instalado en su Raspberry Pi, myDevices Cayenne se encarga de toda la codificación. De esta forma, ¡puedes centrarse en crear!
  • He oído hablar del término «agente», ¿qué es? Es un software que instalamos en tu Raspberry Pi y que le permite controlar y gestionar todos los sensores, actuadores y extensiones que utilices en tus proyectos IoT. También significa que usted no tiene que escribir ningún código.
  • ¿Tengo que estar conectado a la misma red WiFi que mi Raspberry Pi para poder controlarla y gestionarla? No, conectan su Raspberry Pi a la nube por esta misma razón.
  • El panel de control de mi cuenta tarda un poco en reconocer que he encendido mi Raspberry Pi, ¿por qué? Esto es correcto. Después de arrancar su Raspberry Pi, se tarda aproximadamente un minuto para que todo se cargue. Esto es normal en todos los ordenadores.
  • ¿Tendré que pagar alguna vez para utilizar la aplicación myDevices Cayeene o el panel web?De momento, no. Si alguna vez planeamos cobrar por algo, serás el primero en saberlo.
  • ¿Debo apagar mi Raspberry Pi cuando conecte sensores, actuadores o extensiones? Sí, debe desconectar la alimentación de su Raspberry Pi cuando añada o quite cables. Una vez que haya terminado, conecte su Raspberry Pi de nuevo a la fuente de alimentación.
  • ¿Funciona myDevices Cayenne a través de bluetooth?Todavía no. Por favor, ¡hágales saber a los programadores de Cayenne si esta es una característica importante!
  • La función de escritorio remoto no funciona.Es posible que tenga que permitir las ventanas emergentes para que funcione el acceso remoto.

Usando una Raspberry Pi para obtener información de dos sensores PZEM004T que están conectados al microcontrolador Arduino Mega


El objetivo de este post es ver un ejemplo der cómo medir el voltaje, la corriente y la potencia con dos sensores PZEM 004T de una Raspberry Pi .

En el ejemplo los sensores no están conectados directamente a la Raspberry, pero están conectados a un microcontrolador Arduino (Mega 2560) y este se conecta a la Raspberry a través de un cable USB.

Primero obtenemos todos estos valores usando el microcontrolador Arduino con capacidad de dos puertos serie como podria ser también un ESP32 (NodeMCU) o por supuesto un Arduino Mega, y luego los enviamos a la Raspberry Pi.

Es interesante observar cómo al proporcionar los módulos PZEM004 una salida serie necesitamos usar ese protocolo para recepcionar los datos motivo por el cual precisamente utilizamos dos puertos serie del microcontrolador ( y no sería posible por tanto añadir más módulos PZEM004)

Gracias a la biblioteca PZEM-004T v3.0 para el monitor de energía Peacefair PZEM-004T-10A y PZEM-004T-100A v3.0 utilizando la interfaz ModBUS y un microcontrolador, podemos monitorizar el consumo eléctrico junto a otras variables eléctricas como la tensión , la frecuencia , el factor de potencia, etc.

Es interesante destacar que debemos usar la ultima version del modulo, pues la versión 3.0 PZEM es una versión mejorada del antiguo PZEM-004T 

Respecto a las conexiones eléctricas debemos tener especialmente cuidado en el conexionado de las clemas de BT , las cuales viene claramente especificadas en la hoja de característica del modulo PZEM que usemos, pues una parte es para la medida del voltaje ( la medición se hace en paralelo ) y la parte contigua es la parte de la medida de la Intensidad (la medida se toma en serie en versiones de menos intensidad maxima admisible, pero para la version de 100A se suele tomar con una bobina toroidal o con un pinza amperimétrica)

¡Asegúrese de que el dispositivo esté conectado a la alimentación de CA! Los 5V solo alimentan los optoacopladores, no el chip real. Además, tenga cuidado, ¡la corriente alterna es peligrosa! ¡Si no sabe lo que estás haciendo, puede morir ! Es usted responsable de su propia estupidez. Así que no sea estúpido

Peor tanto ,debemos extremar el cuidado especialmente en estas conexiones (las que van con tornillo).

Observe por ejemplo las conexiones del módulo de 100 Amp. usado para escribir este post:

Esta versión PZEM tiene una UART Serial que funciona a 5V, por lo que se debe realizar una simple modificación soldando una resistencia de 1K a 1/4W para permitir que la comunicación funcione a 3.3v en los casos de placas como Raspberry Pi, ESP32 y esp8266, con esta modificación la UART funcionará a 5v o 3.3v.

Nota: Esta es la manera más sencilla y económica si no tienen al alcance un convertidor TTL de 5 a 3.3v, pero no se garantiza que funcione en todos los casos y con todos los medidores (en el prototipo probado funciona sin problemas).

El circuito final para el montaje de los dos PZEM quedaría como se puede ver en la imagen donde vemos como los alimentamos a +5V DC desde el microcontrolador, usamos las lineas tx/rx de forma inversa hacia el microcontrolador y finalmente el microcontrolador lo comunicamos con la Raspberry pi mediante un cable USB

Como se indicó anteriormente, el primer paso es recopilar todos los valores del microcontrolador Arduino, por lo que para hacerlo debemos usar la biblioteca . Esta biblioteca se puede descargar desde la página web: https://github.com/olehs/PZEM004T como un paquete zip, luego se debe agregar dentro del IDE de Arduino

El siguiente paso es conectar los sensores al microcontrolador arduino. Usaremos la librería SoftwareSerial para permitir la comunicación serial en otros pines digitales del Arduino y poder leer más de un dispositivo serial. Entonces, los terminales RX y TX del primer sensor están conectados a los pines 11 y 10 del microcontrolador y los terminales RX y TX del segundo sensor están conectados a los pines 13 y 12 respectivamente.

Ahora es el momento de desarrollar el código en Arduino IDE de la siguiente manera:

///////////////////////////////////////////////////////// ///////////////////////////////////////////////// // /////////////////////////////////////////
 //* Código para obtener el voltaje, corriente y potencia de dos sensores AC PZEM conectados al microcontrolador Arduino Mega, luego todos los valores *//
 // se concatenan en una variable char para poder enviarla a través de comunicación serie //
 ///////////////////////////////////////////////////////// ///////////////////////////////////////////////// // ///////////////////////////////////////
  
 #include
           
 #include
           
            
  
 IPAddress ip(192,168,1,11);
 IPAddress ip1(192,168,1,10);
  
 charix[10];
 char iy[10];
 char iz[10];
 charconc[360];
  
 charix1[10];
 char iy1[10];
 char iz1[10];
  
 flotante V, V1;
 flotar i, i1;
 flotante p, p1;
  
 void setup () {
 Serial.begin(9600);
 }
  
 void loop () {
   
 PZEM004T pzem(10,11); //(RX TX)
 pzem.setAddress(ip);
 V=pzem.voltage(ip); //voltaje obtenido de la biblioteca pzem
 i = pzem.current(ip); // actual obtenido de la biblioteca pzem
 p = pzem.power(ip);//potencia obtenida de la biblioteca pzem
 dtostrf(V,7,3,ix); //función utilizada para almacenar el valor actual en la variable char ix, especificando 3 como el número de dígitos después del punto
 dtostrf(i,7,3,iy); //función utilizada para almacenar el valor actual en la variable char iy, especificando 3 como el número de dígitos después del punto
 dtostrf(p,7,3,iz); //función utilizada para almacenar el valor de potencia en la variable char iz, especificando 3 como el número de dígitos después del punto
 retraso (1000);
  
 PZEM004T pzem1(12,13); //(RX TX)
 pzem1.setAddress(ip1);
 V1=pzem1.voltage(ip1); //voltaje obtenido de la biblioteca pzem
 i1 = pzem1.current(ip1); // actual obtenido de la biblioteca pzem
 p1 = pzem1.power(ip1);//potencia obtenida de la biblioteca pzem
 dtostrf(V1,7,3,ix1);//función utilizada para almacenar el valor actual en la variable char ix1, especificando 3 como el número de dígitos después del punto
 dtostrf(i1,7,3,iy1); //función utilizada para almacenar el valor actual en la variable char iy1, especificando 3 como el número de dígitos después del punto
 dtostrf(p1,7,3,iz1); // función utilizada para almacenar el valor de potencia en la variable char iz1, especificando 3 como el número de dígitos después del punto
 retraso (1000);
  
 sprintf(conc,":%s,:%s,:%s,:%s,:%s,:%s,\n", ix,iy,iz,ix1,iy1,iz1); // función utilizada para concatenar todos los valores en una sola variable char
 Serial.write(conc);
  
 }  /////////////////////////
 

Observaciones:

  • Los sensores no se leen al mismo tiempo.
  • El tipo de los valores dados por el sensor es flotante.
  • Después de obtener todos los valores, estos se convierten de tipo flotante a char utilizando la función «dtostrf» en la que los lugares decimales se limitan a tres.
  • Los 6 valores se concatenan mediante la función «sprintf», en una única matriz de caracteres y luego se envían como datos en serie.
  • Además de poner todos los valores juntos en la matriz char, también ponemos los caracteres ‘:’ y ‘,’. Al final, la matriz de caracteres se ve así: “:val1,:val2,:val3,:val4,:val5,:val6,:”. Se hace con el fin de analizar y sacar los valores fácilmente en python.   

Después de cargar y probar el código en el microcontrolador, es hora de lidiar con el script de python. El microcontrolador Arduino debe conectarse a la Raspberry mediante un cable USB.

Antes de comenzar con el código, podría ser bueno saber cómo crear un archivo python desde la terminal de Linux. Se hace escribiendo la siguiente línea de comando:

toque PZEM_Sensors.py

Luego para abrir el archivo ya creado, debemos teclear la siguiente línea de comando:

nano PZEM_Sensores.py

import serial
 import time
 import re
  
 port = "/dev/ttyACM0"
 s1 = serial.Serial(port,9600)
  
 while True:
     if s1.inWaiting()>0:
         inputValue = s1.readline().decode() 
         m = re.search('.*:(.*),.*:(.*),.*:(.*),.*:(.*),.*:(.*),.*:(.*),',inputValue) # command used to read the information and split it between the charcaters ':' and ','
         v1 = m.group(1).replace(" ","") ## command used to saved the information splitted before in a the variable 
         i1 = m.group(2).replace(" ","")
         p1 = m.group(3).replace(" ","")
         v2 = m.group(4).replace(" ","")
         i2 = m.group(5).replace(" ","")
         p2 = m.group(6).replace(" ","")
         a = float(v1)
         b = float(i1)
         c = float(p1)
         d = float(v2)
         e = float(i2)
         f = float(p2)
         print("Voltage1:",+a)
         print("Current1:",+b)
         print("Power1:",+c)
         print("Voltage2:",+d)
         print("Current2:",+e)
         print("Power2:",+f)  


Observaciones:

  • Deberíamos especificar el puerto de la Raspberry donde está conectado el sensor. Para saberlo, solo debemos escribir el siguiente comando desde la ventana de la Terminal LX: ls /dev –> Los nombres de los dispositivos USB conectados comienzan con: “ttyUSBX”. Donde X indica el número de cada dispositivo USB conectado.
  • El puerto serie se lee y decodifica para asegurarse de que tenemos una cadena de caracteres. Se hace con la función readline() y decode() respectivamente.
  • Los seis valores se obtienen mediante el uso de expresiones regulares. Usando ‘.*:(.*),’, tomamos todos los caracteres que están entre ‘:’ y ‘,’ y luego los almacenamos en grupos.
  • Al final los valores se convierten de tipo char a tipo float.  

Después de escribir todo el código y presionar las teclas Ctrl + X, se le pedirá que lo guarde o no. Debe presionar la tecla y o n y luego Enter.

Para ejecutar el código, debemos escribir la siguiente línea de comando:

python PZEM_Sensores.py

Luego, todos los resultados y mensajes aparecerán en las ventanas de la Terminal o aparecerá un mensaje de error si hay algo incorrecto dentro del código.

La siguiente figura muestra todos los resultados obtenidos de los dos sensores PZEM. La corriente 1 es 0 debido a que no hay ningún sensor de corriente conectado y por eso la potencia 1 también es 0. Si hay algún problema de comunicación el valor que obtendremos es -1.

Mas información en https://miniprojets.net/index.php/2019/08/21/using-a-raspberry-pi-3-to-get-information-of-two-pzem004t-sensors-which-are-connected-to-the-arduino-mega-microcontroller/

Adquisición de datos de tensión y corriente con RPICT7V1


Con la crisis actual energètica se hace imprescindible optimizar nuestro consumo de la forma más precisa posible, porque se puede llegar a reducir desde un 15% en adelante nuestro consumo global. Para hacer esto posible quizás lo más económico sea poner un pequeño HAT a la Raspberry del fabricante LeChacal del que ya hemos hablado eneste blog, pues cuenta con diferentes escudos con a posibilidad de apilar estos de modo que si queremos meter más de 8 sensores no intrusivos, montamos tantas placas como necesitemos una sobre otra!


La serie RPICT es una gama de escudo para la Raspberrypi como sensor de corriente CA (CT) y de temperatura. Todas las placas RPICT se conectan al conector GPIO y proporcionan datos a través del puerto serie . Un microcontrolador programable Arduino ( Atmega328 en el caso de la placa con 8 entradas) opera la placa. Es interesante destacar que el código fuente del microcontrolador está disponible gratuitamente.

Como hemos visto en este blogs hay varias opciones para registrar y ver los datos siendo los más utilizados Emoncms e Influxdb con Grafana aunque también es posible usar su propio script de Python. En este post vamos a ver un complemento RPICT7V1 que le permite recuperar las medidas de su tarjeta de la serie RPICT instalada como HAT en su Raspberry PI y mostrarlas en Jeedom.

Para recuperar la información de su tarjeta de la serie RPICT, primero debe conectar esta placa la a su Raspberry PI:

rpict7v1

Consulte la documentación completa aquí Adaptador de sensor de temperatura y corriente de Raspberrypi

RPICT7V1_v2.0

Compatibilidad

Versión¿Compatible?
Raspberrypi 1ANo
Raspberry pi 1 B+
Raspberry pi 2b
Raspberry pi 3B
Raspberry pi 3 B+
Raspberry pi 4B

Sensores recomendados

  • Sensor de corriente CA:
    • SCT-013-000
    • TBS-019
    • TBS-006
  • Sensor de voltaje CA:
    • Reino Unido: 77DB-06-09
    • UE: 77DE-06-09
    • EE. UU.: 77DA-10-09

LOS CT DE SALIDA DE VOLTAJE NO SON COMPATIBLES CON ESTA TARJETA.

sensores

Apilamiento de tarjetas RPICT en HAT en Raspberry PI

Las placas RPICT7V1 versión 2 se pueden apilar con otras placas RPICT7V1 o RPICT4V3 o RPICT8 para ampliar la cantidad de sensores admitidos. Atención, en el sitio web del fabricante, todas las unidades vendidas están preconfiguradas como MASTER. Consulte la wiki del fabricante para ver cómo configurarlos como esclavos. ApilamientoDocumentación

apilamiento1
apilamiento2

Configurando la tarjeta RPICT en su Raspberry

Su Raspberry se comunica con la tarjeta RPICT a través del puerto serie. Entonces, debe configurar Rapsberry para que funcione este puerto serie.Ver documentación completa del fabricante AQUÍ

Habilitar puerto serie

  • Ejecute la herramienta raspi-config,$ sudo raspi-config
  • Luego deshabilite el inicio de sesión de uart:5 Interfacing Options / P6 Serial
    • Seleccione No a la pregunta del shell de inicio de sesión.
    • Seleccione Sí a la pregunta de hardware del puerto serie que se habilitará.
    • Seleccione Ok en el resumen.
  • De vuelta en el menú, seleccione Finalizar.
    • Seleccione No a la pregunta de reinicio (lo haremos más adelante).

Configuración general de Raspberry

  • Edite el archivo /boot/config.txt$ sudo nano /boot/config.txt
  • Al final del archivo, agreguedtoverlay=pi3-disable-bt
  • Desactivar hciuartsudo systemctl disable hciuart
  • (!) OPCIONAL, Los dos comandos siguientes desactivan el bluetooth del RPI. Si se usa BT, omita este paso y use ttyS0 en lugar de ttyAMA0 en los siguientes pasos.
  • Reinicie la Raspberry Pi sudo reboot

Prueba de funcionalidad

Una vez que se inserta la tarjeta RPICT y se reinicia la Rpi, se puede hacer una prueba en la línea de comando para verificar que todo esté bien. Tienes que configurar el puerto y empezar a escuchar.

stty -F /dev/ttyAMA0 raw speed 38400

cat /dev/ttyAMA0

Instalación del complemento Jeedom

Instalaciones

Instale el complemento del mercado siguiendo las instrucciones: https://github.com/jeedom/documentation/blob/master/premiers-pas/es_ES/index.md

Configuración

Después de activar el complemento, debe elegir el puerto del módem:

rpict_configuration

Dependiendo de si ha dejado el Bluetooth activado o no (ver arriba), el puerto a utilizar puede ser uno de los dos siguientes:

  • /dev/ttyS0
  • /dev/ttyAMA0

Finalmente recuerda guardar.

Un nuevo protocolo está disponible en Complementos => Protocolo domótico => RPICT7V1

Configuración

El complemento ofrece la posibilidad de crear automáticamente pedidos recibidos. Para hacer esto, inicie el demonio, espere a que lleguen los primeros marcos, luego vaya a Complemento / Protocolos domóticos / RPICTV7.

Debes crear el objeto, darle un nombre y llegas a la página de configuración de la tarjeta RPICT.

Debe introducir el ID de nodo de la tarjeta RPICT (previamente programada al valor 11 al salir de fábrica). Seleccione «Creación automática de pedidos» en la parte superior derecha, finalmente guarde.

A partir de este momento se añadirán automáticamente todos los pedidos recibidos y no reconocidos.

objeto_pict
rpict_auto_commands

También puede crear pedidos manualmente:

  • Cree su nuevo dispositivo haciendo clic en Agregar
  • Añade los pedidos que quieras recuperar haciendo clic en el botón verde “Pedir”
  • Complete el nombre que se muestra en Jeedom, el Subtipo de acuerdo con la información que se recuperará, el canal en cuestión de la tarjeta y, finalmente, los parámetros asociados.
  • Clic en Guardar.

Las órdenes

Los comandos (Add data) corresponden a los datos enviados por la tarjeta RPICT.

El número de canales depende de la tarjeta de la serie RPICT que tenga.

El plugin gestiona un máximo de 15 canales.

Salud

Es posible verificar la recepción de los datos antes de su procesamiento.

Para hacer esto, vaya al objeto RPICT y luego haga clic en Salud

rpict_btsante

La ventana que se abre le permite verificar la correcta recepción de datos por NodeID para cada canal:

rpict_stante

API

El complemento RPICT proporciona una API para actualizar datos de otros sistemas. Esta es una URL de llamada de tipo GET. Para acceder a esta información se requiere:

URL=http://#IP_JEEDOM#:#PORT_JEEDOM#/jeedom/plugins/rpict/core/php/jeeRpict.php?api=#YOUR_API_JEEDOM#&nid=#NODE_ID_RPICT#

#IP_JEEDOM# corresponde a la dirección IP de su Jeedom #PORT_JEEDOM# corresponde al puerto de acceso a su Jeedom #YOUR_API_JEEDOM# es la clave API disponible en el menú General / Administración / Configuración

rpict_api

#NODE_ID_RPICT# corresponde al NodeID de la tarjeta RPICT. Esta información es necesariamente transmitida por la tarjeta RPICT cuando recibe una trama.

Tenga en cuenta que /jeedom puede ser diferente si está en una instalación de bricolaje u OEM. Por lo general, tienes que agregarlo.

A esta url de llamada se le pueden agregar los diferentes valores según el formato: &#NAME_DE_LA_VALEUR#=#VALEUR#

Por ejemplo para el canal 1 equivalente a 123456789:

&ch1=123456789

Por lo tanto, la URL se sobrecargará con toda la información útil.

Por ejemplo :

IP_JEEDOM : 192.168.1.15
PORT_JEEDOM : 80
VOTRE_API_JEEDOM : zertyuiolkjhgfdsxc
NODE_ID_RPICT : 11
Channel1 : 123456789

Dará URL : http://192.168.1.15:80/jeedom/plugins/rpict/core/php/jeeRpict.php?api=zertyuiolkjhgfdsxc&nid=11&ch1=123456789

Mas información en https://tlierdotfr.github.io/jeedom-plugin-rpict/fr_FR/

Midiendo nuestro consumo eléctrico con una Raspberry Pi


Con la crisis actual energètica se hace imprescindible optimizar nuestro consumo de la forma más precisa posible, y desde luego no se puede monitorizar nada que no se pueda medir. Además es interesante saber que muchos analistas opinan que se puede llegar a reducir desde un 15% en adelante nuestro consumo global, así que lo primero es obtener el hardware necesario para monitorizar nuestro consumo.

¿Y qué necesitamos para monitorizar dando un toque de domótica a nuestro Hogar? Quizás lo más económico sea poner un pequeño HAT a la Raspberry del fabricante LeChacal (por cierto con domicilio en Edimburgo), pues cuenta con diferentes escudos que cumplirán cualesquiera sean nuestras necesidades, ya que a ellos podremos conectarles desde 1 sensor no intrusivo hasta 8, dependiendo del HAT que queramos cuanto más sensores acepte dicho escudo mayor será su coste (pero adelantamos que el precio es más que asumible). Además este fabricante no ofrece la posibilidad de apilar de modo que si queremos meter más sensores no intrusivos, montamos tantas HAT como necesitemos una sobre otra! Así que recomendamos repasar esta lista de sensores para que cada cual escoja el que más le interese: http://lechacal.com/wiki/index.php/Main_Page siendo el más barato apto para 3 sensores y cuesta unas 12 librashttp://lechacal.com/wiki/index.php/RPICT7V1_v2.0 y luego ya sería adquirir tantos sensores no intrusivos como necesitemos ( SCT-013-000). Los tenemos en la misma web o en Amazon o eBay por unos 4€ cada uno.

El hardware

La serie RPICT es una gama de escudo (o también llamados sombreros ) para la Raspberrypi como sensor de corriente CA (CT) y de temperatura. Todas las placas RPICT se conectan al conector GPIO y proporcionan datos a través del puerto serie . Un microcontrolador programable Arduino (ATtiny84 o Atmega328) opera la placa. El código fuente del microcontrolador está disponible gratuitamente.

Como veremos hay varias opciones para registrar y ver los datos. Los más utilizados son Emoncms e Influxdb con Grafana. También es posible usar su propio script de Python. Algunas de las aplicaciones de este hw: Medidor inteligente Raspberrypi, Internet de las Cosas, Registro de datos, Monitoreo en tiempo real, Automatización del hogar, Rpi,

Los escudos disponibles son:

  • RPICT3T1 – 3 CT 1 Temperatura.
  • RPICT3V1 – 3 CT 1 Voltaje CA.
  • RPICT4T4 – 4 CT 4 Temperatura.

Placas apilables Raspberrypi V 2 y 3

  • RPICT4V3 versión 2 y 3 – 4 CT 3 Voltaje CA.
  • PICT7V1 Versión 4
  • RPICT7V1 Versión 5
  • RPICT4V3 Versión 5
  • RPICT8 Versión 5
  • RPICT4T4 Versión 5
  • RPICT4W3T1

Solo temperatura : RPI_T8 – 8 temperaturas.
Raspberrypi para TC de salida 5A

  • RPI LCT3V1 – 3CT 1 Tensión para TC grandes.
  • RPI LCT4V3 – 3CT 3 Voltaje para TC grandes.
  • RPI_LCT8 – 8CT para CT grandes.

Raspberry pi cero

  • RPIZ_CT3V1 – 3 CT 1 Voltaje CA. Raspberrypi Cero.
  • RPIZ_CT3T1 – 3 CT 1 Temperatura. Raspberrypi Cero.
  • RPIZCT4V3T2 – Rpi Cero 4 CT 3 Voltaje CA 2 Temperatura (RTD y DS18B20)

con relés

  • RPICT3T1_RLY2 – 3 TI 1 Temperatura 2 Relés
  • RPICT3V1_RLY2 – 3 CT 1 Voltaje CA 2 Relés

Este es el resumen del hw disponible por este fabricante:

Model#CT#Volt*#TempStackable
RPICT3T131No
RPICT3V131No
RPICT4T444No
RPICT4V3_v2.043Yes
RPICT7V1_v2.071Yes
RPICT88Yes
RPIZCT4V3T1431n/a
RPI_T88Slave 1 only
RPI_LCT4V343One board stack only
RPI_LCT88One board stack only

Uso por primera vez

Inserte la placa RPICT en Raspberrypi GPIO como se muestra arriba. La imagen es una RPI3B pero todas las demás Raspberrypi también son compatibles (las placas RPICT obtienen energía de Raspberrypi). Simplemente conecte el adaptador de corriente USB a la Raspberrypi como de costumbre.

Estas placas se venden lista para funcionar con el firmware y la configuración ya cargados. Asegúrese de probar todos los sensores con el comando cat antes de cambiar la configuración.

Primera configuración RPICT

Cualquier sensor de corriente con salida de corriente es compatible. Tenga en cuenta que hay consideraciones para la resistencia de carga que escala el rango de corriente medida. Estos son algunos de los sensores recomendados con conector de 3,5 mm que podemos usar según la corriente que vaya a circular por el circuito a medir:

  • SCT-013-000 100A/50mA
  • SCT-019 200A/33mA
  • SCT-006 20A/25mA
  • SCT-024 400A/100mA
  • SCT-031 600A/100mA

El rango está determinado por la resistencia de carga instalada en la unidad RPICT. En el momento de la compra, esto se selecciona utilizando la calificación del parámetro en la tienda. El rango predeterminado es de 100 A en todas las series RPICT, lo que corresponde a una resistencia de carga de 24 o 27 ohmios. Se pueden seleccionar otras clasificaciones (o rangos) en el momento de la compra.

En los enlaces a continuación se proporcionan más detalles sobre el rango de entrada y la resistencia de carga:

  • Para RPICT3T1 RPICT3V1 RPICT4T4v2.5 y RPICT8/RPICT7V1/RPICT4V3 en versión 3

Gen3 Passive Component Setup

  • Para RPICT7V1 RPICT8 and RPICT4V3 en versión 4

Gen4 Passive Component Setup

  • Para RPICT7V1 RPICT8 RPICT4V3 en version 5

Gen5 Passive Component Setup

Los sensores CT solo miden corrientes alternas (CA). Consulte el sensor ACS715 para la corriente CC.

Solo RPICT7V1 versión 4 y RPI_DCV8 pueden admitir CT de salida de voltaje. SCT-013-xxx que no sea SCT-013-000 y cualquier CT de salida de voltaje no son compatibles con todas las demás placas .

Sensor de voltaje
Para evaluar la potencia de una instalación no es estrictamente necesario un sensor de tensión. La potencia se puede estimar utilizando un voltaje fijo estimado (generalmente 240 o 110 V). El sensor de voltaje se vuelve necesario si desea medir con mayor precisión la potencia real, la potencia aparente y el factor de potencia. La combinación de un sensor de voltaje con un sensor CT también proporcionará la dirección de la energía (importación/exportación).

En cualquier caso, las lecturas de potencia con sensor de voltaje son más precisas y consistentes. También tienen mucho menos ruido y son mejores para lecturas de baja potencia.

La serie RPICT se envía con una calibración básica para el puerto de voltaje. Sería necesaria una calibración si cree que el voltaje medido no es lo suficientemente preciso en comparación con otro dispositivo de medición confiable (alcance, multímetro).

Sensor de voltaje CA/CA
Ofrecen un conjunto de transformadores AC/AC para medir voltaje. Estas unidades se pueden enchufar fácilmente en un enchufe de pared principal. No se requiere cableado.

Los tres modelos diferentes que recomiendan son:

Sensor ZMPT

Módulo ZMPT101B :El módulo ZMPT101B es un módulo de tensión para cablear. Mide voltajes hasta 250V y se puede montar en carriles DIN.

No utilice estos módulos ZMPT vendidos en el mercado. No escalan contra las unidades RPICT y la presencia de un potenciómetro los hace poco confiables.

Sensor de temperatura
El sensor de temperatura que se usa s el DS18B20.Los sensores de temperatura vienen con varios conectores:

  • Molex de 3 pines :Esto aplica para la placa RPIZCT4V3T1 y RPIZCT4V3T2.
  • Cables desnudos: Esto aplica para las placas RPICT3T1 RPICT4T4 y RPIZ_CT3T1. Los conectores son terminales de tornillo. La sonda de temperatura debe presentar cables desnudos para la conexión.

Fuente de alimentación
El raspberrypi debe usar la fuente de alimentación micro-usb habitual. La serie RPICT no necesita ninguna fuente de alimentación adicional. La energía para el RPICT se toma del Raspberrypi GPIO.

PUESTA EN MARCHA

Conectaremos pues el HAT a la Raspberry Pi y los sensores que tengamos; en las pinzas de los sensores tendremos en cuenta de pasar únicamente un cable, eh! Y nada, con eso podremos saber el consumo en Vatios (W) que hace cada ‘cosa’ que tengamos pinzada. Podremos medir de cualquier aparato eléctrico, así como lo dicho, poner esto en el cuadro eléctrico de casa y medir los consumos desde ahí, si lo tenemos bien etiquetado, no nos costará medir el consumo General o el del Alumbrado, consumos de los enchufes, de la nevera, horno, lavadora, etc.

En el uso más básico, la serie RPICT solo genera una cadena en serie. Depende del usuario recopilar esta cadena de datos y registrar/ver según sea necesario. Hay varias formas de lograr esto.

  • Usando el comando cat.
  • Usando Influxdb y Grafana.
  • Usando una solicitud Json.
  • Usando la herramienta Emonhub de Emoncms.
  • Usando un script de Python.

Nota: Este es el uso más básico. Recomendamos encarecidamente hacer uso de esto primero antes que cualquier otra cosa.

De antemano , asegúrese de haber seguido esta guía si está utilizando la imagen de Rasbian.
Usemos el RPICT3T1 como ejemplo. El formato de la salida es como se muestra a continuación. Potencias en W. Temperatura en grados Celsius. Para cualquier otra unidad RPICT, consulte su página específica para conocer el formato de salida predeterminado.

nodeid power1 power2 power3 temperature

Inicie sesión en Raspberrypi usando ssh y emita los comandos

stty -echo -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

El terminal debería mostrar algo como esto a continuación

[email protected] ~ $ cat /dev/ttyAMA0
11 46.23 52.25 126.56 19.46
11 47.43 52.28 129.60 19.54
11 48.90 53.88 131.22 19.89


Para averiguar qué canal corresponde a qué valor medido, consulte la página dedicada a la placa específica.

Nota. Si usa la imagen emonpi, ejecute el siguiente comando antes del comando stty.

sudo /etc/init.d/emonhub stop

Con este comando podremos conectarnos por serie al HAT y ver qué escupe. Verá que dependiendo del HAT que haya adquirido podrà ver la corriente, el voltaje o la temperatura, que es lo que os escupirá este comando separado en comas.

1stty -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

Ahora, lo que haremos será tratar esa salida en formato CSV. En el ejemplo de Hector devuelve la potencia de 7 sensores no intrusivos, cada uno de ellos conectado a un cable del cuadro de distribucion de ca (General, Enchufes de unas estufas, el Lavavajillas y la Lavadora, el Alumbrado, el Horno y la Vitrocerámica y enchufes)

Después podemos exportar dicha información a una tabla que hemos creado previamente en MySQL de modo quenecesitaremos tener MySQL instalado en alguna máquina (o lo instalamos en la propia Pi) y crearemos ahí la BD y la Tabla que queramos.

Por deferencia de Héctor (del blog bujarra.com) , él nos muestra un ejemplo de las sentencias SQL para ejecutar desde la consola de Mysql para crear dicha tabla que tiene una columna por cada sensor:

CREATE TABLE `corriente` (
`general` FLOAT NULL DEFAULT NULL,
`estufas` FLOAT NULL DEFAULT NULL,
`lavavajillas_lavadora` FLOAT NULL DEFAULT NULL,
`alumbrado` FLOAT NULL DEFAULT NULL,
`horno_vitro` FLOAT NULL DEFAULT NULL,
`enchufes` FLOAT NULL DEFAULT NULL,
`fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
 

Y nada, ya sólo nos queda tener este maravilloso script en python que nos va a ir llenando la Tabla ‘corriente’ de nuestra Base de datos!

Creamos dicho script corriente.py:

#!/usr/bin/python
import serial
import urllib
import json
import MySQLdb
 
ser = serial.Serial('/dev/ttyAMA0', 38400)
 
response = ser.readline()
z = response.split(",")
if len(z)>=7:
 print "General: %s Watts" % z[0]
 print "Estufas: %s Watts" % z[1]
 print "Lavavajillas y Lavadora: %s Watts" % z[2]
 print "Alumbrado: %s Watts" % z[3]
 print "Horno y vitro: %s Watts" % z[4]
 print "Enchufes: %s Watts" % z[5]
 
general_valor=z[0]
estufas_valor=z[1]
lavavajillas_lavadora_valor=z[2]
alumbrado_valor=z[3]
horno_vitro_valor=z[4]
enchufes_valor=z[5]
 
db = MySQLdb.connect("localhost","root","xxxxxx","NOMBRE_BASE_DATOS")
cursor = db.cursor()
 
cursor.execute("""INSERT INTO corriente (general,estufas,lavavajillas_lavadora,alumbrado,horno_vitro,enchufes) VALUES (%s,%s,%s,%s,%s,%s) """, (general_valor,estufas_valor,lavavajillas_lavadora_valor,alumbrado_valor,horno_vitro_valor,enchufes_valor))
db.commit()

Y listo! Lo que nos queda es programar que se ejecute este script con el intervalo que nos interese, ejecutamos ‘crontab -e‘ y añadimos lo siguiente para que se ejecute por ejemplo cada minuto:

1* * * * * python /home/pi/corriente.py

¿Que sería lo perfecto para acabar? Pues lo de siempre, gracias a Grafana, podremos de una manera super sencilla y rápida trabajar cualquier dato, como en este ejemplo una tabla de MySQL.

Aqui algunos ejemplos:

Gráfica donde añadimos la metrica y nos la pinte, en este caso el consumo de los enchufes:

1SELECT enchufes as value, "Enchufes" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM corriente  WHERE $__timeFilter(fecha) order by time_sec asc

Gráfica donde añadimos la métrica del consumo del Alumbrado:

1SELECT alumbrado as value, "Alumbrado" as metric, UNIX_TIMESTAMP(fecha) as time_sec FROM corriente  WHERE $__timeFilter(fecha) order by time_sec asc

Con el plugin Singlestat podremos mostrar por ejemplo el gasto actual de la General:

1SELECT general FROM corriente order by fecha desc limit 1

Como construir un mini ordenador portátil


En este blog intentamos  hacer el uso de la creatividad  para intentar sacar el máximo partido a todo lo que podamos tener  para crear nuevas cosas que nos puedan ser interesantes. En esta ocasión, vamos  a ver cómo  hacer un mini portátil en casa usando Raspberry Pi . Veremos dos diferentes implementaciones con el mismo trasfondo: una implementación de un mini portátil y una implementación de tableta casera.  

En ambos casos (según la versión que tengamos) puede contar como mínimo con 1 GB de RAM , CPU de cuatro núcleos , 4 puertos USB y un puerto Ethernet . Esta propuestas podrían ser muy útil para estudiantes y también para usar diferente software como MS-Office, VLC, Mozilla Firefox, Arduino IDE, Libre Office, Libre CAD, etc., pero obviamente también puede servir para tareas de IOT.

Para la conveniencia de la visualización, puede bastar una pantalla HD de7 pulgadas (tecnología IPS) básicamente porque el coste de esta suele ser muy contenido ( también las hay mucho más grandes).

No menos importante es el tema de la energía, que puede solucionarse fácilmente con un  paquete de batería de 5600 mAh que proporcionará la energía a la mini computadora portátil . Una vez cargada por completo, este mini ordenador portátil puede funcionar durante aproximadamente 2 horas, lo cual significa que puede usar la Raspberry pi 2 para sus proyectos futuros (buenas noticias para los entusiastas de Raspberry pi).

A continuación algunas herramientas que podemos necesitar:

  1. Soldador
  2. Pistola de silicona
  3. Cortador

Y esta es la lista de material a ser utilizado:

  1. Raspberry Pi 3
  2. Pantalla LCD de 7 «con adaptador LCD
  3. Pequeño teclado USB Bluetooth
  4. Mini altavoz
  5. Banco de potencia USB de 5600 mAh
  6. Mini interruptor
  7. Tarjeta de memoria de 16 GB Clase 10
  8. Jack de audio de 3.5 mm
  9. Caja de plástico 11 x 17 cm ( o carcasa impresa en 3D)

 En el siguiente video podemos ver el cómo hacer el mini portátil para que pueda entender fácilmente de que estamos hablando. 

La versión tableta econòmica

Podemos fabricarnos nuestra tableta con el hardware de la fundación RPi. La cuestión es que la  pantalla oficial ofrece ,excepto por su tamaño, características muy similares a las de otros fabricantes, pues de  hecho las características de  la versión oficial  son las siguientes:

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

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

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

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

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

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

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

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

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

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

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

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

Software Instalación automática

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

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

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

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

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

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

Software Instalación manual

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

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

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

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

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

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

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

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

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

Instalación hardware tableta ( a falta de la energía)

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

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

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

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

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

Cuando comencé a hacer este proyecto, tenía otros planes que incluían diseños y dispositivos electrónicos mucho más complejos. Pero al final todo se redujo a estos componentes.

VERSION MINIPC

Para hacer la versión de mini pc primero es interesante hacer el  diseño , podemos hacerlo en 3d o bien comprar una caja de plástico de tamaño 11 x 17 cm que tenga apertura en la parte superior. Obviamente puede quedar mucho mejor si usamos  la funda impresa en 3D para esta computadora portátil ( asegúrese que todos los componentes se ajusten en esta caja), pues en thingineverse hay numerosas ideas.

CAJA PLÁSTICA, mini portátil

En el caso de usar una caja normal puede colocar Raspberry Pi , el pulsador y el Power bank en el lado inferior derecho de la caja para luego colocar una pantalla de 7 «pulgadas en la apertura de la

El siguiente paso sería revisar todos los componentes :

La pantalla : La pantalla puede ser la misma que hemos usado en la versión tableta , o bien una pantalla IPS de 7 pulgadas con tecnología IPS . Esta pantalla era extremadamente delgada y se adaptaba a mi diseño.

pantalla y conector

Según la pantalla que adquiera necesitara un adaptador IPS que se conecta por un lado al panel y por otro lado al conector de expansión de la Raspberry Pi .

pantalla y conector

Teclado : puede utilizarse un mini teclado USB con Bluetooth . Este quizás sea la mejor y más pequeña opción que pueda encontrar en el mercado local. Puede usar el teclado desde un estuche de Tablet PC. 

teclado usb

Raspberry Pi 3 : La placa usada que constituye «The Pi-Berry Laptop» está construida alrededor de la Raspberry Pi 3 . Tiene 1 GB deRAM , CPU de cuatro núcleos , 4 puertos USB y un puerto Ethernet .

Placa base pi 3

FUENTE DE ALIMENTACIÓN

El banco de potencia que elegimos debe tener características importantes : carga de paso (PTC), lo que significa que deberíamos poder cargar y usar la computadora portátil simultáneamente al mismo tiempo.

Tome un banco de potencia de 5600 mAh y abra la caja inferior abierta de este banco de potencia. Entonces aplicando un poco de fuerza de la parte inferior a la parte superior, tomamos el soldador y la soldadura de dos cables al polo negativo y positivo. Luego cierre esta caja según la imagen.

Después del cierre, debe unir el pin USB macho a este cable + y – con un interruptor de encendido / apagado según la imagen.

BANCO DE ENERGÍA

ELEGIR EL SISTEMA OPERATIVO

SISTEMA OPERATIVO RASPBERRY PI
SISTEMA OPERATIVO UBUNTU

La elección del sistema operativo depende totalmente del tipo de trabajo que realice. Si queremos las funciones de una computadora de escritorio, nos podemos ir a Raspbian Pi OS. Hay algunos otros que se deben considerar:

  • Raspbian : Raspbian es el sistema operativo oficial de la Fundación Raspberry Pi. Puede instalarlo con NOOBS o imagen. Raspbian viene preinstalado con gran cantidad de software para educación, programación y uso general.
  • Ubuntu Mate : Ubuntu MATE es un sistema operativo estable y fácil de usar con un entorno de escritorio configurable. Ideal para aquellos que quieren sacar el máximo provecho de sus computadoras y prefieren una metáfora de escritorio tradicional.
  • OSMC : (Open Source Media Center) es un reproductor de medios de código abierto y gratuito basado en Linuxy fundado en 2014 que le permite reproducir archivos multimedia desde su red local, almacenamiento adjunto e Internet.

Una vez que se decida con el sistema operativo que desea utilizar , es hora de instalarlo en raspberry pi 3 . La recomendación del tamaño de la tarjeta SD depende del sistema operativo que instalemos. Lo más normal es utilizar una tarjeta micro SD de 16GB de clase 10 (las tarjetas de clase 10 son más rápidas para arrancar y realizar operaciones de escritura de lectura ).

La escritura de la IMAGEN del sistema operativo en la tarjeta SD se realiza quemando el archivo de imagen utilizando Win32 Disc Imager.

  1. Usando la herramienta SD Formatter formatee la tarjeta SD.
  2. Abra Win32 Disk Imager y ubique la imagen que descargó. Haga clic en » Escribir « una vez listo.
  3. Espere a que se complete la escritura.
  4. Una vez que la escritura finaliza, expulse la tarjeta SD de la computadora de forma segura.
  5. Si siguió los pasos correctamente, la raspberry pi debería iniciarse correctamente con el sistema operativo.

PRUEBA DE TRABAJO COMPONENTES

RASPBERRY PI, POWERBANK, PANTALLA DE 7 PULGADAS, mini laptop

  1. En primer lugar, tome Raspberry Pi 3 y tome el adaptador de pantalla para unirlo con raspberry pi 3.
  2. Luego tome una pantalla de 7 pulgadas y júntela con el otro extremo del adaptador de pantalla.
  3. Inserte la tarjeta de memoria Raspbian OS 16 GB dentro de la ranura de la tarjeta de memoria de raspbian pi 3.
  4. Luego conecta la fuente de alimentación de 5600 mAh a raspbian pi 3.
  5. Enciéndelo y vea que la luz amarilla se enciende en el raspbian pi 3 y en el comienzo de la pantalla led de 7 «o no?
  6. Si funciona bien, vaya al siguiente paso.

ENSAMBLAJE FINAL

PANTALLA DE 7 PULGADAS, RASPBERRY PI, CAJA, POWER BANK, cómo hacer mini laptop, mini laptop

  1. En primer lugar, tome un Cutter y haga un agujero para raspbian pi 3, la carga del banco de potencia y el interruptor.
  2. Usar una pequeña cantidad de pegamento para mantener la pantalla en su lugar.
  3. Pega Raspberry Pi 3 en sus ubicaciones apropiadas.
  4. Pega en caliente la fuente de alimentación en los lugares respectivos.
  5. Conecte las conexiones de la Raspberry pi 3 al controlador de pantalla y a la fuente de alimentación.
cómo hacer mini laptop, mini laptop

¡Finalmente, el portátil Pi está casi listo! Es completamente utilizable y funciona como una pequeña computadora portátil. ¡Espero que les haya gustado! Abra y encienda la computadora portátil. Raspberry pi debería iniciarse correctamente con el sistema operativo si todos los pasos son correctos. Conecte el teclado USB Bluetooth y disfrute de su computadora portátil.

Mas información aqui

Los 5 mejores Cyberdecks con Raspberry Pi


Cyberdecks solía ser material de ciencia ficción, pero con Raspberry Pi se han convertido en una realidad. Lo que define a un cyberdeck diferirá según a quién le pregunte, pero en esencia puede esperar un ordenador portátil en miniatura, diseños de bricolaje tremendamente creativos y funcionalidad personalizada.

A menudo inspirados en la estética cyberpunk, los cyberdecks se encuentran entre algunas de las construcciones de Raspberry Pi más creativas y variadas.

Cyberdecks frente a portátiles

Por supuesto, puede usar su Raspberry Pi para construir un ordenador portátil agregando una pantalla, un teclado y una estructura personalizada para albergar sus dispositivos electrónicos. Ya hemos visto varias formas en las que puede convertir su Raspberry Pi en una computadora portátil a lo largo de los años. Pero un cyberdeck también tiene una pantalla y un teclado y está diseñado para ser portátil. Entonces, ¿qué lo hace diferente?

Lo que podría ver en un cyberdeck:

  • Tamaños de pantalla inusuales
  • teclados personalizados
  • LED extra, sensores, antenas
  • Flexibilidad para acceder y mantener las piezas internas
  • Electrónica reciclada
  • Piezas recicladas
  • Diseños únicos únicos

Con un cyberdeck, no necesita apegarse al diseño tradicional de la computadora portátil o la computadora. Piense en lo que quiere que haga su plataforma, construya la electrónica y sea creativo con la forma en que encierra todos los componentes en una increíble plataforma portátil.

1. Kit de recuperación de Raspberry Pi Cyberdeck fuera de la red

Las computadoras fuera de la red para situaciones de emergencia son una idea de construcción que puede encontrar a menudo en la comunidad de cyberdeck. Ambos son resistentes y reparables, y una buena prueba para construir algo que pueda resistir el paso del tiempo.

Jay Doscher es el creador detrás de esta plataforma cibernética fuera de la red bellamente diseñada que se encuentra dentro de un resistente estuche Pelican. Puede encontrar la guía de construcción en su sitio web BACK7 y obtener una descripción general de la lista de piezas. Cuenta con una Raspberry Pi 4 y una pantalla táctil Pi de 7″, junto con conectores USB, conector de barril y Ethernet, cada uno de los cuales se puede apagar individualmente con interruptores de bloqueo.

Parte de por qué se ve tan bien se debe al uso de la impresión 3D. El acceso a la impresión 3D asequible en el hogar es relativamente nuevo, lo que se suma a la razón por la cual los proyectos de cyberdeck están creciendo en popularidad.

2. Caja de proyector Raspberry Pi

No todos los cyberdecks están diseñados para escenarios imaginarios: algunos están destinados a ser utilizados en entornos del mundo real. En este caso, Subir Bhaduri es el creador de una computadora con proyector Raspberry Pi de bajo costo que espera pueda usarse en aulas con pocos recursos tecnológicos. Puede encontrar los detalles convincentes de esta compilación en Hackaday .

En lugar de una pantalla, se utiliza un proyector para que un grupo grande de estudiantes pueda compartir la computadora al mismo tiempo. Una Raspberry Pi 3B+ o 4B le da a este proyecto capacidad inalámbrica para un mouse o teclado. Mientras tanto, una caja de metal cortada con láser diseñada a medida se adapta a todas las piezas del interior.

Al ser simple, resistente, portátil y de código abierto, este cyberdeck cumple bien sus objetivos. Lo que es más importante, su construcción cuesta solo $ 250 y, al mismo tiempo, sirve como una herramienta de aprendizaje para un gran grupo de personas. Con la relativa asequibilidad de los componentes electrónicos de bricolaje como Raspberry Pi, la informática de bajo costo puede llegar a más y más personas.

3. Cyberdeck con bandolera y sistema operativo dual

La creación de soluciones de hardware personalizadas para sus necesidades (o deseos) exactas es parte de lo que hace un cyberdeck. Y para mostrarle hasta dónde puede llevar su creación, eche un vistazo a este increíble diseño cyberpunk.

Dirígete a MSG Lab y te perderás explorando los entresijos de esta hermosa plataforma cibernética. Con una pantalla táctil, una pantalla de tinta electrónica y una pantalla de matriz de puntos LED de la vieja escuela, esta construcción es realmente el mejor ejemplo de una computadora boutique de bricolaje. Incluso tiene un botón de hardware dedicado para cambiar entre sistemas operativos que se ejecutan en un i7 NUC y Raspberry Pi debajo del capó.

Desde el teclado mecánico Planck hasta la sensación retro del chasis impreso en 3D, es una construcción magnífica. Y, por supuesto, en un verdadero espíritu de código abierto, puede descargar los archivos STL y el código de forma gratuita y ver un video de compilación completo en YouTube .

4. Cubierta cibernética Cyberpunk de Raspberry Pi

Volviendo a las raíces cyberpunk de los cyberdecks, encontrará que muchos proyectos se inspiran en la ciencia ficción. Para el creador de este cyberdeck, fue la clásica novela de ciencia ficción Neuromancer de William Gibson lo que lo llevó a crear este impresionante mazo, denominado Hosaka MK1.

Puede perderse en el sitio web de The Sprawl explorando la lista de componentes, la guía de compilación y los archivos para este diseño cyberpunk. Utiliza una pantalla táctil de 7″ para la interacción, con componentes adicionales para audio y radio, mientras que lo más destacado de este proyecto es el diseño del chasis de estilo retro impreso en 3D.

Tanto si eres un amante de la ciencia ficción como si no, este equipo portátil sigue siendo mucho más genial que la mayoría de las computadoras y portátiles.

5. Cyberdeck reciclado

Si bien la impresión 3D y otros métodos de construcción personalizados son más asequibles que nunca, todavía no es una opción para todos. Lo bueno es que no siempre necesita diseñar un chasis elegante para su cyberdeck: la tecnología reciclada es una solución aún mejor.

El aficionado a la tecnología, Alta, recicló una computadora portátil vieja para su plataforma cibernética y, con una verdadera estética cyberpunk, encaja perfectamente. A diferencia de los otros proyectos enumerados aquí, esta plataforma usa una Raspberry Pi Zero junto con un iPad mini y un Apple Magic Trackpad.

A pesar de que los componentes utilizados aquí son más estándar, el reciclaje de piezas que tiene en su hogar en una configuración portátil personalizada lo coloca en la categoría de cyberdeck. También nos muestra que un enfoque de bricolaje es una opción, incluso si no tiene los medios para una larga lista de componentes en su construcción.

Dónde encontrar más proyectos

Si al final de esta lista está decidido a construir su propio cyberdeck, entonces debería considerar saltar a la comunidad en línea para cyberdecks. Aquí hay un par de lugares a los que puedes ir:

  • Cyberdeck Cafe : presenta una gran galería de proyectos de cyberdeck publicados por miembros, junto con todo lo que necesita saber sobre la cultura de cyberdeck. También tienen una gran comunidad de discordia que vale la pena visitar.
  • r/cyberDeck : un foro en Reddit para discutir cyberdecks y publicar sus compilaciones.

Cyberdecks de bricolaje para ahora y el futuro

Los Cyberdecks están en algún lugar entre una computadora de escritorio y una computadora portátil, pero tienen un diseño tan único que realmente son su propia categoría. Ya sea que esté inspirado en una historia de ciencia ficción del pasado o espere crear algo que pueda usar prácticamente hoy, los cyberdecks son el mejor proyecto de construcción de computadoras.

Regleta IoT para ahorro de energía



En este proyecto el autor utlizaba interruptores de alimentación de red en su lugar de trabajo para encender / apagar / apagar y encender de forma remota hosts y otros equipos. Estos son equipos bastante caros que generalmente tienen una interfaz basada en web o de línea de comando para administrar el equipo remoto. En su casa, tiene dos tomas de corriente a las que están conectados varios dispositivos. Pensó que sería genial si tuviera algo como el interruptor de alimentación de red en sui casa por las siguientes razones:

1. Contaba con dos Raspberry Pis que a veces cuelgan y tienen que encenderlas y apagarlas. Hacerlo a la antigua usanza es bastante tedioso.

2. Hay algunos dispositivos, como el televisor, el decodificador de cable, la barra de sonido, etc., que se ponen en modo de espera cuando no se usan activamente. Aunque están en modo de espera, todavía obtienen algo de energía. el autor necesitaba una forma de apagarlos cuando no se usa para ahorrar energía.

3. Hay otros dispositivos que no tienen un modo de espera y necesitan ser encendidos para usarlos y apagarlos más tarde.

Componentes

  • Chip microcontrolador: ATMEGA1284P-PU
  • Módulo ESP8266 ESP-01
  • Pantalla LCD ILI9341 TFT Touch SPI
  • Registro de desplazamiento 74HC595 x 3
  • Módulo de relé de 8 canales x 2
  • Módulo de relé de 4 canales o dos módulos de relé de 2 canales
  • Tira de LED WS2812B
  • Oscilador de cristal de 8 MHz
  • Resistencias
  • Condensadores
  • Breakaway encabezados macho y hembra
  • Tomas dc hembra
  • PCB
  • Módulo de fuente de alimentación de 220 V CA a 5 V CC 2 amperios
  • LM1117 3.3v LDO regulador de voltaje
  • Regletas de enchufes
  • Recintos
  • Fuente de alimentación de 220v a 5v 40 amperios

El circuito

El circuito no es complicado. El ATMEGA1284P (con el cargador de arranque Arduino) se utiliza para enviar datos a los tres registros de desplazamiento 595 conectados en serie. Las salidas de los registros de desplazamiento están conectadas a los relés. Dependiendo de los datos enviados a los registros de desplazamiento, los relés individuales se pueden activar o desactivar. Los relés se utilizan para encender o apagar los enchufes de las tomas de corriente.

Un módulo ESP8266 está conectado al Arduino a través del puerto serie. El módulo ESP8266 recibe comandos a través de WiFi y los envía al Arduino. También hay disponible una pantalla táctil LCD que muestra los estados de los enchufes individuales y a través de los cuales también se pueden controlar los enchufes.

Los archivos Kicad del circuito se pueden encontrar en la carpeta power_strip_kicad

Preparar las tiras de alimentación

Modificar las tiras de potencia es bastante sencillo. Como se puede ver, ambas regletas tienen interruptores para cada toma.

Generalmente, el cable de línea se conectará a un extremo de los interruptores y el otro extremo de cada interruptor se conectará al orificio de línea de cada toma. Esta conexión entre el cable de línea y los interruptores debe eliminarse. Los cables deben soldarse a cada uno de los interruptores. También es necesario soldar un cable al cable de línea que proviene de la red eléctrica.

La idea es que el cable de línea se conectará al terminal central (COM) del relé. Los terminales COM de todos los relés también estarán conectados entre sí. Y los cables de cada uno de los interruptores se conectarán al terminal NO (normalmente abierto) de cada relé. Por lo tanto, cuando el relé se apaga, el circuito se abrirá y el zócalo se apagará. Cuando se enciende el relé, el circuito se cerrará y el zócalo se encenderá

Código

El boceto de Arduino para el chip ATMEGA1284 y el código fuente para el firmware del módulo ESP8266 se pueden encontrar en: https://github.com/tangophi/IoT-Power-Strip

El firmware de los módulos ESP8266 se basa en el sdk abierto ESP8266. En lugar del SDK, Arduino IDE también se puede utilizar.

La idea general es que el módulo ESP8266 se suscribe a los siguientes temas de MQTT:

/ board3 / OnCommand

/ board3 / OffCommand

/ board3 / ResetCommand

La aplicación de teléfono inteligente NetIO envía mensajes de socket a la instancia de nodo rojo en la frambuesa pi. Lo que a su vez envía mensajes apropiados a los temas MQTT. Cuando el ESP8266 recibe estos mensajes, envía cadenas JSON al Arduino a través del puerto serie UART. Y cuando el Arduino recibe estas cadenas, enviará los datos apropiados a los registros de desplazamiento para encender / apagar los relés. Cuando se recibe un comando de reinicio, apagará el relé y lo volverá a encender después de 5 segundos. El Arduino también actualizará la pantalla LCD con los estados de los enchufes.

Cuando la pantalla LCD se usa para controlar los zócalos, el Arduino enviará el estado modificado del zócalo al módulo ESP8266. El módulo wifi enviará esta información al agente MQTT y la instancia de nodo rojo se actualizará. Y la aplicación NetIO consultará periódicamente la instancia de nodo rojo para conocer los últimos estados de los sockets y actualizará la aplicación en consecuencia. El Arduino también enviará periódicamente los estados de todos los sockets.Añadir consejo Hacer pregunta Comentario Descargar

Se utilizan en este proyecto o dos Raspberry Pis, un concentrador USB con alimentación, un proyecto Ambilight y algunos otros proyectos de 5v. La alimentación de cada uno de ellos requería adaptadores de fuente de alimentación individuales de 220v a 5v. Para deshacese de estos adaptadores, se optó por una fuente de alimentación de 40Amps 5V. Y lo conecté a 8 tomas de corriente CC hembra en una caja de plástico. Cada una de estas tomas de CC está controlada por un relé

Montaje / Instalación

Como se puede ver en las imágenes, se utilizaron cuatro cajas de plástico para instalar la placa de circuito y los módulos de relé.

* Se utilizo un cortador de cartón para hacer un agujero en la tapa de un gabinete para que se ajuste a la pantalla LCD.

* Se utilizó un taladro para hacer 8 agujeros en otro recinto para que se ajusten a las tomas CC hembra.

Luego se trataba de conectar el cable de línea de cada regleta a los terminales COM de los relés y los cables de cada interruptor al terminal NO de cada dispositivo.

Para el primer módulo de relé, se conecta el terminal positivo de la fuente de alimentación de 5v 40A a los terminales COM del relé. Luego conectar el terminal NO de cada relé al terminal positivo de las tomas de CC. También se usan algunos condensadores entre los + y – de cada jack solo para suprimir / evitar cualquier ruido

Aplicación para teléfonos inteligentes

La aplicación para teléfonos inteligentes se creó con el Editor de diseño de NetIO en

http://netio.davideickhoff.de/editor

Una vez que la aplicación está diseñada, la aplicación NetIO debe descargarse a su teléfono inteligente. Tenga en cuenta que esta es una aplicación de pago, pero no cuesta mucho. Cada vez que se presiona un botón / interruptor / control deslizante en la aplicación, enviará un mensaje a través de los sockets al cuadro Rpi que se está ejecutando en el nodo rojo. La aplicación de nodo rojo procesará los mensajes y luego enviará mensajes MQTT a la placa de la regleta de alimentación de IoT.

Para que la aplicación del teléfono inteligente funcione, debe estar en la misma red que la placa de la tira de alimentación de IoT. Es posible usar la aplicación de teléfono inteligente desde fuera de la red local. Si el ISP permite conexiones entrantes, es solo cuestión de reenviar el puerto del zócalo en el enrutador. Si el ISP no permite conexiones entrantes, entonces se puede usar VPN como solución alternativa

Con la aplicación de teléfono inteligente, es posible encender / apagar / restablecer cualquiera de los enchufes. Con la pantalla táctil LCD, es posible encender / apagar cualquier enchufe. Además, el estado de cada una de las tomas se actualiza periódicamente tanto en la pantalla como en la pantalla LCD

Para obtener más detalles sobre cómo encajan las distintas piezas, puede visitar este segundo instructable en https: //www.instructables.com/id/IoT-Wall-Outlet-wi … Ese instructable es sobre otro proyecto de automatización del hogar y tiene descripciones detalladas sobre cómo otra placa IoT en una casa está controlada por node-red y la aplicación de teléfono inteligente. El proyecto de regleta IoT también utiliza las mismas instancias de nodo rojo y MQTT.

La razón por usar un chip ATMEGA1284 es por tener una pantalla LCD táctil. También era bastante posible hacerlo con un Arduino Pro Mini, pero la memoria no es suficiente para esas necesidades. Por lo tanto, utilizó el chip ATMEGA1284.Si no necesita la pantalla LCD, puede usar un Arduino y un módulo ESP8266 o simplemente un módulo ESP8266 ESP12.

Fuente https://www.instructables.com/id/IoT-Power-Strip/

Cómo instalar Kodi en Raspberry Pi 1, Pi 2, Pi 3 y Raspbian – Pasos sencillos


Kodi es un software gratuito de código abierto que puede descargarse en su dispositivo Raspberry Pi y con él puede ver películas, programas de televisión, deportes en vivo y todo lo que desee. Con 6 sencillos pasos podrás saber cómo instalar Kodi en Raspberry Pi y tu Kodi estará listo y funcionando en poco tiempo. El proceso de instalación de Kodi es diferente para la primera generación de Raspberry Pi, mientras que instalar la mejor VPN para Kodi en raspberry Pi es un método un poco complicado que ocurre con el repositorio de Zomboided.

La transmisión de Kodi en su dispositivo Raspberry Pi sin una VPN compromete sus datos personales. Miles de usuarios reciben avisos de DMCA por ver contenido gratuito a través de Kodi. Una VPN puede mantener su identidad anónima y segura y lo ayuda a protegerse de los avisos de DMCA, problemas de derechos de autor y permite el desbloqueo de varios complementos.

CÓMO INSTALAR KODI EN RASPBERRY PI

Cosas necesarias para configurar Raspberry Pi para Kodi v17.6

Antes de pasar a la instalación de Kodi en Raspberry Pi, déjame contarte las cosas que necesitarás para configurar Raspberry Pi. Se requieren los siguientes periféricos para configurar Raspberry Pi:

1. Dispositivo Raspberry Pi

Es obvio que sin el dispositivo en sí no puede continuar. Asegúrese de comprar un modelo Raspberry Pi actualizado, para que no se enfrente a ningún problema relacionado con la compatibilidad del hardware o del sistema operativo.

Cuanto más antiguas se vuelven las placas Raspberry Pi, su rendimiento comienza a disminuir. Es por eso que recomiendo a los usuarios que optimicen sus placas o compren el último modelo de Raspberry Pi.

2. El caso de Flirc Raspberry Pi

El estuche Flirc Raspberry Pi no es una necesidad esencial, pero es bueno tenerlo si planeas verlo en exceso. La razón detrás de esta recomendación es que una carcasa Flirc Raspberry Pi viene con un disipador de calor incorporado, que evita que la placa se sobrecaliente.

Muchos usuarios han informado problemas de sobrecalentamiento y esto sucede generalmente porque cuando está transmitiendo durante horas, el rendimiento de la placa se utiliza por completo. El sobrecalentamiento puede causar muchos problemas de hardware y, en ocasiones, puede provocar un cortocircuito.

Otra razón para optar por un estuche Flicr es que le da un gran aspecto a tu tabla debido a su fresco cuerpo de aluminio. Puede mantener la placa overlock sin preocuparse por los problemas de sobrecalentamiento y su placa también obtiene un nuevo aspecto excelente.

3. Cable Ethernet

Es necesario tener un cable Ethernet de alta velocidad, no solo para conectar su dispositivo a Internet, sino también para tener una buena velocidad de ancho de banda para una transmisión ininterrumpida.

4. cable HDMI

Para conectar su dispositivo Raspberry Pi a su televisor, necesitará un cable HDMI. Un cable HDMI funciona mejor que la transmisión de pantalla porque no proporciona una imagen retrasada.

5. Tarjeta de memoria microSD

Se necesita un almacenamiento externo para almacenar archivos multimedia en Raspberry Pi. Muchos usuarios optan por unidades USB, que no son lo suficientemente rápidas para extraer archivos multimedia y, a veces, ralentizan el sistema. Usar una tarjeta micro SD es siempre una mejor opción que una memoria USB.

Sin embargo, Raspberry Pi no es compatible con todas las tarjetas micro SD. Puede incluir una tarjeta micro SD junto con su Raspberry Pi en el paquete; revisa bien la tarjeta porque muchas veces estas tarjetas son de baja calidad.

Vería que las tarjetas Samsung y Kingston vienen en paquetes con dispositivos Raspberry Pi, que no son tan eficientes. Es mejor que utilice tarjetas SanDisk, que también deberían tener al menos 16 GB para garantizar una experiencia de funcionamiento fluida.

6. Adaptador de corriente micro USB

Los adaptadores de corriente no están incluidos en el paquete cuando compra una placa Raspberry Pi, por lo que debe comprarlos por separado. Asegúrese de comprar un adaptador de corriente de alta calidad compatible con su dispositivo porque a veces hay paquetes que ofrecen algunos adaptadores de corriente de bajo grado junto con las placas Raspberry Pi. Estas placas no duran mucho y pueden dañar su placa en caso de fluctuaciones de voltaje.

Cómo instalar Kodi en Raspberry Pi 1 en 6 pasos

  1. Abra su navegador y visite el sitio web de OpenELEC > Haga clic en Descargas> Desplácese hacia abajo hasta las compilaciones de Raspberry . Hay versiones independientes para Raspberry Pi 1, 2, 3 o Zero. Seleccione la compilación de Raspberry Pi First Generation (archivo de imagen de disco)> Descargue el archivo zip en su dispositivo.cómo instalar kodi en raspberry pi
  2. Una vez descargado el archivo zip, extraiga el archivo zip en su dispositivo.
  3. Ahora necesitamos copiar el archivo extraído en una tarjeta micro SD, y para eso necesitamos un software llamado Rufus que crea unidades USB de arranque. Descargue el archivo desde el enlace que se presenta aquí .descargar raspberry pi
  4. Una vez descargado, abra Rufus> Aparecerá un cuadro que requerirá información> Seleccione su tarjeta SD en la opción del dispositivo> Haga clic en la imagen del disco ubicada en el cuadro.tarjeta sd frambuesa pi kodi
  5. Ahora busque el archivo que se extrajo y seleccione el archivo en particular> Presione el botón Inicio en el cuadro. El archivo se escribirá en la tarjeta SD. cómo configurar kodi en raspberry pi
  6. Ahora retire la tarjeta SD y vuelva a colocarla en su dispositivo Raspberry Pi. Una vez que se enciende el dispositivo Raspberry Pi, se iniciará automáticamente en Kodi. Disfruta usando Kodi en Raspberry Pi.

Cómo instalar Kodi en Raspberry Pi 2

Para instalar Kodi en Raspberry Pi 2, excepto en el primer paso, todo el proceso seguirá siendo el mismo. Abra su navegador y visite el sitio web de OpenELEC > Haga clic en la pestaña Descargar ubicada en la parte superior> Desplácese hacia abajo hasta las compilaciones de Raspberry Pi> Ahora seleccione Raspberry Pi 2 (archivo de imagen de disco) y descargue el archivo zip en su dispositivo> Ahora continúe con el paso 2 de las pautas mencionadas anteriormente como se describe para la primera generación de Raspberry Pi.

cómo instalar kodi en raspberry pi 2

Cómo instalar Kodi Krypton v17.6 en Raspberry Pi 3

  1. Descargue la última versión de OSMC Raspberry Pi Installer desde su sitio web oficial, es decir, https://osmc.tv/download/.cómo instalar kodi en raspberry pi 3
  2. Conecte la tarjeta SD para instalar Kodi y ejecute el instalador de OSMC.cómo configurar kodi en raspberry pi 3
  3. Seleccione su idioma preferido> Seleccione Raspberry Pi 2/3 de la lista desplegable debajo del cuadro de idioma. cómo agregar kodi en raspberry pi 3
  4. Ahora, elija la versión de la compilación que desea instalar> La opción óptima es elegir la última versión de compilación porque funciona mejor.instalación de osmc para kodi
  5. Ahora elija la tarjeta SD como medio de almacenamiento.opciones de instalación para kodi 17.6 en raspberry pi 3
  6. Si está utilizando un cable Ethernet, seleccione Conexión por cable o si está utilizando una conexión Wi-Fi, seleccione Inalámbrico. guía de configuración para kodi 17.6 en raspberry pi 3
  7. Asegúrese de que la ruta de almacenamiento mencionada sea correcta.pasos para kodi 17.6 en raspberry pi 3
  8. Marque la exención de responsabilidad del acuerdo de licencia y se iniciará la descarga.descargar kodi 17.6 krypton en raspberry pi 3
  9. Tan pronto como se complete la instalación, OSMC se instalará en su tarjeta SD.descargar kodi jarvis en raspberry pi 3
  10. Después de que OSMC esté instalado en su tarjeta SD, puede usar esta tarjeta SD en su Raspberry Pi.Tarjeta SD en tu Raspberry Pi
  11. Conecte su tarjeta SD en su dispositivo Raspberry y conecte todos los periféricos en sus respectivos puertos.Conecte su tarjeta SD en su dispositivo Raspberry y conecte todos los periféricos
  12. El sistema se iniciará y se completará la instalación.
El sistema se iniciará y se completará la instalación.

Cómo instalar Kodi en Raspbian en 9 pasos

Raspbian es un software operativo gratuito para dispositivos Raspberry Pi. Es el sistema operativo líder para Raspberry Pi y el más utilizado para el dispositivo.

  1. Instale Raspbian Jesse en el sitio web de Raspberry Pi y abra Raspbian una vez que esté instalado.
  2. Vaya a Menú> Preferencias> Haga clic en Configuración de Raspberry Pi.
  3. Haga clic en Expandir el sistema de archivos.
  4. Ahora haga clic en la pestaña Rendimiento. Si tiene Raspberry Pi 1, debe seleccionar la memoria de GPU de 128, mientras que puede seleccionar la memoria de 256 GPU para Raspberry Pi 2 y 3. Haga clic en  para reiniciar.
  5. Ahora necesitamos instalar Kodi en Raspbian. Para ello, debe asegurarse de estar conectado a Internet, Wi-Fi o Ethernet.
  6. Haga clic en el icono de Terminal ubicado en la parte superior> Ahora copie ‘sudo apt-get update’ exactamente y péguelo en Terminal> Presione Enter> Kodi tardará unos minutos en instalarse.
  7. Una vez que se complete la instalación, copie ‘sudo apt-get install kodi’ exactamente> Presione Enter.
  8. Escribe Y si te pide que continúes con la instalación en la Terminal> Presiona Enter.
  9. Ahora ve a Menú> Sonido y video> Kodi Media Center> Estás listo para usar Kodi, ¡disfrútalo!

Cómo instalar Raspberry Pi VPN en Kodi Krypton versión 17.6

La instalación de Raspberry Pi VPN no es un paseo por el parque para principiantes, pero discutiremos en detalle cómo puede instalar Raspberry Pi VPN en Kodi Krypton Versión 17 en 8 pasos. Antes de comenzar a instalar Raspberry Pi VPN en Kodi, debe crear una cuenta de Raspberry Pi VPN con cualquier servicio y luego seguir los pasos a continuación:

  1. Necesita tener una unidad flash USB insertada en su computadora.
  2. Descargue el repositorio Zomboided desde aquí .
  3. Transfiera o copie el repositorio Zomboided a una unidad flash USB.
  4. Desenchufe el USB de la computadora y conéctelo a su dispositivo Raspberry Pi.
  5. Vaya a Programas> Complementos> Obtener más> Seleccionar puntos suspensivos ‘…’ Seleccionar puntos suspensivos nuevamente> Seleccionar Instalar desde Zip.
  6. Elija la opción de unidad flash USB de la lista> Seleccione repository.zomboided.plugins-1.0.0.zip> El repositorio tardará en instalarse.
  7. Vaya a la página de complementos nuevamente> Haga clic en Instalar desde el repositorio> Seleccione el repositorio de complementos de Zomboided> Haga clic en Administrador de VPN para OpenVPN > Haga clic en Instalar.
  8. Vaya a la pantalla de inicio de Kodi> Complementos> Complementos del programa> Administrador de VPN para OpenVPN .
  9. Aparecerá un cuadro donde deberá seleccionar el Servicio VPN de Raspberry Pi que desee> Insertar nombre de usuario y contraseña> Disfrutar.

Asegúrese de no registrarse o pensar en probar una VPN gratuita para Kodi porque no son confiables y no son compatibles con Raspberry Pi.

Cómo instalar Raspberry Pi VPN en Kodi Jarvis versión 16

El proceso para instalar Raspberry Pi VPN en Kodi Jarvis Versión 16 sigue siendo el mismo que para Kodi Krypton Versión 17. Si necesita instalar Raspberry Pi VPN, siga los pasos descritos anteriormente.

Descargar Raspberry Pi Kodi

Para descargar Kodi en su dispositivo Raspberry Pi, necesita descargar OpenELEC para su respectivo dispositivo Raspberry Pi, mientras que por otro lado necesita descargar Rufus.

  1. Puede obtener OpenELEC para su dispositivo Raspberry Pi 1, 2 o 3 aquí .
  2. Puede obtener el software Rufus desde aquí .
  3. Puede obtener el sistema operativo Raspbian desde aquí .

Otros requerimientos

Al instalar Kodi en Raspberry Pi, también necesita tener una tarjeta micro SD con un adaptador para poder conectarla fácilmente a su ordenador. Consulte esta guía para instalar kodi en Raspbian Jessie OS.

Fuente https://www-kodivpn-co/

Diversion con Raspberry Pi


Son tiempos complicados     en los  que debemos  usar todos los recursos disponibles en aras de  hacer mas llevadera esta nueva etapa de nuestra vida en la que por desgracia estamos inmersos.

Precisamente en este contexto vamos a  ver  como podemos usar una Raspberry Pi como consola de juegos sin tener que manipular o modificar el fw   que se tenga(normalmente RaspBian)  , es decir ,sin tener que recurrir a cambiar  la imagen de la SD.

En este post,pues  querido lector  vamos a ver lo sencillo  que es si cuenta con una Raspberry Pi  con Raspbian instalado( o cualquier  otra  maquina  corriendo con  Linux)   , las cuales   quizás estén usando para otro cometido , también  pueda  usarla  con unos simples pasos en una divertida consola de juegos retro.

 

La importancia del sistema operativo

En efecto  partiendo   de una Raspberry Pi ( o algunos de su clones  como Orange Pi o Banana Pi  ) o incluso un ordenador con  Ubuntu (16.04 LTS o posterior) o una distribución basada en Debian relacionada,  como Linux Mint 18 / 19  es factible instalarle Retropie , es decir  una capa de personalización con una interfaz desde donde ejecutar los diferentes emuladores para poder jugar a juegos retro.

Es  importante destacar de hecho que toda la interfaz de RetroPie así como los emuladores son de código abierto, por lo que cualquier usuario puede colaborar en el desarrollo y reportar posibles errores detectados durante la instalación o el juego.

Si parte de una Orange Pi   que tiene un chip  ARM , en este post se explica  como  instalar ARMbian  , si por el contrario   posee una Raspberry Pi , los pasos para instalar  Raspbian  son mucho mas  sencillos como se citan en este post

Primer paso :revisar la SD y otros

Si la tarjeta SD es mayor de 4 GB,  si aun no  lo ha hecho  para qeu nos quepa  los juegos    y sus emuladores  debera expandirla antes para  que la Raspberry pueda utilizar el espacio restante, para lo cual deberá iniciar la herramienta de configuración Raspberry Pi (raspi-config).

Para  ello desde una consola (o  desd e la interfaz de Retropie seleccionando el icono del menú RetroPie y luego seleccionando  RASPI-CONFIG)  introduciremos  lo siguiente y pulsaremos  Intro:

sudo raspi-config

Una vez compleatdo el proceso  elegiremnos  Expand Filesystem expand_rootfs del menú  y  reiniciaremos la Raspberry  por ejemplo mediante el interfaz grafico o utilizadno el siguiente comando

sudo reboot

Ahora  podemos asegurarnos de que todos los paquetes estén actualizados. Presiona F4 para volver a la línea de comandos, y ejecute los siguientes comandos:

sudo apt-get update
sudo apt-get upgrade

Reinicie la Raspberry una vez más.

Si aun no lo ha hecho ,la ejecucion de  RASPI-CONFIG es importante. Entrando en ello, se pueden hacer muchas cosas:

    • Se puede cambiar la contraseña de usuario por defecto (pi),
    • Podemos configurar lenguaje en change locale quitando el inglés y ponienodo el español. Para eso bajamos hasta en_GB.UTF-8 UTF-8 y lo desmarcamos con la tecla Espacio. Bajamos hasta es_ES.UTF-8 UTF-8 y la marcamos pulsando la tecla Espacio. Ahora pulsamos la tecla Tabulador e pulsamos Enter. En la siguiente pantalla seleccionamos la opción es_ES.UTF-8.
    • También podemos cambiar el TimeZone, el Keyboard y ponemos nuestro pais si usamos wifi. Tecla tabulador para elegir Select, o Back, o Finish, terminar. 
    • En Wifi (último epígrafe), ponemos nuestro ESSID y password, para poner conectarnos.  Y salidremos , bien con F4, y escribiendo emulationstation o bien  con los botones del mando ( como veremos mas adelante)

Instalación Retropie

Como comentamos anteriormente, en este post vamos  a instalar RetroPie en nuestra Raspberry Pi, aunque  estos pasos son extrapolables a otros tipos de maquinas o placas con Linux y sus variantes.

Afortunadamente la mayoría de los videojuegos «antiguos»  se pueden emular desde la versión 1 de Raspberry Pi,aunque  sin embargo, algunos juegos de videoconsolas como PS1 o NS64, necesitaremos emularlos en las Raspberry Pi mas modernas ( 2 ,3 o mejor 4).

En Retropie , de hecho ,se dispone un numero considerable de videoconsolas para emular videojuegos  entre las cuales destacamos las siguientes:

        • NES , es decir Nintendo Entertainment System – Super Nintendo Entertainment System
        • Atari 800 – Atari 2600 – Atari ST/STE/TT/Falcon
        • Amstrad CPC
        • Game Boy – Game Boy Color – Game Boy Advance
        • Sega Game Gear
        • MAME
        • PC x86
        • NeoGeo
        • Nintendo 64
        • Sega Master System – Sega Mega Drive / Genesis – Sega Mega-CD – Sega 32X
        • Playstation 1
        • Sinclair ZX Spectrum

 

Para ejecutar RetroPie-Setup, debe ser miembro del grupo root / admin lo cual  es lo normal siempre qeu haya instalado con las opciones por defecto  y no haya tocado nada.

Antes de empezar desde una consola en Raspbian  comprobaremos si hay actualizaciones del sistema operativo, por lo que escribiremos lo siguiente en el caso de que no  lo haya hecho en el paso anterior:

sudo apt-get update && sudo apt-get upgrade

Ahora  instalaremos los paquetes necesarios para el script de instalación de RetroPie:

sudo apt-get install -y git dialog unzip xmlstarlet

Descargaremos  también  el último script de configuración de RetroPie:

git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

Ahora  , suponiendo que estemos en el home del usuarios ,  nos iremos  a  la carpeta con el script de configuración:

cd RetroPie-Setup

Ya podemos  ejecutar el script  mediante sudo  con:

sudo ./retropie_setup.sh

La pantalla debería verse / similar en este punto:

script de configuración de retropie 4-0-2

 

Ahora  nos  iremos  a la primera opción (Instalación Básica) ,lo cual  instalará los paquetes principales que son equivalentes a los que se proporcionan con la imagen RetroPie SD. 

Tenga en cuenta que esta será la versión de 32 bits de RetroPie  lo que significa que algunos emuladores como Daphne (Dragon’s Lair) no funcionarán de fábrica en esta versión pues Daphne y algunos otros emuladores solo tienen una versión de 64 bits lanzada para su uso, mientras que esta instalación es para la familia de CPU de 32 bits.

 

Configurar RetroPie

EmulationStation se puede ejecutar desde el terminal escribiendo emulationstationel terminal.

Una vez  arrancado  podemos  ir a Configuración / Configuración y habilitar el inicio automático  para que arranque nuestra raspberry Pi   con el interfaz RetroPie ,aunque esta opcion no es muy aconsejable si usa la  raspberry pi para otros cometidos  pues ademas la vuelta desde un  emulador no siempre es muy efectiva

El arranque de RetroPie requiere un poco de paciencia, pero básicamente nos advertirá sobre la detección  o no del gamepad.

 

retropie guia de instalacion
Emulacion por medio de  teclado

Una vez nos aparezca  la EmulationStation y se nos ponga en la pantalla de ‘RetroPie’  , si solo disponemos de unteclado   USB   pulsaremos una tecla hasta que veamos ‘keyboard’ y ya entramos en su configuración.

Por resumirlo, lo del teclado se haría así:

 

A partir de este momento, ya podríamos actuar, acordándonos de que la tecla más importante, en el teclado, es la Z, la de Launch (iniciar, OK, aceptar…)


Si se equivoca, pulsando la tecla F4, se sale de la configuración, pasando a modo consola. Y, cuando esté en el ‘prompt’ de consola, puedes escribir sudo reboot,para reiniciar el sistema, o sudo shutdown -h now) para cerrarla y apagar. O puedes escribir emulationstation y vuelves a la pantalla de Configuración General.

Emulacion por medio de un gamepad USB

Aunque un teclado nos puede valer , lo realmente divertido es  usar Gamepads para jugar ,( los hay por 5€)

 Hay infinidad de mandos USB que son compatibles con RetroPie, basta hacer una pequeña búsqueda en Amazon.

Puede utilizar cualquier tipo de controlador USB, incluido un controlador USB NES, aunque sus juegos son más limitados, ya que tiene menos botones que la mayoría de los juegos más recientes.

Si está configurando RetroPie en su máquina arcade lo podrá configurar todo de igual forma.

Antes de empezar  conectaremos los Gamepads     a nuestra Raspberry Pi


Los mandos para jugar se configuran de una  manera similar  a un teclado .

Para configurar los mandos para que funcionen con el sistema de menús y los juegos, arranque RetroPie. La Raspberry iniciará automáticamente la interfaz de usuario de RetroPie, donde se le pedirá que configure el controlador.

Mantwega  presionado uno de sus botones para configurarlo, y siga las instrucciones en la pantalla

Si se equivoca, no se preocupe, puede acceder a este menú de configuración más tarde pulsando Start en la interfaz de usuario de RetroPie o escribiendo F4 en su teclado y reiniciando RetroPie.

Algunos juegos requieren una configuración adicional del mando en el juego. Esto se puede hacer entrando en el sistema de menús de un juego y mapeando el controlador allí (aunque esto no es necesario para la mayoría de los juegos).

configuracion-mandos-retropie

Es importante,mencionar lo del HotKey  pues es el mandato para salir de un juego.  Si no se asigna nada,  pregunta si quiere que se asigne el botón por defecto (o no). Si  Le dice que YES, y entonces  asigna el Pulsar simultáneamente Select+Start,( es decir los botones centrales del  s Gamepads      ) , lo cual  es un gesto muy fácil, y vale perfectamente para salir de cualquier juego.

Si tuviésemos un mando de PlayStation, estos serían las completas equivalencias:

 

Si su gamepad no cuenta con una de las opciones (digamos, las palancas analógicas) presiona un botón hasta que RetroPie la ignore e indique «Not Defined». La confirmación en «OK» se hace con el botón equivalente a «A». El teclado puede ser configurado como un control secundario, o salir al rescate en caso de que RetroPie no haya detectado correctamente a los botones del gamepad y sea necesario volver atrás.


 

Confuguraciones adicionales


Respecto a las configuraciones generales, en realidad, se puede dejar todo ‘por defecto’.

Ya tenemos configurado así que vamos, en la ES (EmulationStation) al identificativo de Retropie – Configuration y… Aceptar. Entonces nos sale esto:

retropie guia de instalacion

Viéndolo muy por encima, vamos seleccionando (y Aceptar) cada cosa y viendo que pone, por ejemplo en Audio, que sea por HDMI. Es-Themes y Splash- Screen es cosa de tuneo, Files Manager es para navegar por los archivos (usando Linux, es mucho más cómodo meter la SD en el PC y trabajar desde ahi).

 

Buscando ROMs

Oficialmente  deberiamos comprar las ROM  si es  que no disponemos del juego original

Si cuenta con los juegos originales  hay algunas web en las que puede buscar, y descargar, una a una, ‘roms’ de juegos, que  presentan ordenados por formatos de emulación, y alfabéticamente.

Estas son  algunas:

    • emuparadise.me
    • coolrom.com 
    • gamestorrents.to  
    •  freeroms.com


Por cierto que parece ser que estos sistemas admiten añadir, en las carpetas donde cargas los juegos, unas subcarpetas de nombre ‘images‘ que contengan archivos JPG, PNG, etc, de esos juegos cargados, para verlos cuando arranque el sistema. Y el propio sistema tiene una cosa que se llama ‘SCRAPER’, en la que no vamos a entrar, por la que, vía internet, se pueden ‘documentar’, con imágenes, los juegos instalados.

Por suerte, tanbien   hay algunas ROMs gratuitas que podemos usar, MAMEdev.org tiene una lista de estas ROMs gratuitas y legales. La.

Como ejemplo las ROMs de Gridlee y Super Tank. se pueden descargar

Carga de juegos

Ahora, debe copiar sus archivos rom en los directorios rom correctos asociados. Si siguió los pasos anteriores, el directorio principal para todas las roms es ~/RetroPie/roms(o /home/pi/RetroPie/roms, que es lo mismo aquí). En este directorio hay un subdirectorio para cada sistema emulado compatible, por ejemplo, NES, SNES, Sega Megadrive, etc.

Se debe prestar atención a las extensiones de los archivos rom pues algunos emuladores usan .zip mientras que otros usan una extensión de archivo personalizada asociada con el emulador en cuestión. Por ejemplo, el emulador Atari 2600 puede usar .a26, .bin y .rom.

 

Las ROMs pueden instalarse desde al menos tres vias :

  • A través de SSH/SFTP (a través de su red) .Lo ideal   es  conectarse  con otro ordenador  usando  FileZilla y buscando el siguiente directorio:
/home/pi/RetroPie/roms

Descomprima cada ROM de juego y suba cada carpeta de juego a su respectiva carpeta de sistema de juego.Después de haber copiado estos directorios, reinicie RetroPie.

  • Desde la SD con un ordenador Linux. Si pinchamos la SD del Retropie en el ordenador (con Linux, porque las particiones son EXT4 y Windows no las vera) vemos que consta de tres particiones: boot y retropie (es decir, es como un sistema debian, porque los juegos hay que cargarlos, en Retropie, en la ruta (de esta partición ‘retropie’… /home/pi/RetroPie/roms/. Y dentro de esa carpeta ‘roms’ vemos muchas subcarpetas, que corresponden, cada una, a un tipo de emulación… y a cada una de ellas deben ir  los juegos (las ‘roms’) que corresponda a esa plataforma.
  • Se pueden cargar  juegos tambien desde un pendrive, Siga los siguintes pasos :

1- Pendrive vacío, formateado en FAT32. Crear en él una carpeta (vacía) llamada retropie.
2- Insertar este pendrive en el Retropie arrancado (instalará automáticamente unas carpetas, tardando cerca de 2 minutos)
3- Sacarlo, volver al PC y copiar los juegos en sus correspondientes carpetas del pendrive
4- Volver a insertar en pendrive en en el Retropie… y transferirá, automáticamente, los archivos cargados.

Los juegos (las ‘roms’) tiene que cargarse en el formato apropiado… o en *.zip yY esto hay que irlo conociendo (conociendo las ‘extensiones’), a la hora de copiar los juegos. Por ejemplo, los juegos de Atari7800 vienen como *.a78, los de GameBoy con *.gb, los de GameBoy Color como *.gbc, los de Nintendo 64 como *.n64, los típicos de Nintendo (‘Nintendo Entertainment System’) como *.nes, los de Supernintendo como *.smc y los más gordos, de la Play Station One (PSX), la Play Station Portable (PSP) suelen venir como *.iso, o *.img, o con un .bin mas un .cue, etc. Los de las consolas Nintendo vienen como *.nds
Y, según pod3emos leer, los de PSX, en .cue .cbn .img .iso .m3u .mdf .pbp .toc .z .zn

 

Una nota legal

La mayoría de los juegos retro son propiedad de sus respectivas empresas (¡sí, incluso los más antiguos!) y están protegidos por las leyes de derechos de autor. Por lo tanto y desgraciadamente, la descarga de ROMs se considera piratería  a no ser que se desargue un juego que ya dispongamos en el formato original.

Aunque puede encontrar toneladas de ROMs en cualquier sitio de Torrent  tenga en cuenta que no debería descargar ningún título con derechos de autor.

Reproductor de streaming para RPi


Es  sabido   la gran polivalencia de  las Raspberry Pi    para cumplir todo tipo de cometidos  tan variados,llamativos  y diferentes  que  cuesta trabajo enumerarlos (entretenimiento, domotica, automatizacion, educación,control, etc)  . No obstante entre todas hay una utilidad que es incansable   en cuanto a  posibilidades , pues  supone  la auténtica navaja  del ejército suizo de música en streaming  y si es  usando una Raspberry Pi ( por el momento sobre versiones 2 y 4)  .

En efecto con el software  de Pi MusicBox se  puede crear un reproductor de música de streaming independiente barato (similar a Sonos) para Spotify, Google Music, SoundCloud, Webradio, Podcasts y otros servicios de streaming  desde la nube. Obviamente  también  se pueden  reproducir música en formatos standard  su propia colección desde un dispositivo de su red o desde una unidad USB. No agotará la batería del teléfono al jugar. La música no se detendrá si juegas un juego en tu teléfono.
Conecte un Raspberry Pi de 25$ a su sistema de audio (DIY), ¡configure fácilmente MusicBox y  listo! Controla la música desde tu sofá usando un teléfono, tableta, laptop o PC, sin necesidad de retoques. AirPlay y DLNA streaming también incluido!

 

Pi MusicBox  permite escuchar su música a través de su equipo HiFi. Soporta Spotify, Google Music, Soundcloud, YouTube, Podcasts, Apple Airplay, UPnP/DLNA, Internet Radio, y como no, su amplia colección de archivos mp3. Un reproductor de música con el que podrá controlar todo usando una tableta, un smartphone, un ordenador portátil o un pc tipo torre ( siempre que estén conectados a la misma red) desde un navegador Chrome 14+, Safari 6+, Firefox 11+, Internet Explorer 10+ aunque también puede  conectar un teclado o botones para controlarlo localmente si lo desea.

Esta funcionalidad lo logramos gracias a la Raspebrry PI  de modo   que Pi MusicBox es la navaja suiza de la música en streaming para Raspberry Pi. Con Pi MusicBox, podrá crea un económico (como Sonos) reproductor de música en streaming para Spotify y otros servicios de música Online pues  en esencia solo necesitamos conectar su Raspberry Pi a su sistema de altavoces, instalar el software y disfrutar escuchando toda su música

Se  puede conectar   altavoces directamente por la salida de audio de linea, HDMI o a través de una tarjeta de sonido externa USB ( por cierto la opción mas recomendable  dado que  la calidad del sonido de las versiones 1, 2 y 3  no es muy buen  ) .

El sw reproduce música desde tu tarjeta SD , disco  USB , unidad de red y usa WiFi/ethernet para acceder a música en carpetas compartidas en red, internet radio al igual que música desde una colección de servicios de streaming soportados. Ademas  el software detectará todo lo que permite la configuración al iniciar y configurar el sistema para usted  automáticamente.

Sus  requisitos son los siguientes:

  • Raspberry Pi  3 (al cual por cierto ha bajado a su mínimo histórico de 22€)
  • Altavoces, amplificadores o auriculares (analógicos o USB)
  • Tarjeta SD, 1 GB como mínimo, 2 GB+ preferido
  • Ordenador  con un navegador moderno; tableta o teléfono. La interfaz web se prueba con versiones recientes de Firefox, Chrome, Internet Explorer e iOS (iPad/iPhone), versiones modernas de Android (Chrome Mobile, Firefox Mobile). Internet Explorer versión 10 funciona, las versiones anteriores no. También puede utilizar un cliente MPD para conectarse.
  • Un monitor/televisión no es necesario, pero puede ser muy útil si necesitas resolver problemas al iniciar el sistema.
  • Spotify Premium,Google Music (Todo acceso) o una cuenta SoundCloud para streaming.

Las  funciones de este sw , aunque ya se han citado , por resumir estas son algunas de las soportadas:

  • Reproductor de audio  basado en Mopidy (sin necesidad de un monitor),
  • Streaming de música de Spotify, SoundCloud, Google Music, Podcasts (con iTunes, directorios gPodder), archivos de música locales y en red (MP3/OGG/FLAC/AAC), Webradio (con TuneIn, Dirble, AudioAddict, soma directorios FM).
  • Control remoto mediante una buena interfaz web o utilizando un cliente MPD (como MPDroid para Android).
  • También incluye Spotify Connect, AirTunes /AirPlay y DLNA / OpenHome streaming desde su teléfono, tableta (iOS y Android) o PC utilizando software como BubbleUPnP.
  • Soporte de audio USB, para todo tipo de tarjetas de sonido USB, altavoces, auriculares debido  a que la calidad del sonido de la Raspberri Pi en sí no es tan buena…
  • Soporte Wifi (WPA, para adaptadores wifi compatibles con Raspbian)
  • No hay necesidad de retoques, no hay necesidad de utilizar la línea de comandos de Linux
  • Reproducir archivos de música desde la tarjeta SD, USB, red.
  • Last.FM escrobbling.
  • Varias tarjetas de sonido Pi compatibles (HifiBerry, JustBoom, IQ Audio)

 

Instalación

En los dos siguientes enlaces puede encontrar una imagen de tarjeta SD para usar en su Pi. Pesa alrededor de 300MB para descargar y cabe en una tarjeta SD de 1 GB o más(cambios):

La descarga puede tomar un tiempo, así que mientras tanto,sea paciente  y  espere

Una vez descargadas , extraiga el archivo zip.

Coloque la imagen resultante en su tarjeta SD utilizando la maravillosamente simple utilidad de imagen de la tarjeta SD Etcher o siguiendo estas instrucciones.

La imagen cabe en una tarjeta de 1 GB, pero usted debe utilizar una más grande si puede, ya que esto dejará más espacio para sus archivos de música.

Los manuales más recientes se incluyen en la página de lanzamiento.

 

Configuración

  1. Puede editar todos los ajustes en la nueva página de configuración desde el cliente web. Para acceder a ella, necesita una conexión de red.
  2. Para habilitar Wifi, primero puede conectar el Pi usando un cable y utilizar la página de configuración, o rellenar los ajustes wifi en el archivo ini en la tarjeta SD. Para eso coloque la tarjeta SD en su ordenador ,abra el contenido de la carpeta ‘config’ de la tarjeta SD en su explorador de ficheros  y añada su red Wifi y contraseña al archivo (y editar otros ajustes si lo desea) Tiene instrucciones sobre qué poner donde /boot/config/settings.ini
  3. MusicBox detectará automáticamente tarjetas de audio USB / altavoces / cajas y hdmi. Es posible anular esto en la configuración. Por ejemplo, si desea utilizar analógico mientras tiene hdmi conectado.
  4. Las instrucciones detalladas se pueden encontrar en los manuales correspondientes ( están disponibles en ingles, español, frances entre otros idiomas).

Primera puesta  en marcha

  1. Ponga la tarjeta en su Raspberry Pi
  2. Conectar cables (No tiene que conectar un monitor al Pi si no desea)
  3. Para usar Wifi y USB-Audio tienes que pluginar los dispositivos antes de iniciar el Pi. Reinicie si los conecta más tarde.
  4. Encienda su Pi

 

 

Acceso a la música

  1. Apunte su navegador al Pi. Dependiendo de su red y ordenadores, estará disponible en esta dirección: http://musicbox.local
  2. La mayoría de los dispositivos OS X/iOS y Windows probablemente lo encontrarán inmediatamente. Si no funciona, podrías intentar instalar Apple Bonjour/iTunes en Windows para que funcione. Linux también debería funcionar si Avahi o Samba/Winbind está instalado.
  3. Usando Android, usted tiene que apuntar su navegador a la MusicBox utilizando la dirección IP de su Pi, por ejemplo. (¡rellene el suyo propio!). No hay manera de cambiar eso por ahora, a menos que Android lo admita, la dirección IP se imprime en la pantalla cuando se inicia MusicBox. Conecte un monitor/tv para averiguarlo. O utilice una utilidad de escaneo de red/bonjour como Zentri Discovery. http://192.168.1.5/

Seguridad

Este es un sistema no totalmente asegurado. ¡No lo ejecute fuera de un cortafuegos!

  • El servidor de música Mopidy no está completamente protegido
  • Además, las contraseñas de Spotify y wifi se almacenan en texto sin formato en la tarjeta SD.
  • Es fácil iniciar sesión en el servidor con el inicio de sesión raíz y la caja de música de contraseña (el inicio de sesión remoto no está habilitado de forma predeterminada).

 

Por cierto , puede  consultar  sus dudas de uso  o de instalación en su página de github en la parte de  las preguntas frecuentes . Asimismo puede discutir características y problemas en el foro. y  por supuesto  puede  informar de errores sobre MusicBox en el repositorio en Github. También puede probar el canal en Freenode,o los foros de Raspberry Pi para problemas más generales de Pi. #mopidy

 

Pi MusicBox se basa en los siguientes grandes proyectos:

Ademas , por  supuesto ,no olvide la pagina principal del proyecto https://www.pimusicbox.com/

Raspberry Pi 4 ya a la venta en España


Después de  varios meses de espera  en efecto ya esta disponible  en Amazon España la nueva Raspberry Pi 4  a 59,99 €,  siendo compatible con el envío gratuito, si bien  por el momento no hay  disponible   ningún descuento, el precio de la placa es lo suficientemente bajo  (  solo  unos 20€ mas por la version anterior ) como para atreverse con la compra, aunque debería ser consciente de que en principio  tarde en llegar a su hogar (algunos usuarios hablan de  entre  dos a cinco semanas ) ,pero en todo caso, si acaban entrando unidades durante los próximos días, probablemente Amazoon  la podría enviar antes de dicho plazo.

Estas son algunas de las características mas destacables de esta nueva placa:

  • CPU ARM Cortex-A72 de cuatro núcleos y 1,5 GHz de 64 bits (rendimiento ~ 3)  .Recordad  que Raspberry Pi 3, contaba  un procesador bastante inferior del fabricante BroadCom  quad-core de 64 bits con 1,4 GHz
  •  4 GB de SDRAM LPDDR4 frente a 1GB de RAM máxima admitida en la Raspberry pi 3
  • Gigabit Ethernet de rendimiento completo
  • Redes inalámbricas de doble banda 802.11ac. La LAN inalámbrica de doble banda viene con certificación de cumplimiento modular, lo que permite que la placa se diseñe en productos finales con pruebas de cumplimiento de LAN inalámbrica significativamente reducidas, lo que mejora tanto el costo como el tiempo de comercialización.
  • Bluetooth 5.0
  • Dos puertos USB 3.0 y dos puertos USB 2.0
  • Gráficos VideoCore VI, compatibles con OpenGL ES 3.x Decodificación de hardware 4Kp60 de video HEVC
  • Compatibilidad completa con productos Raspberry Pi anteriores
  • La Raspberry Pi 4 NO   mantiene la misma huella mecánica que la Raspberry Pi 2 Model B y la Raspberry Pi 3 Model B. Además de ser más potente, es algo más grande ,lo que queda patente  en las cajas  que no servirán de los modelos  Pi 3 Model B+o anteriores,
  • Se mantiene  el conector ethernet  y los 4 conectores USB ( dos de tipo 3.3) ,cabecera GPIO estándar de 40 pines de Raspberry Pi, el Puerto de pantalla MIPI DSI de 2 carriles, el puerto de cámara MIPI CSI de 2 carriles, el puerto de audio compuesto y vídeo compuesto de 4 hilos de 3 1/2″
  • Soporte de monitor dual, a resoluciones de hasta 4K   motivo por el que se ha sustituido la salida de vídeo por dos  conectores  puertos micro-HDMI (hasta 4kp60 compatibles ) para conectar hasta dos monitores   , 
  • Ranura para tarjeta micro SD para cargar el sistema operativo y el almacenamiento de datos
  • Alimentación  via 5 V CC a través del conector USB-C (mínimo 3 A *) , 5V DC a través del encabezado GPIO (mínimo 3A *)o  alimentación a través de Ethernet (PoE) 

 

Esta placa no solo tiene un procesador mas potente( hasta tres veces más potencia de procesamiento que su antecesor)  y mas RAM, tambien  es más rápida tanto por Ethernet ( que por cierto no seta limitado, como la version anterior, por lo que tenemos una conexión Gigabit en la que no entra en juego el cuello de botella del procesador y del propio  RJ45), como por Wi-Fi+  y en los puertos USB. Por  ejemplo, gracias a los USB 3.0 , podemos conectar un SSD externo y aprovechar el ancho de banda perfectamente para transferir datos.

Igualmente el puerto para la tarjeta microSD también es más rápido que en anteriores versiones.

Lo mas destacable es  su rendimiento , pues su análisis, según Halfacree   la capacidad de cálculo de la placa, así como el ancho de banda de la memoria LPDDR4   es muy superior  frente a la LPDDC2 de la Raspberry Pi 3 Model B+

 

Utilidades

Lo de hackear la NASA con una Raspberry Pi es totalmente cierto, algo que se ha descubierto hace poco, pero además de para eso, sirve para mucho más. Es una excelente herramienta en entornos educativos, un »juguete» para enseñar a programar, se puede usar para desarrollar proyectos de IA y robótica, para crear tablets y portátiles y hasta como consola, además de como ordenador de sobremesa, claro

Aquí  algunas  ideas  para sacarle el máximo partido:

  • Aplicaciones  a la enseñanza y a la educación: Programación de software, robótica, arte inteligente, diseño de electrónica, juegos – desarrollo de aplicaciones, computación en la nube, redes neuronales – AI.
  • Aplicaciones  relacionadas con la domotica (a casa inteligente):Control de calefacción – iluminación, detección ambiental, cámara IP – CCTV, transmisión de audio – video, asistente digital -Alexa, Google, puntos de acceso inalámbrico, radio definida por software, conectividad en la nube, juguetes – robots interactivos.
  • Aplicaciones en vehículos conectados: entretenmiento en el automóvil, drones autónomos, seguimiento – navegación GPS, detección ambiental, cámara IP, asistente digital – Alexa, Google, puntos de acceso inalámbrico, radio definida por software, conectividad en la nube, redes neuronales / AI
  • Aplicación en edificios y a la industria 4.0: Control de calefacción – iluminación, detección ambiental, cámara IP – CCTV, señalización – publicidad digital, puntos de acceso inalámbrico, transmisión de audio – video, punto de venta electrónico, conectividad en la nube, LoRaWan y SigFox, redes neuronales – AI, máquinas conectadas, radio definida por software, prueba automatizada, control del motor, montaje robótico.
  • Cluster de procesadores: hay personas que estan lanzando a construir un Cluster dado que la versión más nueva es más rápida , mayor cantidad de RAM y ademas pensando en la capacidad de computo  resultante  es mas asequible que cualquier otra solución 

 

 

 

Como vemos  , a pesar del ruido generado especialmente por su mayor calentamiento  frente a las versiones anteriores ( en parte debido a  su cpu que proporciona  hasta tres veces más potencia de procesamiento que su antecesor ) ,se trata de la Raspberry Pi más potente lanzada hasta la fecha,  que no solo  se queda ahí pues incluso es capaz de soportar dos monitores  4K independientes de manera simultánea y  mejores comunicaciones  a todos los niveles  . .. 

 

Controlando placas de IoT desde javascript


Node.js framework  fue  creado por Bocoup para controlar placas de desarrollo en una configuración de host-cliente   aunque   realmente su uso mayoritario sea como plataforma web   siendo    Johnny-Five la plataforma open  source de Robótica e IoT de JavaScript 

En realidad existen diferentes  plataformas donde se puede ejecutar el programa Johnny-Five :

  • En un entorno Linux a bordo: beagleBone Black,Chip,Intel Galileo gen 1,Intel Galileo Gen 2,Intel Edison Arduino,Intel Edison Mini, SparkFun Edison GPIO Block,SparkFun Arduino Block, Intel Joule 570x (Carrier Board),Linino One,pcDuino3 Dev Board,Raspberry Pi 3 Model B, Raspberry Pi 2 Model B. Raspberry Pi Zero,Raspberry Pi Model A Plus,Raspberry Pi Model B Plus, Raspberry Pi Model B Rev 1, Raspberry Pi Model B Rev 2, Tessel 2
  • En una máquina host conectada (a través de Serial USB o Ethernet) a un cliente.: Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,
  • En una máquina host que se comunica por wifi al cliente: Electric Imp April, pinoccio Scout, Particle Core ( Spark Core) ,Particle Photon, Sparkfun Photon RedBoard
  • En una máquina host que se comunica a través de Bluetooth al cliente :Blend Micro v1.0,LightBlue bean,

Johnny-Five como vemos hacer un énfasis especial en la robótica, pero tambien puede hacer muchas cosas diferentes con el software.De hecho ha existido durante hacer  más tiempo que la mayoría de los marcos de JavaScript para hardware . Ademas iene una API clara  y «fresca» ,ambas cosas ideales para los principiantes de hardware.

Lanzado porBocoup en 2012, Johnny-Five esta mantenido por una comunidad de desarrolladores de software apasionados e ingenieros de hardware. De hecho más de 75 desarrolladores han hecho contribuciones para construir un ecosistema robusto, extensible y muy versatil.

 

Hola Mundo! 

A los microcontroladores y las plataformas SoC nos gusta decir «Hola mundo» con un simple LED parpadeante, así  que veamos en primer lugar un ejemplo como lo hariamos  usando el Ide clásico  de Arduino

Como vemos en la imagen ,conectaremos un led entre el pin 13  y masa , respetando la polaridad (el ánodo al pin13 y el cátodo o pin corto a masa )

Para  hacer destellear el citado led,  estos son los pasos básicos  que tenemos que seguir en nuestro sketch  programandolo desde el IDE de Arduino:

  1. Configurar el pin 13 (con LED incorporado) como una SALIDA
  2. Establecer el pin 13 ALTO para encender el LED
  3. Esperamos 500 ms (medio segundo)
  4. Establecer el pin 13 BAJO para apagar el LED

Y este es el código completo para ejecutar desde el Ide de Arduino:

void setup() {
pinMode(13, OUTPUT);    
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);  
delay(500);
}

Y ahora vamos a ver el mismo ejemplo , pero ejecutandolo en Javascript por medio de node-js,

Desgraciadamente  si usamos un Arduino o alguno de sus variantes (Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,)   necesitaremos que el programa JavaScript se ejecute en una máquina host que ejecute Node.js. de modo que el programa transmitirá instrucciones básicas de E / S a la placa a través de una interfaz  serie USB , que actuara como un cliente ligero .

El método host-cliente implica la comunicación a través de una API común entre el host y el cliente. El marco Node.js usado con Arduino y placas similares , Johnny-Five, se comunica (de forma predeterminada) con las placas  utilizando un protocolo llamado Firmata, protocolo que permite que los hosts (computadoras) y los clientes (microcontroladores) intercambien mensajes de ida y vuelta en un formato basado en mensajes MIDI. El protocolo Firmata especifica cómo deben ser esos mensajes de comando y datos. La implementación de Firmata de Arduino proporciona el firmware real que puede poner en su tablero para hacer que «hable» Firmata. Toma la forma de un boceto de Arduino que sube al tablero.

Firmata es lo suficientemente popular como para que los bocetos de Firmata que necesita vengan empaquetados con el IDE de Arduino asi que bastara con subir este a Arduino una única vez  ya que  el código javascript  correra en el host usando node.js.

Puede seguir estos pasos para cargar el interfaz correcto de Firmata en su Arduino  para que se pueda utilizar como cliente en una configuración de host-cliente:

Resumidamente estos son los pasos previos para ejecutar el   mismo  ejemplo del led parpadeante  que hemos visto pero   en  javascript en una placa Arduino;

  • En primer lugar  conectar  su Arduino  mediante USB a  su ordenador
  • Lanzar el IDE de Arduino.
  • Asegurarse que esta configurada la version de su placa,  así como el puerto COM  virtual al que esta conectado
  • Acceda al menú Archivo> Ejemplos> Firmata
  • Seleccione StandardFirmataPlus de la lista y despliegue este sw sobre su Arduino

  • Ahora Instale Node.js   en su pc . Funciona  con ultima version 11.3.0  de  64 bit que incluye  npm 6.4 (no olvidar de chequear que se instalen  otros componentes )Este es el link de descarga https://nodejs.org/en/download/ 
  • En la instalación de Node.js, repetimo  no debemos olvidar de chequear que se instalen  otros componentes  pues  con ellos se   instalara automáticamente
    • Python 2.7.3 (http://www.python.org/getit/releases/2.7.3/)
    • Visual Studio Express 2010 de 32 bits (con  las dependencias de C ++)
    • El comando npm
    • Alternativamente si dispusiésemos de npm podríamos instalar ambos entornos  con  npm --add-python-to-path install --global --production windows-build-tools
  • Este pasos anterior ( instalacion de componentes ) es  innecesario  si chequeamos en la instalación  de node.js  pues se instalaran  esos componentes  automáticamente
  • Ahora instalar node-gyp  medianete  el comando  npm install -g node-gyp (esto instalará node-gyp globalmente)                          
  • Ya puede  crear su primer proyecto Johnny-Five, por lo que en primer lugar cree un directorio para él e instale el paquete framework npm, como se muestra en la siguiente lista:
    • < mkdir hello-world
    • < cd hello-world
    • < npm install johnny-five
  • Ejecute  el comando «npm install johnny-five» desde la carpeta del proyecto
  • Ya por fin podemos crear el fichero javascript  con su editor de texto  que contendrá el código en javascript  . 

Realmente estos son los pasos  que tenemos que seguir:

  1. Requerir el paquete johnny-five
  2. Inicializar un nuevo objeto Board que represente a su placa .
  3. Esperar a que el tablero dispare el evento listo
  4. Crear una instancia de un objeto LED en el pin 13 (el pin LED incorporado de Uno)
  5.  Hacer que el LED parpadee cada 500 ms

Este es el código en js :


const five = require(‘johnny-five’);
const board = new five.Board();
board.on(‘ready’, () => {
 const led = new five.Led(13);
   led.blink(500);
});


Guarde el archivo como hello-world.js  y  conecte su Arduino  a un puerto USB en su ordenador  si aún no está conectado.

En una terminal  de windows  vaya al directorio del proyecto y ejecute este comando:

<node hello-world.js


Verá una salida como la siguiente en su terminal ejecutando hello-world.js en una terminal

 

 

Si el LED incorporado parpadea ,!enhorabuena !  !acaba de controlar una placa Arduino con JavaScript!  ¿a que es realmente sencillo?.

Aunque en el caso de la familia Arduino tiene la innegable penalización de necesitar un host para operar , la ventajas de este  modelo son evidentes pues no tenemos que estar constantemente compilando  y  subiendo el sketch con el ide de Arduino ya que el programa corre en host . Ademas  podemos usar un simple editor de texto para cambiar el código en javascript fácilmente

Asimismo el lenguaje javascript ha ido evolucionando hasta un ritmo que no podemos imaginar   incluyendo muchas características que no son soportadas de forma directa desde Arduino

Por ultimo mencionar la autentica potabilidad del código , pues el código que hemos visto en el ejemplo podremos usarlos  en múltiples plataformas  tan diferentes como Raspberry pi, Intel Edison , etc usando siempre el mismo código fuente aun siendo soportado por placas muy diferentes ¿ a que es interesante?

 

 

Placas soportadas

Johnny-Five ha sido probado con una variedad de tableros compatibles con Arduino . 

Para los proyectos que no están basados ​​en Arduino, los complementos de IO específicos de la plataforma están disponibles. Los complementos IO permiten que el código Johnny-Five se comunique con cualquier hardware en cualquier idioma que la plataforma hable.

Como comentábamos   existen diferentes  formas de   ejecutar  el programa Johnny-Five  segun la placa:

  • En un entorno Linux a bordo: beagleBone Black,Chip,Intel Galileo gen 1,Intel Galileo Gen 2,Intel Edison Arduino,Intel Edison Mini, SparkFun Edison GPIO Block,SparkFun Arduino Block, Intel Joule 570x (Carrier Board),Linino One,pcDuino3 Dev Board,Raspberry Pi 3 Model B, Raspberry Pi 2 Model B. Raspberry Pi Zero,Raspberry Pi Model A Plus,Raspberry Pi Model B Plus, Raspberry Pi Model B Rev 1, Raspberry Pi Model B Rev 2, Tessel 2) ,   Es  facil adivinar qeu este es el mabiente ideal   pues dentro de la placa se oprtan tanto el host como el cliente  por lo qeu no ncesitamos conectarnos con otro dispositivo
  • En una máquina host conectada (a través de Serial USB o Ethernet) a un cliente.: Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,
  • En una máquina host que se comunica por wifi al cliente.: Electric Imp April, pinoccio Scout, Particle Core ( Spark Core) ,Particle Photon, Sparkfun Photon RedBoard
  • En una máquina host que se comunica a través de Bluetooth al cliente :Blend Micro v1.0,LightBlue bean,

Veamos  ahora cada  caso en concreto;

Arduino Uno 

Ambiente 

  • Firmware / Runtime: : StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

SparkFun RedBoard 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

ping

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

 

Arduino leonardo 

Ambiente 

  • Firmware / Runtime:  StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Arduino Mega 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

Arduino Fio 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Arduino Micro 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Mini 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Nano 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Pro Mini 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
ping

BotBoarduino 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

chipkit uno32 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire
Paso a paso
Serial / UART
Dac no
ping

Spider Robot Controller 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere  tetehering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

DFRobot Romeo 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Teensy 3 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART no
Dac no
ping

BeagleBone Black 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

CHIP 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo no
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Ping no

Blend Micro v1.0 

Ambiente 

  • Complemento IO: BlendMicro-IO ( instrucciones adicionales )
  • Firmware / Runtime: BLEFirmata
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a través de Bluetooth a la placa, que actúa como un cliente ligero .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Ping no

 Electric Imp  April 

Ambiente 

Plataforma específica 

  • Requiere una conexión WiFi conectada a Internet y está sujeto a la limitación de la tasa de solicitud por parte del servidor de Electric Imp API.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C no
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Intel Galileo Gen 1 

Ambiente 

Plataforma específica 

  • Las compilaciones que no son IoTKit ya no son compatibles.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Intel Galileo Gen 2 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

Intel Edison Arduino 

Ambiente 

Plataforma específica 

  • El hardware es capaz de soportar solo 4 salidas PWM. Como resultado, los enlaces nativos no admiten PWM en los pines 10 y 11.
  • Aunque Galileo-io / Edison-io / Joule-io todavía no admite comunicaciones en serie, puede enlazar a / dev / ttyFMD1 en la placa Edison Arduino usando el módulo serialport .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

Intel Edison Mini 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

SparkFun Edison GPIO Block 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

SparkFun Arduino Block

Ambiente 

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART no
Dac no
ping no

Intel Joule 570x (Carrier Board) 

Ambiente 

Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

LightBlue Bean

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Linino uno 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

pcDuino3 Dev Board 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo no
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Pinoccio Scout 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C no
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Raspberry Pi 3 Modelo B 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Raspberry Pi 2 Modelo B 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Silbido no

Raspberry Pi Zero 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Raspberry Pi Model A Plus 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Frambuesa Pi Modelo B Plus 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Silbido no

Raspberry Pi Modelo B Rev 1 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Ping no

Raspberry Pi Modelo B Rev 2 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no


Particle Core (Spark Core)

Ambiente 

Plataforma específica 

  • Los temporizadores se comparten en grupos: Temporizador 2: A0 , A1 , Temporizador 3: A4 , A5 , A6 , A7 , Temporizador 4: D0 , D1
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping


Particle Photon

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
ping no
Silbido

Sparkfun Photon RedBoard 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping

Tessel 2 

Ambiente 

Plataforma específica 

  • El soporte de servo se proporciona a través de componentes I2C (por ejemplo, PCA9685 )
  • DAC está limitado a Puerto B, Pin 7
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac
ping no

Mas información en  http://johnny-five.io/platform-support/

Envio de correos desde Raspberry


En realidad es bastante sencillo poder enviar correos electrónicos  gracias a Mutt , un cliente de correo electrónico libre basado en texto, para sistemas similares a Unix que fue escrito originalmente por Michael Elkins en 1995 y publicado bajo la Licencia Pública General de GNU. Inicialmente se asemejaba a elm, ahora el programa es muy similar al lector de noticias slrn.

Mutt soporta la mayoría de los formatos de correo electrónico (en particular, tanto mbox y Maildir) y protocolos (POP3, IMAP, etc.)  También incluye soporte MIME, en particular PGP/GPG y S/MIME.

Este programa es  bastante configurable pues: tiene cientos de directivas de configuración y personalización de los comandos. Ademas permite cambiar todas las teclas y hacer macros de teclado para acciones complejas, así como los colores y el diseño de la mayoría de la interfaz. A través de las variantes de un concepto conocido como «ganchos», muchos de sus ajustes se pueden cambiar sobre la base de criterios tales como el actual o buzón de correo saliente los destinatarios del mensaje. Hay muchos parches disponibles y extensiones que añaden funcionalidad, como soporte NNTP o una barra lateral similar a los que a menudo se encuentran en clientes de correo gráfico.

Mutt es totalmente controlado con el teclado, y tiene soporte para hilos de correo, es decir, uno puede fácilmente desplazarse largas discusiones, como en listas de correo. Los mensajes nuevos se componen con un editor de texto externo por defecto, a diferencia de pine que incorpora su propio editor conocido como pico (aunque se puede configurar para depósito de pino a un editor externo).

Mutt. the e-mail client.png

Para  instalar  el cliente de correo mutt  en nuestra Raspberry Pi , la cual por ejemplo nos va  permite enviar correos desde una cuenta de gmail  tenemos que seguir unos sencillos pasos.

En primer lugar debe actualizar el sistema  e instalar la utilidad mutt; 

sudo apt-get update
sudo apt-get install mutt

Ahora con el paquete instalado,  lo vamos a configurar para enviar desde el directorio  root.de nuestra Raspberry Pi ,`para ello ,creamos el  fichero .muttrc   y rellenamos con nuestra  información sobre nuestra cuenta de correo.

Para ello ejecute el siguiente comando:

 sudo nano /root/.muttrc

Ahora en dicho  fichero deberá escribir el siguiente contenido:

set from = «[email protected]»
set realname = «usuario gmail»
set imap_user = «[email protected]»
set imap_pass = «password»
set folder = «imaps://imap.gmail.com:993»
set spoolfile = «+INBOX»
set postponed =»+[Gmail]/Drafts»
set header_cache =~/.mutt/cache/headers
set message_cachedir =~/.mutt/cache/bodies
set certificate_file =~/.mutt/certificates
set smtp_url = «smtp://[email protected]:587/»
set smtp_pass = «password»

 

Donde pone  [email protected] , lógicamente tendrá que escribir su  usuario de gmail y donde pone password la clave que usemos para acceder a este.  En smtp-url  tampoco olvide que  xxxx representa el usuario de gmail

Lógicamente salvaremos el fichero con nuestra información de nuestra cuenta de gmail  y abandonaremos el editor nano.

Ahora crearemos la siguiente carpeta ( cache) para lo cual ejectaremos, 

sudo mkdir -p /root/.mutt/cache


Ya estamos listos para enviar un correo para lo cual  recuerde que  hemos configurado el correo para enviar desde la carpeta root (si lo queréis desde el usuario pi donde pone root lo puede cambiar por pi).


Vamos a enviar nuestro primer correo para ello hacemos sudo su. Y tecleamos el siguiente código:


echo «Contenido» | mutt -s «Prueba» [email protected]

 

Donde pone  [email protected] , lógicamente es el destinatario  de gmail, y  «Contenido » es el contenido del mensaje y en Prueba ira el asunto del mensaje. 

Ahora ya  podemos ir  nuestra bandeja de entrada   y si la Raspberry Pi  contaba con conectividad  a Internet   via wifi ( si es una Raspberry pi 3)  o por ethernet ,  allí tendremos el correo.

Asimismo también  podemos enviar un archivo adjunto,  para lo cual  crearemos un archivo con nano adjunto.c y lo relleneraremos con texto.


Para adjuntar este fichero al correo se hace de la siguiente forma:

echo «Este correo incluye un adjunto» |  mutt -s «Archivo Adjunto» [email protected] -a /root/adjunto.c

donde /root/adjunto.c es la ruta del archivo del fichero a enviar  e [email protected] , lógicamente es el destinatario  de gmail, .

 

 

Puede  parecer una vanalidad  pero la  potencia de enviar correos desde la Raspberry Pi , es una idea muy interesante para automatizar  procesos  asociados a dispositivos conectados a  los GPIO  por ejemplo relacionados con el cambio de estado de un pin asociado a un pulsador o   cuando varíe un valor asociado a un determinado sensor

 

 

Conversión de Raspberry Pi en Google Home


Gracias a que se  liberó el SDK del Google Assistant , ya se  puede usar Google Home en  Español entre otros nuevos idiomas  con cualquier hw que los permita ! Así que ahora es posible montar nuestro propio Google Assistant en una Raspberry Pi, en pocos minutos, con un micrófono y un altavoz, tendrá a una Raspberry Pi lista para atender sus peticiones!

Ideal para ponerla en el salón o cualquier sitio escondida, con un buen micrófono omnidireccional, podremos hacerle consultas en nuestro propio idioma y medianamente nos las esquivará correctamente , Por cierto a parte del Español, también soporta Inglés, Alemán, Francés, Italiano y Japonés. 

El proyecto se llama AIY que resulta de la mezcla de AI (inteligencia artificial en sus siglas en inglés, Artificial Intelligence) y DIY (hazlo tú mismo, en sus siglas en inglés, Do it Yourself).

Echemos un vistazo a lo que necesitamos .

  • Raspberry Pi 3  con fuente de alimentación y tarjeta MicroSD
  • Micrófono USB. Se puede  utilizar el micrófono incluido en algunas cámaras web para las pruebas. La gran ventaja del mini micrófono es la potabilidad del prototipo pero cualquier producto similar hará el trabajo de forma satisfactoria.
  • Altavoces con entrada de audio de 3,5 mm  Aunque inclusive unos auriculares de cable son más que suficiente para realizar las pruebas, idealmente podremos contar con algún tipo de altavoz equipado con conector de 3.5mm para obtener una mejor experiencia de usuario
  • Ratón y teclado USB

 

Instalando el SO

Para instalar el software necesitamos nueva imagen descargada a partir del sitio  oficial Raspbian ,y flashearla en la microSD con un ordenador:

 

raspbian

 

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

  • Inserte la tarjeta SD en el lector de tarjetas SD  de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, tal como G :, mirando en la columna izquierda del Explorador de Windows.
  • Puede utilizar la ranura para tarjetas SD, si usted tiene uno, o un adaptador SD barato en un puerto USB.
  • Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip; puede ejecutar esto desde una unidad USB.
  • Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager; puede que tenga que ejecutar esto como administrador. Haga clic derecho en el archivo y seleccione Ejecutar como administrador.
  • Seleccione el archivo de imagen que ha extraído anteriormente de 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.
  • Ya puede insertar la SD en su Raspberry Pi en el adaptador de micro-sd , conectar un monitor por el hdmi , conectar un teclado y ratón en los  conectores USB, conectar la  con un cable ethernet  al router  conectividad a Internet y finalmente conectar la alimentación  para comprobar que la Raspeberry arranca con la nueva imagen

 

Cuando acabamos de flashear la tarjeta la colocamos en la Raspi y ya podemos empezar. Para arrancar la Raspberry Pi 3 con el Voice Kit vamos a necesitar un monitor con cable HDMI y un teclado con ratón. Conectamos todo y le damos energía a la Raspi.

El primer inicio del sistema puede tardar varios minutos. El sistema que corre en la Raspberry Pi es una versión de Debian modificada especialmente para este dispositivo y que se llama Raspbian. Debian es una de las distribuciones más extendidas de GNU/Linux y en la que se basan distribuciones tan famosas como Ubuntu.

Una vez tengamos el escritorio activo, arriba a la derecha vamos a poder conectarnos a nuestra red Wi-Fi entre los símbolos del Bluetooth y del volumen. 

Respecto al micrófono usb

Dado el precio y el tamaño, se necesita  un micrófono funcional que sea capaz de captar voces cercanas o grandes sonidos pero   sin gastarse una fortuna  requiriéndose  un micrófono  usb  que sea  reconocido y funcione con Raspbian en una Raspberry Pi3( por  ejemplo el modelo  RRunzfon de kinobo)

Este tipo de micrófonos no son de alta fidelidad de modo que cuando escuche las reproducciones está claro que hay mucha estática a menos que esté hablando directamente con el micrófono, pero para este proyecto  lo importante es que sea  capaz de funcionar para el reconocimiento de voz utilizando la compilación Alexa Raspberry Pi.

Es interesante instalar la activación “siempre encendida” para no tener que presionar un botón para activarla, y pero dadas  las características de este modesto micrófono  solo  funcionara   si está cerca de este

Dado el tamaño y el precio, esta es una de las maneras más fáciles de agregar un micrófono por menos de $ 10, pero si está esperando un audio de alta calidad, es mejor que busque otras opcion. Para aquellos que buscan un micrófono decente para uso diario, existen mejores opciones en cuanto a calidad de sonido. (lo que hace que este micrófono sea genial es lo pequeño y económico que es)

Para las personas que buscan probar Google Assistant  con  Raspberry Pi, este micrófonono funciona con RPI v1, pero sí funciona con RPI v3 de fábrica. Cuando lo conecta al puerto USB, se detecta automáticamente y puede verlo en la salida “arecord -l“.

Bajo el sistema operativo Linux, parece que el sonido grabado es un poco bajo. Es posible que necesite normalizar (aumentar la ganancia) en el sonido usando un programa como mp3gain, ffmpeg, sox, etc. o mejor aún aumentar la ganancia en el receptor usando pulseaudio. Si eleva el volumen a un nivel alto, obtendrá una gran cantidad de estática, que es de esperar.

 

 

 

 

Prueba de sonido

Usaremos una Raspberry Pi 3 con Raspbian instalado y actualizado, lo primero será verificar que el audio nos funciona bien, tanto el del micrófono como los altavoces por donde queremos sacar el sonido ,para ello editamos nuestro fichero de configuración de audio ‘~/.asound’ y especificamos el micrófono que estamos usando, en este caso un USB específico, pero también podríamos usar el micro de una webcam, así como el audio que me lo saque por la predeterminada

Antes de continuar pues  debemos configurar el sistema de audio en la Raspberry Pi.

  1. Encontrar los dispositivos de grabación y reproducción.

    1. Coloque el micrófono USB en la lista de dispositivos de hardware de captura. Anote el número de tarjeta y el número de dispositivo.

      arecord -l
    2. Coloque el altavoz en la lista de dispositivos de hardware de reproducción. Anote el número de tarjeta y el número de dispositivo. Tenga en cuenta que el conector de 3,5 mm se etiqueta típicamente o (no). Analogbcm2835 ALSAbcm2835 IEC958/HDMI

      aplay -l
  2. Crear un nuevo archivo llamado .asoundrec  en el directorio home(/home/pi). Asegúrese de que tiene las definiciones de derecho esclavo para micrófono y altavoz; Utilice la configuración  a continuación pero cambie <card number><device number>  con el número que anotó en el paso anterior. Hacer esto para ambos y..asoundrc/home/pi<card number><device number>pcm.micpcm.speaker

    pcm.!default {
      type asym
      capture
    .pcm "mic"
      playback
    .pcm "speaker"
    }
    pcm
    .mic {
      type plug
      slave
    {
        pcm
    "hw:<card number>,<device number>"
     
    }
    }
    pcm
    .speaker {
      type plug
      slave
    {
        pcm
    "hw:<card number>,<device number>"
     
    }
    }
  3. Verificar esa grabación y la reproducción del ejemplo:

    1. Ajustar el volumen de reproducción.

      alsamixer

      Pulse la tecla de flecha hacia arriba para ajustar el volumen de reproducción nivel a alrededor de 70.

    2. Reproducir un sonido de prueba (se trata de una persona que habla). Presione Ctrl + C al hecho. Si no se oye nada cuando se ejecuta esto, Compruebe la conexión del altavoz.

      speaker-test -t wav
    3. Grabar un clip audio corto.

      arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw
    4. Compruebe la grabación por reproducirlo. Si no se oye nada, puede que necesite registrar el volumen de grabación. alsamixer

      aplay --format=S16_LE --rate=16000 out.raw

    Si están trabajando la grabación y reproducción, ya se ha configurado el  audio. Si no es así, verifique que el micrófono y el altavoz están correctamente conectados. Si no es el problema, intente un diferentes micrófono o altavoz.

    Tenga en cuenta que si tiene un monitor HDMI y un altavoz de jack de 3,5 mm conectado, usted puede reproducir audio por  cualquiera de los dos. Ejecute el siguiente comando:

    sudo raspi-config

    Ir a Opciones avanzadas > Audio y seleccione el dispositivo de salida deseada.

 

Activación servicio

Para activar el servicio nos iremos  a la consola de las Acciones de Google, nos validaremos con una cuenta de Google válida y crearemos un nuevo proyecto de Google Cloud Platform,.Con la API de Google Assistant instalada en nuestra Raspberry accederemos para realizar consultas y el proyecto nos mostrará los datos sobre los consumos.

En primer lugar nos iremos  a la consola de las Acciones de Google, en https://console.actions.google.com, deberemos validarnos con una cuenta de Google válida y crear un nuevo proyecto de Google Cloud Platform, para ello pulsamos en “Add/Import project»

Si no tiene ningún proyecto creado, nos aparece una ventana para  aceptar las condiciones de servicio. Es importante en este punto no olvidar  si queremos cambiar el idioma a español   para las Acciones  así como  seleccionar nuestro País, 

 

Tenemos que tener en cuenta  que el máximo de proyectos gratuitos es 3 ,por lo que  no podremos añadir nuevos, así que una opción es eliminar proyectos antiguos o incluso seleccionar alguno de estos proyectos antiguos de Google App Engine  como origen  de automatización ( ese es el caso de nuestro ejemplo «soloelectronicossalva»)

En caso de no tener ningún proyecto en la nube de Google ,deberemos  indicar el nombre del Proyecto (recordar que  aparecerá un combo si tiene ya varios proyectos creados)

Ahora tenemos que habilitar la API de Google Assistant API para nuestro proyecto , por lo que nos iremso a  https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview y daremos al boton de Habilitar . Si no estamos situados en nuestro proyecto  seleccionamos del combo nuestro proyecto y pulsamos en “Habilitar”,(API > Enable API > Google Assistant > Enable)

 

Y al pulsar el botón  quedara habilitado el API  de Google Assistant para nuestro proyecto

 

 

Observe que no es completamente gratuito, estando limitado a 500 peticiones al día  con un máximo de 60 peticiones/minuto , aspectos que podemos estudiar en el menú  de Cuotas

Ahora ya podríamos ir a registrar nuestro dispositivo! Vamos de nuevo a la Consola, en https://console.actions.google.com/
Ir a “Device registration” > “Register Model” y lo crearíamos

 

En caso de haber importado un proyecto que ya teníamos, el proceso es diferente, pues repetiremos las dos opciones primeras de Add/Import  , pero esta vez en el menú que nos aparece seleccionaremos  Device registration” > “Register Model” y lo creariamos (la url seria del tipo https://console.actions.google.com/u/0/project/proyecto_importado/deviceregistration/)

 

 

En ambos casos, llegado a este punto, pulsaremos al botón   «Device registration«

 

 

 

Tendremos que ponerle un nombre o ‘Product Name’ (que anotaremos), un nombre del fabricante o ‘Manufacter Name’  y seleccionamos si queremos algún tipo de dispositivo, que en nuestro caso al ser una raspberry Pi 3 lo dejaremos en ‘Auto’, pulsamos en “Register Model”,

 

 

 

 

Nos toca ahora descargar el fichero con los credenciales de acceso al servicio de Google Assistant, pulsamos en “Download OAuth 2.0 credentials” y los guardamos en una ruta de nuestro ordenador que nos sea fácil de recordar

Ahora   copiaremos   dichos archivo  a la Raspberry Pi  en la ruta  /home/pi,

 

 

En este ultimo paso , es interesante las opciones que nos ofrece:

  • Brillo: Este rasgo cubre cómo controlar el brillo de un dispositivo. La configuración de brillo absoluto se encuentra en un rango normalizado de 0 a 100 (las luces individuales pueden no ser compatibles con todos los puntos del rango según su configuración de LED). 
  • ColorSpectrum Este rasgo pertenece a cualquier dispositivo que pueda establecer un espectro de color. Esto se aplica a las bombillas de color «completas» que toman rangos de color RGB. Las luces pueden tener cualquier combinación de ColorSpectrum y ColorTemperature, las luces de acento y las tiras de LED solo pueden tener Spectrum, mientras que algunas bombillas de lectura solo tienen Temperatura. Las bombillas básicas, o luces tontas en enchufes inteligentes, no tienen ninguno.
  • Temperatura del color: Este rasgo pertenece a cualquier dispositivo que pueda ajustar la temperatura del color. Esto se aplica a las bombillas de «calor» que tienen un punto de color en Kelvin. Esta es generalmente una modalidad separada de ColorSpectrum, y es posible que haya puntos blancos disponibles a través de la temperatura que Spectrum no pueda alcanzar. Según los rasgos disponibles, Google puede elegir el modo apropiado para usar según la solicitud y el tipo de luz (por ejemplo, si las luces de la sala de estar están en blanco podrían enviar comandos de temperatura a algunas bombillas y comandos de espectro a tiras de LED).
  • Muelle: Este rasgo está diseñado para dispositivos auto-móviles que pueden ser ordenados a regresar para la carga. En general, estas son aspiradoras robóticas actualmente, pero esto también se aplicaría a algunos drones, robots de entrega y otros dispositivos futuros. 
  • Encendido apagado :La funcionalidad básica de encendido y apagado para cualquier dispositivo que tenga activado y desactivado el binario, incluidos enchufes e interruptores, así como muchos dispositivos futuros. Tenga en cuenta que los termostatos tienen una configuración de ‘modo’ expandida, que es un interruptor de múltiples vías que incluye encendido y apagado, pero los termostatos generalmente no tienen esta característica. 
  • StartStop :Este rasgo cubre iniciar y detener el dispositivo. Iniciar y detener un dispositivo cumple una función similar para encenderlo y apagarlo. Los dispositivos que heredan este rasgo funcionan de manera diferente cuando se encienden y cuando se inician. Algunas lavadoras, por ejemplo, pueden encenderse y modificar sus configuraciones antes de comenzar a operar.
  • Ajuste de temperatura : Este rasgo cubre el manejo tanto del punto de temperatura como de los modos. 

Para  nuestro ejemplo no seleccionaremos ninguna de esta opciones por el momento y pulsaremos  «SaveTraits«

 

Nos debe aparece ahora  al entrada    con la configuración definida:

 

 

Si pinchamos en la entrada  podemos cambiar algunos de los parámetros ya definidos ( no olvidar darle al botón de «save«) 

 

 

 

 

Grabamos el dispositivo que acabamos de registrar, pulsando en “SAVE”,

 

 

Configruacion de la Raspberry Pi

 

Bien, ahora en la Raspberry Pi configuraremos el entorno virtual de Python para aislar el SDK y sus dependencias de los paquetes Python del sistema, nos escogemos la opción de Python 3:

sudo apt-get install python-dev python-virtualenv

virtualenv env –no-site-packages

env/bin/python -m pip install –upgrade pip setuptools wheel

source env/bin/activate

Instalamos las dependencias necesarias además de  Google Assistant SDK que nos permitirá tener Google Assistant corriendo en la Raspberry Pi:

sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev


Mediante pip instalamos la última versión de Python en el entorno virtual:

python -m pip install --upgrade google-assistant-sdk[samples]

Instalamos o actualizamos la herramienta de autorización:

python -m pip install --upgrade google-auth-oauthlib[tool]

 

Ahora generamos los credenciales para ejecutar los ejemplos, usaremos el fichero JSON que nos hemos descargado previamente:

google-oauthlib-tool –scope 

https://www.googleapis.com/auth/assistant-sdk-prototype –scope

 https://www.googleapis.com/auth/gcm –save –headless –client-

secrets /home/pi/client_secret_xxxx.apps.googleusercontent.com.json

 

 

Si todo es correcto, nos pondrá algo como:

Please visit this URL to authorize this application: ....
 

Copiamos la URL y vamos a ella con un navegador que esté validado con nuestra cuenta de Google. Tras permitir el acceso o nos dará un código de autenticación que debemos pegar en la shell.

Y ahora, ya estamos listos para probar un ejemplo!

En el mismo entorno virtual, ejecutamos el siguiente comando indicando nuestro ID de Proyecto y nuestro ID de modelo, En caso de no haber  anotando estos datos , ambos estan  en la Consola de Actions de Google buscando en las opciones generales del proyecto y del dispositivo.

Si esta todo OK ejecutamos el siguiente comando y quedará listo para que hablemos con el Assistantar:

 

  googlesamples-assistant-hotword --project_id entrada-txarlatana --device_model_id entrada-txarlatana-entrada-xxxx

 

Por cierto, para cambiar el idioma de nuestro Asistente, lo haremos directamente con nuestro teléfono móvil, con la app del Assistant que supongo la tendréis instalada (y si no os la instaláis :P, la abrís, pulsamos arriba en la brújula, y en la siguiente pantalla en Explorar debemos ir a “Ajustes”,

En Ajustes debemos buscar en Dispositivos el dispositivo que hemos registrado antes, lo seleccionamos, y ahí ya le podremos dar acceso a más datos nuestros a los señores de Google o seleccionar el idioma que queremos para interactuar con el Assistant!

 

 

MEJORA DEL MICRÓFONO 

Finalmente, dependiendo de la calidad de tu micrófono, notará que tiene algunos problemas a la hora de escucharle. En lugar de gritar  cada vez que quiera usarlo, lo que haremos será regular el micrófono mediante la línea de comandos una vez más.

  • Introduzca  en la termina ssh  el siguiente comando:
     alsaixer
  • Pulsee F6 para seleccionar un USB diferente. Use, las flechas para seleccionar tu micrófono.
  • Usa las flechas para aumentar el volumen de captura.
  • Cuando esté satisfecho con el volumen, pulse  ESC para salir.
  • Escriba el siguiente comando para hacer permanentes los cambios.
     sudo alsactl store

Ahora será capaz de comunicarte con su Echo casero hablando de manera normal   en lugar de gritando. Desde esta misma pantalla también se puede cambiar el volumen por defecto si lo necesitara.

 

Tenemos el servicio montado bajo una Raspberry Pi, si volvemos a ejecutar el ejemplo anterior estará el Asistente en nuestro idioma pero  tendremos que constantemente pulsar Enter o decir ‘OK, Google’ independientemente de los ejemplos que tenemos para interactuar.

Si no nos  interesa que el micrófono esté siempre escuchando y así también evitar la necesidad de decir ‘OK Google’ todo el rato, mediante un script  en c-shell   podemos   iniciar  o detener el Assistant

google_assistant_para.sh

cd /home/pi/

source env/bin/activate

nc -l 12345 | /home/pi/env/bin/python3 /home/pi/env/bin/googlesamples-assistant-pushtotalk –project-id txarlatana –device-model-id txarlatana-pitxarlatana-xxxx &

 

google_assistant_para.sh

pkill python3

pkill google

pkill nc

 

 

Mas información en  https://developers.google.com/assistant/sdk/guides/library/python/

 

 

 

 

 

 

 

OpenAuto


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

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

 

 

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

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

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

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

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

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

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

Una unidad principal de funcionamiento del Crankshaft:

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

 

Hardware 

Necesita los siguientes elementos

Getting started materials

  1. Una Raspberry Pi:

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Otra opción es audio Bluetooth.

  9. Un micrófono USB Si desea utilizar al asistente de «Google OK».

 

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

Assembled screen

La pantalla montada debería verse como esto.

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

Estos son algunos diagramas útiles

Corresponde a:

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

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

Software

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

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

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

 

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

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

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

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

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

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

 

Via instructables

Como convertir una impresora 3D en una impresora Wifi


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

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

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

3D-wifi 10.jpg

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

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

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

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

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

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


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

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

Carastericticas del 3D WiFi  

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

 

Aplicación EasyPrint 3D

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

EasyPrint 3D viene con cuatro características principales:

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

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

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

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

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

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

Configuración de Wi-Fi

Los procedimientos de configuración detallados son los siguientes:

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

 

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


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

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


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

 

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

 

 

 

 

 

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Software

Instalación automática

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

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

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

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

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

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

Instalación manual

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

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

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

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

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

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

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

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

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

Instalación hardware

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

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

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

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

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

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

Cámara trasera inteligente con Raspberry Pi. Parte 2


Añadiendo reconocimiento de imágenes

 

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

Script  en Python

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

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

sudo python car_detector.py

IMG_20181113_224935[1].jpg

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

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

 

 

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

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

 

 

Conexión hacia la Raspberry Pi via vnc

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

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

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

    Alias: cualquier nombre es aceptable como por ejemplo Raspberry Pi 

    Username: pi

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

    Contraseña: la pwd que haya puesto

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

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

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

 

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

 

Bot de Telegram con Raspberry Pi


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

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

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

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

En primer lugar,para empezar buscaremos  BotFather seleccionando la opción «Bot»

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

 Configurar nuestra Raspberry Pi

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

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

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

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

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

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

[email protected]:~ $

 

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

raspberrypi

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

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

 

ssh.PNG

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

 

clave.PNG

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

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

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

 Ejecutar el código de Python

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

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

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

#coder :- Salman Faris

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

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

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

GPIO.setmode(GPIO.BOARD)

# configurar el canal de salida del GPIO

GPIO.setup(11, GPIO.OUT)

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

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

print ‘Got command: %s’ % command

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

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

while 1:
time.sleep(10)

 

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

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

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

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

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

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

python telegrambot.py 

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

 

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