Home Assistant Fácil

Curso de Home Assistant y domótica

  • Blog
  • Soy un pardillo
  • Podcast
  • Curso Arduino
  • Curso Domótica
  • Acceder
Usted está aquí: Inicio / Blog / Crear un servicio web con Node.Js con Visual Studio 2015 y desplegarlo en tu Raspberry Pi

Crear un servicio web con Node.Js con Visual Studio 2015 y desplegarlo en tu Raspberry Pi

Luis del Valle Hernández

RaspberryPI_WS

Nos ha parecido interesante hablar sobre un escenario bastante potente: desarrollar un webservice REST con Node.js y Express Framework utilizando como IDE el nuevo Visual Studio 2015 y desplegarlo finalmente en una Raspberry Pi con una distribución Linux. De esta forma podemos aprender tres cosas de golpe: desarrollar un webservice con Node.js, hacerlo con Visual Studio y utilizar una Raspberry Pi como servidor.

¿Qué es Node?

Node.js es una plataforma de desarrollo Back-End multiplataforma que trabaja con una arquitectura orientada a eventos, utiliza como lenguaje de desarrollo Javascript aprovechando el motor v8 creado por Google. Es una buena plataforma cuando esperamos una conexión pemanente con el frontend y además nos gusta mucho su rendimiento y ligereza.

¿Qué es Express Framework?

Es un Framework para Node.js que permite el desarrollo de aplicaciones web flexibles y ligeras de forma estructurada. Entre sus características principales destaca la opción de rutear las peticiones (route url) gestionando así las peticiones get y post. Esto nos permitirá poder realizar servicios web Rest de forma sencilla y dada su ligereza nos permitirá desplegarla en una Raspberry Pi sin problemas de rendimiento.

Instalando Node.JS para Visual Studio 2015

Hemos elegido emplear Visual Studio 2015 para desarrollar nuestro proyecto, lo cual no quiere decir que podáis utilizar cualquier otro IDE pero sí que hay que tener en cuenta que, en este caso Visual Studio instala en el mismo paquete también el servidor NodeJs, así que si, por ejemplo usamos como IDE Atom, tendremos que instalar Node con su paquete de instalación independiente ya sea Windows, Mac o Linux. Lo podemos descargar aquí.

En esta página podremos descargar el componente necesario para instalar NodeJs y el complemento para visual Studio.

Una vez descargado e instalado, ya podremos abrir el IDE y comprobar que ya podemos crear un proyecto con Nodejs.

Creando el proyecto y la aplicación.

Para inicarnos en Node.js, vamos a crear una aplicación sencilla: un «HolaMundo» de toda la vida pero algo más complejo, para entender cómo funcionan Node.js y Express framework.

Creamos un nuevo proyecto en Visual Studio 2015 y elegimos crear un proyecto con Nodej.js con Express 3:

Una vez Visual Studio termine de crear el proyecto, crearemos un nuevo fichero Javascript(vamos a llamarlo saludo.js) con el siguiente código:

// Utilizamos el Framework Express
var express = require('express');
var app = express();
var port = 3000;

// Nos declaramos un json
var saludos = [
	{ tipo : 'Saludo básico', texto : "Hola mundo!" },
	{ tipo : 'Saludo cordial', texto : "Saludos mundo." },
	{ tipo : 'Saludo demasiado cordial', texto : "Saludos cordiales Mundo." },
	{ tipo : 'Saludo colega', texto : "Qué pasa mundo!!!" }
];

// Definiendo las rutas
app.get('/', function (req, res) {
	res.json(saludos);
});

app.get('/saludo/random', function (req, res) {
	var id = Math.floor(Math.random() * saludos.length);
	var q = saludos[id];
	res.json(q);
});
app.get('/saludo/:id', function (req, res) {
	if (saludos.length <= req.params.id || req.params.id < 0) {
		res.statusCode = 404;
		return res.send('Error 404: Saludo no encontrado');
	}
	var q = saludos[req.params.id];
	res.json(q);
});

// Iniciando el servidor
app.listen(port);
console.log('Servidor iniciado en el puerto:' + port);

Cada ruta se declara una función anónima que devuelve el Json que hemos creado(saludos) ya sea completo o filtrado.

Si queremos hacer debug en Visual Studio es importante que establezcamos como fichero de inicio el js que hemos creado, haciendo clic en el mismo y seleccionando la opción «set as Node.js startup file».

Si pulsamos F5 podremos ver las respuestas que nos da el sevicio web:

NodeJS_VS_2

Si observamos la captura podremos entender cómo funcionan las rutas en este caso y en el siguiente en el que le indicamos el índice deseado:

NodeJS_VS_3


Desplegándolo en la Raspberry Pi

Ahora vamos a ver cómo desplegarlo en una Raspberry Pi con Raspbian, para ello tendremos que instalar Node en ella, veamos como:

Nos conectamos a nuestro mini dispositivo mediante SSH y nos descargarnos el paquete utilizaremos el siguiente comando:

wget http://node-arm.herokuapp.com/node_latest_armhf.deb

Y para instalarlo, ejecutaremos lo siguiente:

sudo dpkg -i node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb

Ahora, para desplegar la aplicación que hemos creado, copiaremos el código en cualquier carpeta y ejecutaremos el siguiente comando:

node saludo.js
NodeJS_VS_4

Veremos en pantalla que la aplicación se levanta correctamente en nuestra Raspberry Pi:

Ahora, para probar la aplicación, vamos a cualquier dispositivo conectado a la misma red que nuestra Raspberry y en el navegador escribimos la siguiente URL:
http://{nombre-o-ip-de-raspberry}:3000/

Y veremos que nos devuelve el Json correctamente:

NodeJS_VS_5


Es un ejemplo muy sencillo pero nos abre las puertas a hacer proyectos muy interesantes… ¿Ejemplo? Un servicio web que controla la iluminación de nuestra casa.

Desde aquí te proponemos que aportes alguna idea o proyecto que se te pueda ocurrir empleando estas tecnologías.

camaras de seguridad para casa

Cámaras de seguridad para casa: 5 pilares para no caer en la trampa del Prime Day

Llevas semanas pensando en poner cámaras de seguridad para casa y llega el Prime Day. Entras en Amazon, buscas y aparecen miles de resultados: WiFi, … [+ info...]

broadlink home assistant

Broadlink Home Assistant con HAIR: mandos por infrarrojos sin YAML

Llegas a casa con el emisor Broadlink Home Assistant nuevecito. Lo sacas de la caja con toda la ilusión del mundo para integrar el ventilador del … [+ info...]

NUKI SMART LOCK

Nuki Smart Lock Go, Pro o Ultra: cuál comprar y la prueba que lo decide todo

Mira chapapote, imagina la cara de tonto que se te queda cuando te gastas casi 350 pavos en una cerradura inteligente Nuki, llega a casa, la abres con … [+ info...]

Copyright © 2026 · Programar Fácil · Aviso legal

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los .

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Cookies de terceros

Esta web utiliza Google Tag Manager para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.