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/

Reproductor multimedia para coche con interfaz táctil


Cada  vez son más los aficionados  que se deciden a poner su inventiva  e ingenio en pro de un problema   concreto  y le buscan  una solución  que comparten con  todo el mundo.

En la preparación para ir en un viaje extendido por carretera se pueden tener dos requisitos principales:

  • Una gran oferta de música para el viaje
  • Una lectura de velocidad en vivo respaldada por GPS para que pueda determinar de forma fiable la velocidad de los coches debido a los neumáticos más grandes que ponen el velocímetro del tablero en alrededor de un 10%.

Este  proyecto  inicialmente se basó en  una Raspberry Pi 2 (ahora actualizado a la Raspberry Pi 3 ) basado en el ordenador de coche que ejecuta Raspbian

 

En esta ocasión la necesidad era (  y es)   complementar el sistema multimedia de un coche  de unos ciertos años   con un interfaz táctil de gran pantalla    y de  paso que puede ofrecer  más información util para el conductor  , tarea  que ha implementado  con una Raspberry Pi 3, construyendo   un ordenador de coche basado en Raspberry Pi  con almacenamiento de 1 TB  que  proporciona música, un punto de acceso WiFi en  el coche y muestra la información de velocidad actual  además la ubicación respaldada por un receptor de  GPS  

El proyecto se  llama Nomadic Pi   y se basa en el API de mapas Here.com utilizandose  para recuperar el límite de velocidad y la información meteorológica. En cuanto al hw su creador  en lugar de dictar una configuración exacta de hardware nos enseña  el hw  que ha usado :

  • Raspberry Pi 3
  • Tarjeta SanDisc 32GB Clase 10 SD
  • Pantalla oficial De 7 pulgadas Raspberry Pi Touch
  • Concentrador USB de 4 puertos alimentado
  • Sombrero GPS Adafruit Ultimate
  • SMA hembra a RP-SMA convertidor adaptador hembra (utilizado para conectar el sombrero GPS a una antena GPS externa)
  • Rp-SMA a uFL/u.FL/IPX/IPEX RF Adapter Cable (utilizado para conectar el sombrero GPS a una antena GPS externa)
  • Antena GPS – Antena Activa Externa – Cable de 3-5V 28dB 5 Metros
  • Unidad portátil Samsung de 1 TB de 2,5 pulgadas
  • Cable USB a SATA
  • ZTE MF832 4G dongle
  • Convertidor de voltaje de 12v a 5v 3A
  •  Tiras de metal y soportes angulares de la ferretería
  • Pintura en aerosol negra
  • Pernos de cabeza Phillips pequeños con tuercas hexagonales

 

Hardware 

Después de disponer de r todo el hardware para construir el ordenador de su coche es un reto ponerlo todo junto en un formato que no se dañará en un coche en movimiento. La pantalla táctil oficial de Raspberry Pi tiene agujeros perforados en la parte posterior de la carcasa de la pantalla. Así que hacen un gran punto de partida para mantener todo unido.  Los que están cerca del centro permiten que la Raspberry Pi acabe con la pantalla en sí. A continuación, hay agujeros roscados más cerca de las esquinas que decidí adjuntar un marco de tipo y construir hacia atrás.

Sólo un  consejo : si decide seguir el mismo camino y atornillar su marco en la parte posterior de la pantalla. ¡Apriete los tornillos muy suavemente! Si aprieta demasiado la pantalla comenzará a empujar hacia fuera el lado opuesto. Así que sólo vaya muy despacio y tenga cuidado!

Luego en lugar para montar la carcasa sólo tiene que decidir lo que va a decidir lo que va a utilizar para albergarlo. En cualquier ferretería encontrara algunas tiras metálicas delgadas y soportes angulares con agujeros pretaladrados. Así que  puede  crear un marco utilizándolos, ya que se pueden atornillar fácilmente juntos. Este enfoque es barato, robusto y proporciona una gran cantidad de puntos de montaje prácticos para sostener periféricos (hub USB, dongles externos, etc.) en su lugar.

Las carcasas Double Din disponibles en el mercado están disponibles para montar dispositivos en el tablero. Pero es probablemente más fácil construir el marco alrededor de la raspeberry Pi y luego atornillar el marco a la carcasa para mantener las cosas en su lugar.

