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
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.
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:
Configurar el pin 13 (con LED incorporado) como una SALIDA
Establecer el pin 13 ALTO para encender el LED
Esperamos 500 ms (medio segundo)
Establecer el pin 13 BAJO para apagar el LED
Y este es el código completo para ejecutar desde el Ide de Arduino:
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
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
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:
Requerir el paquete johnny-five
Inicializar un nuevo objeto Board que represente a su placa .
Esperar a que el tablero dispare el evento listo
Crear una instancia de un objeto LED en el pin 13 (el pin LED incorporado de Uno)
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,
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 .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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 .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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 .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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 .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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 .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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 .
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 .
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 .
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 .
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
Admite la extensión PING_READ , cuando se usa con PingFirmata .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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
Eche un vistazo a chipkit.net!
Admite la extensión PING_READ , cuando se usa con PingFirmata .
Admite las STEPPER_* cuando se utilizan con AdvancedFirmata o ConfigurableFirmat .
Los pines digitales 26-41 y los pines analógicos A6-A11 actualmente no son compatibles con StandardFirmataPlus, a la espera de una actualización de la definición de pines en Boards.h
Esta bifurcación tiene los cambios relevantes y debe cargarse en el tablero a través del IDE proporcionado por chipKit
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
Admite la extensión PING_READ , cuando se usa con PingFirmata .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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
Admite la extensión PING_READ , cuando se usa con PingFirmata .
Admite las extensiones STEPPER_* cuando se usa con AdvancedFirmata o ConfigurableFirmata .
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.
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 .
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 WiFi a la placa, que actúa como un cliente ligero .
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.
El programa JavaScript se ejecuta directamente a bordo, en un entorno Linux que ejecuta Node.js.
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 .
El programa JavaScript se ejecuta directamente a bordo, en un entorno Linux que ejecuta Node.js.
Plataforma específica
Este bloque no utiliza enlaces mraa nativos. Por favor, vea el Bloque Arduino de SparkFun Edison , en el repositorio de Galileo-IO , para obtener ayuda para comenzar.
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 .
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 WiFi a la placa, que actúa como un cliente ligero .
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 WiFi a la placa, que actúa como un cliente ligero .
Plataforma específica
Los temporizadores se comparten en grupos: Temporizador 2: A0 , A1 , Temporizador 3: A4 , A5 , A6 , A7 , Temporizador 4: D0 , D1
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 WiFi a la placa, que actúa como un cliente ligero .
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 WiFi a la placa, que actúa como un cliente ligero .
Debe estar conectado para enviar un comentario.