Node.js

Apr 20, 2024

Blink con Node.js en Raspberry Pi OS

Extra Angular CLI

Node. js es un entorno de programación creado por Ryan Dahl en el 2009. Su principal objetivo, ha sido, ser de utilidad en la creación de programas de red altamente escalables.

Como experimentación, instalaremos node.js y lo utilizaremos para controlar un led mediante los pines GPIO, pero node.js posee otras utilidades como realizar aplicaciones de red en tiempo real.

Node.js® is an open-source, cross-platform JavaScript runtime environment

Instalación--Install:

Necesitamos ser Super Usuarios para realizar la sencilla instalación, para ello abriremos la Terminal e introducimos--We need be Super User:

Una vez seamos Super Usuarios introducimos--Type:

LTS Version:

Ultima versión-Latest:

Una vez que ha terminado este proceso, nos indicará como instalar nodejs y npm--Once done, install nodejs & npm:

Verificamos la versión instalada con--Check node version:

Opcional--Optional:

Yarn package manager(Para ArchLinux)--Yarn package:

nodejs 20.x

nodejs 21.x(Now)

Instalaremos el módulo npm on-off--Install node module on-off:

Posteriormente crearemos un directorio que contendrá nuestro programa, entraremos en él y crearemos nuestro primer blink.js--We need create a directory for our app, enter to the creaated folder and make blibk.js file:

Ustedes eligen cual desean usar e introducen el siguiente código--You choose which text editor use, nano or mousepad or geany:

Si hemos elegido crearlo con nano, lo guardaremos con Ctrl+x, Y, Enter--If you choose nano editor, save with Ctrl+x, Y, Enter.

Si hemos elegido crearlo con Mousepad o Geany,nos dirigimos a Archivo -> Guardar--If you choose Mousepad or Geany editor, just go to File--> Save.

Apagamos  nuestra Raspberry Pi y realizamos las conexiones--Turn off your Raspberry Pi to make the connections.

A conectar!--Connect!

Materiales necesarios--We need:

Ley de Ohm:

La intensidad de corriente que atraviesa un circuito es directamente proporcional al voltaje o tensión del mismo e inversamente proporcional a la resistencia que presenta.--A law stating that electric current is proportional to voltage and inversely proportional to resistance.

Cómo calcular la resistencia adecuada para nuestro circuito--How to calculate correct resistor value: 

Buscando en la hoja de datos del Led verde 5mm podemos observar que la (VF)tensión directa normal se encuentra en 2.1V, su (IF)Corriente de operación recomendada es de 20mA. Y que la (VS)tensión de alimentación brindada por los pines GPIO de la Raspberry Pi es de 3.3V. --Searching on the Green Led 5mm datasheet we can see the typical Forward Voltage (VF) is 2.1V, the Recommended Operating Current (IF Rec) is 20 mA. And the Voltage Source(VS) given by the Raspberry Pi Pin is 3.3V.

Y aplicando Ley de Ohm podremos calcular la Resistencia adecuada para dicho LED--Apply Ohm's Law:

Lo que nos dá una Resistencia de 60Ω(68Ω Comercial)---Give us a 60Ω(68Ω Comercial resistor)
Green Led--Led Verde 5mm
Dimensiones físicas--Physical dimensions
GPIO Raspberry Pi 4B
Tensión de trabajo según color--Fordward Voltage by colour

Ahora que sabemos de cuánto debe ser nuestra resistencia, armamos el circuito--Now we know our resistor's value, lets make the circuit:

Esquemático--Schematic
Esquema Fritzing--Fritzing's draw

Una vez realizadas las conexiones, chequeamos 2 veces que hayamos realizado la conexión correctamente y alimentamos nuestra Raspberry Pi.--Once all connected, check twice, then power on Raspberry Pi.

Una vez iniciado Raspberry Pi OS abrimos la Terminal y ejecutamos nuestra app blink.js--Once boot up, open Terminal and launch our app:

O nos metemos a la carpeta creada nodetest y ejecutamos blink.js--Or go to our folder nodetest and run the app:

Fuente del tutorial: W3 Schools, pueden encontrar más ejemplos en esta nutrida web--Source W3 Schools.

Calculador de Resistencias online. --Resistor calc online

Tutorial detallado en W3Schools, nodejs para Raspberry Pi especificamente--Detailed tutorial on W3Schools, nodej for Raspberry Pi:

Instalar Angular CLI(Opcional)--Install Angular CLI:

Actualizamos npm a la versión que nos indica en el último mensaje, si es que nos avisa sobre una actualización,  actualmente nos indica:

We will update npm to the latest version indicated on the end of message, if we are warning about an old version, now indicate:

Verificamos que todo funcione con un ejemplo inútil. Checking if all works with an useless example:

Abrimos el navegador e ingresamos--Open browser and type:

Si deseamos indicar un puerto o direccion diferente(Ej:La IP de nuestra Raspberry Pi para acceder desde otro dispositivo en nuestra LAN)--If you want choose a different port or IP(Ex: Our Raspberry Pi IP to access from different device on our LAN):

Abrimos nuestro navegador indicando el puerto 4200. Recordemos que podemos saber nuestra IP con el comando hostname -I. Now, we can open the browser with IP:4200. Remember we can know our IP from commandline through hostname -i command.