Alimentación

Además de albergar la Raspberry Pi  tenemos que suministrar  energía a todo el hw   para lo cual tomaremos  la potencia de 12 voltios DC del sistema eléctrico de su coche y reduciremos el voltaje. dado que la Rasbberry PI se alimenta a 5V DCm requeriremos una fuente de alimentación de 5 voltios.

Afortunadamente, los convertidores de voltaje CC de 12 a 5 voltios se pueden encontrar fácilmente en muchos Amazon :solo necesita prestarle atención a la clasificación de amperaje  suministrado pues  necesitará un convertidor  DC/DC que pueda entregar 3 amperios o más.

Regulador convertidor CPT-UL-1 DC/DC 12 V a 5 V 3 A 15 W de potencia de pantalla LED para coche

Un convertidor de voltaje de 3 amperios dará un consumo de potencia máximo de 15 vatios ( 5v x 3 amperios á 15vatios). Para la configuración de hardware apuntada se estima  un consumo máximo de energía de 10,44 vatios, lo cual  da una  potencia  adicional de 4 vatios disponibles, pero si usted planea conectar una gran cantidad de dispositivos hambrientos de energía fuera del Pi sólo tenga en cuenta que la energía necesaria podría convertirse en un problema.

 

 GPS

La antena GPS externa no es un requisito, ya que la mayoría de los dispositivos GPS (sombreros o memorias USB) tendrán una antena pasiva incorporada. Una cosa a tener en cuenta es la ubicación de instalación prevista del ordenador en el coche, sin embargo. Si el Pi va a ser montado en el salpicadero  el dispositivo GPS estará rodeado en todos los lados por el acero que va a obstaculizar su ordenador conseguir una fijación GPS  por lo que lo mas sensato es usar una  antena GPS externa (tenga en cuenta que el uso de una antena GPS activa aumentará ligeramente el consumo de energía general del sistema ) .

 

Este es finalmente el aspecto que presenta el montaje  completo en el salpicadero

 

 

 

Software

 

El  autor de este proyecto nos proporciona una imagen de Raspbian preparada con todo el sw ya instalado que ha llamado Nomad  Pi  y que  ha subido a Google Drive para su descarga. en este link: Nómada Pi v1.1   ( son unos 2.3GB)

Una vez completada la descarga,descomprima el archivo de imagen y escriba en la tarjeta SD con el comando dd o pruebe Win32 Image writer si está utilizando un sistema Windows.

El objetivo principal de esta versión  11  era permitir el uso del sistema fuera de las restricciones de la interfaz principal de Nomadic Pi.

Algunos de los cambios más importantes en la versión v1.1 incluyen:

  • La capacidad de salir del modo de pantalla completa del navegador. Esto hace uso de la funcionalidad experimental táctil “salir de pantalla completa” en Chromium 61.
  • Permitir el uso para acceder a otras aplicaciones en el sistema o navegar por Internet en el Pi nómada como un ordenador de sobremesa estándar.
  • La adición de software de navegación GPS Navit para proporcionar funcionalidad de navegación giro a giro.
  • La posibilidad de entrar en el modo de “pantalla completa” en el navegador a través de la pantalla táctil cuando se desee utilizando un elemento de menú en el menú de la aplicación Nómada Pi.

La interfaz en sí está construida con el marco Ionic basado en AngularJS y se ejecuta dentro del navegador Chromium en modo quiosco.

 

 

Sw navegación

El ordenador del coche Nomadic Pi hace uso de algunas fuentes de datos externas para enriquecer la experiencia en carretera.Estos son:

  • Here.com – Información de límite de velocidad específica de ubicación y datos meteorológicos
  • LocationIQ – Información de direcciones legibles de los datos de latitud y longitud

 Estos servicios como puede intuir  requieren que el Pi nómada tenga una conexión a Internet activa, razón por la que precisamente en este montaje  se usa un dongle ZTE MF832  , aunque   en realidad   podría conectarse a un red MIFI  por ejemplo compartiendo la conectividad de nuestro smartphone

Para obtener claves de API necesarias, vaya al portal para desarrolladores here.com y regístrese para recibir una clave de API y un identificador de aplicación. La cuenta es gratuita y el acceso a sus servicios de datos es gratuito para menos de 15000 solicitudes al mes (que permite una solicitud cada 2,9 minutos).

