Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Blog
  • ¿Quién soy?
  • Podcast
  • Curso Arduino [GRATIS]
  • Curso Domótica [GRATIS]
  • 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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// 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:

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

Y para instalarlo, ejecutaremos lo siguiente:

1
sudo dpkg -i node_latest_armhf.deb
1
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:

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

kicad

KiCad diseña y fabrica tu primera PCB

Si alguna vez has desmontado algún equipo electrónico, debes haber visto en su interior una tarjeta que soporta una gran cantidad de componentes. Se … [+ info...]

Fuentes-de-alimentación

Fuente de alimentación

Creo que estarás de acuerdo conmigo si digo que, para la subsistencia de un ser humano, después del aire, lo más importante es el agua y la comida; es … [+ info...]

Motor-AC-asincrono-sincrono-monofasico-trifasico

El mundo del Motor AC

Es incomprensible que uno de los mejores inventos del ser humano pase casi completamente desapercibido. Y es que si le preguntas a muchas personas si … [+ info...]

Copyright © 2023 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR