Plant Buddy 03: NodeJS en Raspberry


La instalación de npm con apt-get install npm no funcionó T_T. Por suerte, @Hargrovm, con su post, de este apuro me sacó.

NodeJS se actualizó y la página oficial a mi Raspberry obsoleta dejó.

Esta es la historia de como se solucionó…

Lo primero es conocer el interior

Raspberri tiene un procesador ¿Cuál es el que lo mueve?, debo identifar yo.

$ uname -m # Obtenemos el tipo de arquitectura del procesador
armv6l

En mi caso, debe ser NodeJS para armv6l.

Como ya no estaba esta opción en la página de descargas, descargué uno del enlace que @Hargrovm compartió.

Intalado Node JS

Con la versión que escogí, instalé node su interior.

# descarga en carpeta temporal
cd /tmp
wget https://unofficial-builds.nodejs.org/download/release/v14.16.1/node-v14.16.1-linux-armv6l.tar.gz
tar -xzf node-v14.16.1-linux-armv6l.tar.gz


# copia a carpeta de sistemas
cd node-v14.16.1-linux-armv6l/
sudo cp -R * /usr/local/

# un poco de limpieza
cd /usr/local/
sudo rm CHANGELOG.md LICENSE README.md

# y probar si funcionó
node -v
npm -v

Instalar yarn

A mi me gusta Yarn para gestionar los paquetes como desarrollador, pero utiliza NPM si consideras que es mejor.

sudo npm install -g yarn

Express con su Hello Word!

La ubicación de la aplicación

Definí el espacio que contendrá la aplicación, con los permisos apropiados para que comience la colaboración.

# creamos la carpeta de la aplicación
sudo mkidr /opt/app/ 

# asignamos los permisos
sudo chown root:app /opt/app/
sudo chmod 775 /opt/app/

# ingresamos a la carpeta
cd /opt/app/

Creamos la aplicación

Probemos que tal nos queda nuestro primer “Hello World!”

# iniciamos el projecto NodeJS
yarn init

# instalamos express
yarn add express

Escribimos el index.js…

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('<h1>Hello World from Raspberry!</h1>')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

… y ejecutamos la aplicación.

node index.js

Probamos como quedó

Desde el navegador me conecto a la IP de la Rapsberry PI

http://192.168.1.104:3000

Listo, ya tenemos Node para que Plant Buddy sea un gran Buddy para tu Planta.

hello-raspberry