Una vez que lo haya hecho, here.com id de aplicación y clave de API. Edite la configuración de la aplicación Nomadic Pi. Esto se puede encontrar en:

  • /home/pi/Software/car-computer/config/config.ini

Introduzca sus datos en la sección etiquetada [here-api]. Guarde los cambios y, a continuación, reinicie el Pi nómada para que los cambios surtan efecto.

Para usar el servicio de geocodificación inversa locationIQ, primero registre una cuenta para recibir un token de desarrollador. El token permite hasta 10.000 llamadas a la API al día de forma gratuita.

Después de recibir el token de desarrollador. Añádalo a la configuración de la aplicación Nomadic Pi bajo el encabezado [location-iq].

 

Cómo conectarnos  a  Noma pi

Si se usa un dongle  4g podemos compartir la conexión  vía Wifi. Para ello ,el acceso WIFI ,lo  conseguiremos una vez que el sistema haya terminado de arrancar. La forma más fácil de configurar el sistema es conectarse a través del punto de acceso WIFI.

SSID: Nomadic-PI
WPA Contraseña: pinomadica

Para cambiar la configuración de WIFI desde el valor predeterminado. Inicie sesión en Pi sobre SSH elevar a privilegios raíz. A continuación, edite el archivo de configuración hostapd.conf en el directorio /etc/hostapd.

En cuanto al acceso SSH, una vez conectado al ordenador del coche a través de WIFI,p uede iniciar sesión en Nomadic Pi en 192.168.2.1 con las siguientes credenciales:

Nombre de usuario: pi
Contraseña: pinomadico

Después de iniciar sesión como usuario pi, puede usar sudo para elevar a privilegios raíz.

SSH terminal session on the Nomadic Pi car computer

En este momento si su ordenador de coche tiene una conexión a Internet a través de Ethernet o un dongle 4G. Sería una buena idea actualizar los paquetes instalados en el sistema a la última y mejor:

apt-get actualización
apt-get actualización

Adición de música

De forma predeterminada, MPD está configurado para buscar música en /media/usbstick. Si desea que la música se reviva en otro lugar del sistema de archivos, tendrá que cambiar el directorio de música en los archivos de configuración MPD.

Lo más probable es que almacene la música en un dispositivo de almacenamiento separado que la tarjeta SD que contiene el sistema operativo. Si este es el caso, necesitará agregar una línea a su archivo /etc/fstab. Así que el dispositivo está montado en el arranque del sistema y el demonio MPD puede ver su colección de música.

Al igual que los propios archivos de música, las listas de reproducción se almacenan en los archivos /var/lib/mpd/playlists como archivos .m3u. La configuración MPD tendrá que cambiar si desea almacenarlos en una ubicación diferente.

 

 

Conclusión

Estamos  ante un interesante  proyecto que hace   una vez más uso  de la Raspberry Pi  como hw  casi único para toda la funcionalidad demandada. Los archivos multimedia se almacenan en un disco duro de 2,5 pulgadas y 1 TB con el demonio MPD que controla la reproducción de música. El dispositivo GPS permite una lectura en vivo de la velocidad y la ubicación actuales de los coches. Incluso en la página de inicio tendremos  advertencias de velocidad al exceder el límite de velocidad.

Quizás  se podría poner una única  pega  en cuanto a funcionalidad  pues  el autor se ha limitado al entretenimiento  o  al velocímetro  descuidando   otros aspectos que definitivamente  se pueden obtener en  una Raspberry PI  ( por ejemplo añadiendo sensores de aparcamiento, cámaras frontal  y trasera con reconocimiento de imágenes ,procesamiento de alarmas  con el GPIO , etc  )  que seguro la distanciarian de  una tableta corriendo Google Play Auto ( que es básicamente la funcionalidad actual)

 

Current music play queue.

 

 

El proyecto ahora tiene su propio sitio en https://www.nomadicpi.com donde se puede encontrar información sobre la construcción de su propio Pi nómada. Junto con una imagen preconstruida para descargar para su Raspberry Pi 3

La interfaz de usuario del proyecto todavía está en desarrollo activo con nuevas características que se agregan de forma regular. Con la base de código disponible libremente en github para su descarga bajo una licencia GPL V3.

superminipc retro


Hoy en día, gracias a las impresoras 3D, podemos encontrar todo tipo de carcasas personalizadas para las Raspberry Pi  qeu podemos descargar desde el famoso respositorio Thingverse   para luego intentar imprimirla  en nuestra impresora 3d ( en caso de ser el afortunado de poseer una  y que sea funcional), pero  lo que tenemos aquí es algo muy especial pues no es un Mini PC con Raspberry PI y una carcasa impresa en 3D :es una Raspberry Pi dentro de una radio en miniatura con forma de PC de los años 90.

El hack merece explicación, porque es una delicia. Ha sido creado por Senpailord1234, un usuario de Reddit. Como hemos comentado no se trata de un carcasa de PC impresa con una impresora 3D, sino que es una auténtica radio en miniatura de los años 90 0,muy a la moda de los 90’s ,pues  en aquella época a alguien le pareció interesante comercializar una radio de bolsillo con forma de PC… 

Inspirado  en esta  idea   Senpailord1234  decidió convertir esta vieja  radio dentro de un minipc falso  en un PC de verdad… La pega es que al ser  tan pequeña  ahí dentro no cabe una Raspberry Pi 4 o similar, así que utilizó una versión aún más miniaturizada, llamada Raspberry Pi Zero W, que apenas cuesta 17 euros

Esta placa  Raspberry Pi Zero W amplía la familia Pi Zero, el Pi Zero W tiene toda la funcionalidad del Pi Zero original, pero con conectividad añadida, pues e consta de LAN inalámbrica 802.11 b/g/n,  Bluetooth 4.1 y  Bluetooth de baja energía (BLE)

Raspberry Pi Zero W es una placa computacional en miniatura( su tamaño es de  7,5 x 6 x 4 cm) pues ,para que se haga una idea, es casi tres veces más pequeña que una Raspberry Pi 4…

Como el Pi Zero, también tiene: 

  • 1 GHz, CPU de un solo núcleo.
  • 512 MB de RAM.
  • Puertos Mini HDMI y USB On-The-Go
  • Alimentación micro USB.
  • Cabezal compatible con HAT de 40 pines.
  • Vídeo compuesto y encabezados de reinicio
  • Conector de cámara CSI


Senpailord1234 se  decidió a  convertir en funcional los periféricos de plástico de la radio en miniatura. Por ejemplo, el lector de floppy disk de imitacion de la carcasae  (los viejos discos que tenían los PC) lo ha convertido en la ranura de entrada para la tarjeta microSD, tal como se puede ver en la foto de apertura de la noticia .

Después ha introducido la Raspberry Pi Zero W dentro de la carcasa de la radio, ademas   la ha conectado a una pequeña pantalla LED que ha puesto en el monitor de plástico de la radio:

Raspberry Pi

 

Como nota curiosa   además no  quiso desaprovechar la radio AM/FM original, así que  conectó  a la Raspberry un DAC IS2  y  que a su vez conecto a  los pequeños altavoces incorporados , por lo  que  puede introducir música por el lector de discos del PC, en una micro SD, y escucharla por los altavoces.

Y aquí lo tenemos, una radio con forma de PC en miniatura convertida en un PC de verdad, capaz de ejecutar Doom. Pura genialidad, gracias a la magia de Raspberry Pi.

Raspberry PI PC

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  . .. 

 

Ya disponible la Raspbery Pi 4


En efecto  ya esta disponible  desde la pagina oficial  de la fundacion Raspberry  , la nueva version de Raspberry Pi   4 ,la cual   repite precio manteniendo el factor de forma , por lo que simplemente puede colocar su nueva Raspberry Pi 4   en sus proyectos anteriores  gracias  a como siempre que  han  mantenido todo el software compatible con versiones anteriores, por lo que lo que se desarrolle para  una Raspberry Pi 4 funcionará en cualquier version  más antigua que tenga .

 

La Fundación Raspberry Pi ha presentado un nuevo modelo de su minipc  : Raspberry Pi 4 (modelo B), con algunas novedades interesantes partiendo del mismo bajo precio de 35 dólares.

Exactamente se comercializa tres diferentes sabores dependiendo de la cantidad de RAM que necesite: 1 GB, 2 GB o 4 GB.;

  • El modelo de 1 GB cuesta los habituales 35 dólares,
  • El de 2 GB cuesta 45 dólares
  • El de 4 GB tiene un precio de 55 dólares, y ya está a la venta.

Estos precios, como en versiones anteriores,  no incluyen el precio de la tarjeta micro-SD o la fuente de alimentación necesarios para ponerla en marcha y tampoco  coinciden exactamente con los ofrecidos por Amazon ( por el momento no disponibles en muchos paises) 

No solamente   tenemos disponible mas memoria (de tipo LPDDR4-2400.)  , ya que con  el avance de la potencia de la arquitectura ARM,  y  el  abaratamiento del coste de los tipos de núcleos de años pasados, la Raspberry Pi 4 aporta hasta tres veces más potencia.   gracias a  su procesador BCM2711 de Broadcom, que es un modelo de cuatro núcleos Cortex-A72 a 1.5 GHz  que la hace  superar tres veces en rendimiento al usado en la Raspbery Pi 3.

Ademas aunque externamente presenta  el mismo factor de forma que la Rasberry Pi 3  la mejora más interesante es la unidad gráfica integrada  ya que ahora  el clásico conector hdmi ha sido  reemplazado por dos conectores micro-hdmi ,para soportar dos monitores simultaneos  que puede mover incluso con resolución  4K simultáneamente 

 También  la nueva Raspberry Pi 4 ha mejorado la capacidad USB: junto con dos puertos USB 2, encontrará dos puertos USB 3, que pueden transferir datos hasta diez veces más rápido. 

Asimismo para alimentar la  placa   cuenta con un conector usb-c 

 

Raspberry Pi 4 Specifications

 

 

La Raspberry Pi, sin ventilador y energéticamente eficiente, se ejecuta de manera silenciosa y consume mucha menos energía que otros ordenadores.

La velocidad y el rendimiento de la nueva Raspberry Pi 4 es un paso más que los modelos anteriores pues por primera vez, se ha construido una experiencia de escritorio completa permitiendo  editar documentos, navegar  por la web con un montón de pestañas abiertas, haciendo malabares con hojas de cálculo o dibujando una presentación, su creadores afirman que encontraremos la experiencia fluida y muy reconocible, pero de una forma más optima  gracias   aun hw   más eficiente en cuanto a consumo de energía y desde luego a un precio mas  asequible y eso contando con conectividad a redes rápidas  ( viene con Gigabit Ethernet, junto con redes inalámbricas a bordo y Bluetooth).

 

 

Por ultimo no debemos olvidar el conector de expansión , pues mantiene los cuarenta pines GPIO para los que deseemos controlar dispositivos  gracias a sus 12 puertos binarios de   E/S 

Para estar creado en una placa impresa de solo 85 mm × 49 mm, es un mini-equipo extremadamente versátil, y cada vez más potente para usarlo como centro multimedia, que en este caso el poder mover una pantalla 4K será muy útil, ya que decodifica por hardware el códec H.265 (4K y 60 f/s), si bien codifica hasta a FHD y 30 f/s en H.264. Además, la unidad gráfica ahora es compatible con OpenGL 3.0.

No debemos olvidar  que  para poner  en funcionamiento  esta placa necesitaremos

  • Una fuente de alimentación USB-C de 15W: recomendamos la fuente de alimentación USB-C Raspberry Pi oficial
  • Una tarjeta microSD cargada con el SO ya instalado  o bien con  NOOBS, el software que instala el sistema operativo (se puede comprar una tarjeta SD precargada junto con la Raspberry Pi o descargar NOOBS para cargar una tarjeta usted mismo)
  • Un teclado y un ratón
  • Cables para conectarse a una o dos pantallas a través de los puertos micro HDMI de Raspberry Pi 4

Este pequeño PC también tiene dos USB 2.0, dos USB 3.0, wifi 802.11ac, Bluetooth 5.0, un RJ-45, un conector de 3.5 mm y lector de tarjetas micro-SD.

 Para proyectos a largo plazo, prometen mantenerla en producción hasta al menos enero de 2026.

 

Mas informacion  en https://www.raspberrypi.org/products/raspberry-pi-4-model-b

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