El JavaScript está de moda. Y eso no es por casualidad. Ha llegado el día en que un desarrollador con unos conocimientos elevados en este lenguaje de programación puede hacer de todo: proyectos de front-end, de back-end, gestión de bases de datos y servidores… y también tiene oportunidades en el conocido como Internet de las Cosas. JavaScript es el ‘chico’ para todo.
Actualmente existen numerosos índices de popularidad que miden el desempeño de los lenguajes de programación dentro de la comunidad de desarrolladores: oportunidades de empleo, evolución de los niveles salariales, número de proyectos en plataformas como GitHub o StackOverFlow… Uno de esos índices es el de Trendyskills, que basa su clasificación en ofertas laborales. En el gráfico se puede ver la pujanza de JavaScript, solo por detrás de Java.
Dentro del mundo del Internet de las Cosas, la robótica es uno de los sectores que mayor atención ha despertado dentro de los amantes de la programación y la tecnología. El uso de hardware de código abierto como Arduino o Raspberry Pi combinado con tecnologías opensource en javascript para la gestión de servidores como Node.js ha abierto un mundo nuevo en el campo de los robots. Tanto es así que la suma de Arduino y Node.js ha engendrado un tipo de bots llamados Nodebots. Es robótica controlada con JavaScript.
Primeros exploradores de los Nodebots
En los comienzos de los Nodebots hay varios nombres en la orla de los exploradores originarios. Los primeros dos desarrolladores en mostrar las posibilidades del JavaScript para el control de robots fueron Nikolai Onken y Jörn Zaefferer durante una charla en la JSConfEU de 2010. De aquella intervención existe un archivo documental en YouTube. Una joya audiovisual que muestra cómo usar este lenguaje de programación para controlar objetos.
Su charla fue trascendental porque colocó a JavaScript donde algunos otros desarrolladores especializados en robótica ya lo situaban: es, posiblemente, la sintaxis que con menos esfuerzo y líneas de código puede hacer realidad el llamado Internet de las Cosas. En esa intervención, su tesis fue que el mundo de los objetos conectados se basa solo en dos únicas líneas de código:
El otro nombre es Chris Williams, que aquel día de 2010 en la JSConf fue uno de los asistentes a la charla de Onken y Zaefferer. Como el propio Williams escribió en julio de 2012, las palabras de sus colegas reafirmaron dentro de él una sensación que le abordaba desde hacía tiempo: las enormes posibilidades de JavaScript como sintaxis sencilla para conectar objetos. Él fue el creador del paquete javascript más usado para desarrollar Nodebots, Node-SerialPort, que permite interactuar con un microcontrolador a través de Node.js.
En esa línea temporal de primeros pasos en el campo de la robótica con JavaScript aparecen también Julian Gautier y Rick Waldrom.
Waldrom es quien coge el protocolo Firmata y lo convierte en un marco de desarrollo de robótica en JavaScript e Internet de las Cosas llamado Johnny-Five. Es este framework lo que ha permitido a muchos programadores de robots dar a sus Nodebots todas las funcionalidades de las que disfrutan ahora mismo: movimiento, control de luces y sonido… Usando una plataforma microcontrolador como Arduino u otras y Node.js.
Cómo empezar a montar Nodebots
El primer paso sería adquirir un kit de inicio de Arduino, que suele contener varios componentes para robótica. Hay algunos paquetes interesantes dentro del mercado, de la propia compañía de las placas azules u otras empresas:
– Genuino and Arduino Starter Kit. Este paquete tiene varios componentes importantes para distintos tipos de proyectos: USB, batería de 9V, potenciómetro, pulsadores, sensores de temperatura e inclinación, varias luces LED de colores (blanco, rojo, verde, amarillo y azul), diodos, un motor y un servomotor, fotoresistencias, condensadores, optoaclopador, resistencias de distintos ohmios…
– SparkFun Investor’s Kit. Este pequeño equipo es parecido al de Arduino en sus componentes. Tiene pulsadores, luces LED de varios colores, un motor y un servomotor, diodos, potenciómetro, sensores de temperatura y luz, resistencias, cables USB… Es un kit atractivo para hacer muchos proyectos de hardware.
Cómo pasar del kit al Internet de las Cosas con Node.js
Estos son los pasos necesarios para empezar a montar Nodebots:
– Instalar Node.js. El procedimiento de instalación depende del tipo de sistema operativo de cada máquina (Windows, Mac OSX, Linux, Ubuntu… ). Al entrar en la página oficial de Node.js, esta reconoce de forma automática el tipo de OS del equipo y facilita la instalación. En el caso de Windows, nos descargamos el archivo .msi y lo ejecutamos.
– Descargar el Entorno de Desarrollo Integrado Arduino. La versión actual es la 1.6.5., disponible para los sistemas operativos Windows, Mac OSX y Linux. Es un marco escrito en Java y basado en Processing.
– Conectar el microcontrolador compatible con Arduino con el USB.
– Lanzar el IDE Arduino y abrir el protocolo Firmata a través de la siguiente ruta del menú: File > Examples > Firmata > StandardFirmata.
– Seleccionar el tipo de placa Arduino en la ruta Tools > Board.
– Elegir puerto para la placa en Tools > Serial Port > (puerto Arduino).
– Subir el protocolo Firmata a Arduino en File > Upload.
– En este proceso queda instalado el marco de desarrollo Johnny-Five. Cualquier código puede correr dentro del directorio node-ardx.
– Ahora se puede desarrollar la aplicación web para controlar los movimientos del nodebot hecho con Arduino, Node.js y Johnny-Five.
– El código en JavaScript por el lado del servidor, hecho con Node.js y Express.js (marco de desarrollo específico para Node.js) sería algo así:
var express = require('express'); var app = express(); var io = require('socket.io')(app.listen(8081)); var five = require('johnny-five'); app.use(express.static(__dirname + '/app')); app.get('/', function (res) { res.sendfile('/index.html'); }); var board = new five.Board({ repl:false });
La página para desarrolladores Sitepoint tiene una guía paso a paso con el código necesario para montar un bot a motor controlado desde una app web.
En la actualidad, el desarrollo de nodebots es un auténtico fenómeno internacional. La comunidad celebra encuentros por todo el mundo y tiene incluso una fecha para la celebración del Día Internacional de Nodebots, el 25 de julio. Se puede seguir cualquier novedad a través del perfil @nodbotsday en Twitter, su perfil en GitHub o a través del equipo de Nodebots. ¡Experimenta!
Recientemente, el poder legislativo en México aprobó la extinción de siete órganos autónomos que desempeñaban funciones clave en sectores tecnificados, como protección de datos personales y competencia económica. Entre las instituciones extintas se encuentran: Instituto Nacional de Transparencia, Acceso a la Información y Protección de Datos Personales (INAI) Comisión Federal de Competencia Económica (COFECE) Instituto […]
En el dinámico mundo de los pagos, ha surgido una nueva estrella en los últimos años: el Buy Now Pay Later (BNPL) es decir, la financiación a corto plazo que permite comprar ahora y pagar después. Este modelo permite a las empresas adquirir bienes o servicios y pagar por ellos en cuotas, a menudo sin […]
BBVA y Vecttor, la filial de Cabify dedicada a la gestión de vehículos con conductor, han concretado una alianza que ahorra tiempo y aporta seguridad a la compañía y sus conductores. La colaboración permite a los conductores depositar los cobros en efectivo en cualquiera de los cajeros de BBVA, y a Vecttor conciliar automáticamente estos […]
Por favor, si no lo encuentras, recuerda revisar la sección de correo no deseado
×
El correo electrónico con tu ebook está en camino
Te hemos enviado dos mensajes. Uno con el ebook solicitado y otro para confirmar tu correo electrónico y empezar a recibir la newsletter de BBVA API_Market
×
TRATAMIENTO DE DATOS PERSONALES
¿Quién es el Responsable del tratamiento de tus datos personales?
Banco Bilbao Vizcaya Argentaria, S.A. (“BBVA”), con domicilio social en Plaza de San Nicolás 4, 48005, Bilbao, España, C.I.F. A-48265169 Dirección de correo electrónico: contact.bbvaapimarket@bbva.com
¿Para qué y por qué utilizamos tus datos personales?
Para aquellas de las siguientes actividades para la que nos prestes tu consentimiento marcando la casilla correspondiente:
para la ejecución y gestión de tu solicitud, en concreto, recibir la newsletter de BBVA API_Market por medios electrónicos;
para enviarte comunicaciones comerciales, eventos y encuestas relativas a BBVA API_Market a la dirección de correo electrónico que nos hayas facilitado.
¿Durante cuánto tiempo conservaremos tus datos?
Conservaremos tus datos hasta que te des de baja para dejar de recibir nuestra newsletter o, en su caso, las comunicaciones comerciales, eventos y encuestas a las que te hayas suscrito. Tanto si te das de baja como si BBVA decide finalizar el servicio, tus datos serán eliminados.
¿Cómo puedo darme de baja para dejar de recibir la newsletter y/o comunicaciones de BBVA API_Market?
Puedes darte de baja en cualquier momento y sin necesidad de indicarnos ninguna justificación, remitiendo un correo electrónico a la siguiente dirección: contact.bbvaapimarket@bbva.com
¿A quién comunicaremos tus datos?
No cederemos tus datos personales a terceros, salvo que estemos obligados por una ley o que tú lo consientas previamente.
¿Cuáles son tus derechos cuando nos facilitas tus datos?
Consultar los datos personales que se incluyan en los ficheros de BBVA (derecho de acceso)
Solicitar la modificación de tus datos personales (derecho de rectificación)
Solicitar que no se traten tus datos personales (derecho de oposición)
Solicitar la supresión de tus datos personales (derecho de supresión)
Limitar el tratamiento de tus datos personales en los supuestos permitidos (limitación del tratamiento)
Recibir así como a transmitir a otra entidad, en formato electrónico, los datos personales que nos hayas facilitado y aquellos que se han obtenido de tu relación con BBVA (derecho de portabilidad)
Te responsabilizas de la veracidad de los datos personales que facilitas a BBVA y de mantenerlos debidamente actualizados.
Si consideras que no hemos tratado tus datos personales de acuerdo con la normativa, puedes contactar con el Delegado de Protección de Datos en la dirección dpogrupobbva@bbva.com
Puedes encontrar más información en el documento “Política de Protección de Datos Personales” de esta página web.
×
TRATAMIENTO DE DATOS PERSONALES
¿Quién es el Responsable del tratamiento de tus datos personales?
Banco Bilbao Vizcaya Argentaria, S.A. (“BBVA”), con domicilio social en Plaza de San Nicolás 4, 48005, Bilbao, España, C.I.F. A-48265169 Dirección de correo electrónico:contact.bbvaapimarket@bbva.com
¿Para qué y por qué utilizamos tus datos personales?
Para la ejecución y gestión de tu solicitud, en concreto, descargar el e-book/s solicitado.
BBVA informa te informa de que, salvo que indiques tu oposición enviando un correo a la siguiente dirección:contact.bbvaapimarket@bbva.com, BBVA podrá enviarte comunicaciones comerciales, encuestas y eventos relativas a productos y/o servicios de BBVA API Market a través de medios electrónicos.
¿Durante cuánto tiempo conservaremos tus datos?
Conservaremos tus datos mientras sea necesario para la gestión de la solicitud, así como para el envío de comunicaciones comerciales, eventos y/o, encuestas. BBVAconservará tus datos hasta que te des de baja para dejar de recibir dichas comunicaciones o, en su caso, hasta que finalice el servicio.Después, destruiremos tus datos.
¿Cómo puedo darme de baja para dejar de recibir newsletters y/o comunicaciones de BBVA API Market?
Puedes darte de baja en cualquier momento y sin necesidad de indicarnos ninguna justificación, remitiendo un correo electrónico a la siguiente dirección:contact.bbvaapimarket@bbva.com
¿A quién comunicaremos tus datos?
No cederemos tus datos personales a terceros, salvo que estemos obligados por una ley o que tú lo consientas previamente.
¿Cuáles son tus derechos cuando nos facilitas tus datos?
Consultar los datos personales que se incluyan en los ficheros de BBVA (derecho de acceso)
Solicitar la modificación de tus datos personales (derecho de rectificación)
Solicitar que no se traten tus datos personales (derecho de oposición)
Solicitar la supresión de tus datos personales (derecho de supresión)
Limitar el tratamiento de tus datos personales en los supuestos permitidos (limitación del tratamiento)
Recibir así como a transmitir a otra entidad, en formato electrónico, los datos personales que nos hayas facilitado y aquellos que se han obtenido de tu relación con BBVA (derecho de portabilidad)
Puedes ejercitar ante BBVA los citados derechos a través de la siguiente dirección:contact.bbvaapimarket@bbva.com
Te responsabilizas de la veracidad de los datos personales que facilitas a BBVA y de mantenerlos debidamente actualizados.
Si consideras que no hemos tratado tus datos personales de acuerdo con la normativa, puedes contactar con el Delegado de Protección de Datos de BBVA en la dirección dpogrupobbva@bbva.com
Puedes encontrar más información en el documento “Política de Protección de Datos Personales ” de esta página web.
Banco Bilbao Vizcaya Argentaria, S.A. titular de este portal utiliza cookies y/o tecnologías similares propias y de terceros para fines técnicos, de personalización, analíticos, de publicidad comportamental o publicidad relacionada con tus preferencias sobre la base de un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas). Si deseas obtener información más detallada, consulta nuestra Política de Cookies.
Panel de configuración de cookies
Este es el configurador avanzado de cookies propias y de terceros. Aquí puedes modificar parámetros que afectarán directamente a tu experiencia de navegación en esta web.
Cookies técnicas (necesarias)
Estas cookies son importantes para darte acceso seguro a zonas con información personal o para reconocerte cuando inicias sesión.
Denominación
Titular
Duración
Finalidad
gobp.lang
BBVA
1 mes
Preferencia de idioma
aceptarCookies
BBVA
1 año
Configuración Cookies aceptadas
_abck
BBVA
1 año
Ayuda a protegerse contra los ataques de sitios web maliciosos
bm_sz
BBVA
4 horas
Ayuda a protegerse contra los ataques de sitios web maliciosos
ADRUM_BTs
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
xt_0d95e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
wpml_browser_redirect_test
WPML
Sesión
Traducción de textos del portal
wp-wpml_current_language
WPML
24 horas
Traducción de textos del portal
Permiten medir, de forma anónima, el número de visitas o la actividad. Gracias a ellas podemos mejorar constantemente tu experiencia de navegación.
Dispones de una mejora continua en la experiencia de navegación.
Con tu selección no podemos ofrecerte una mejora continua en la experiencia de navegación.
Denominación
Titular
Duración
Finalidad
AMCV_***
Adobe Analytics
Sesión
ID de visitante único que se usan en las soluciones de Marketing Cloud
AMCVS_***
Adobe Analytics
2 años
ID de visitante único que se usan en las soluciones de Marketing Cloud
demdex (safari)
Adobe Analytics
180 días
Crear y almacenar identificadores únicos y persistentes
sessionID
Adobe Analytics
Sesión
Cookie interna de Launch usada para identificar al usuario
gpv_URL
Adobe Analytics
Sesión
plugin Adobe Analytics: getPreviousValue Capturar el valor de una determinada variable en la siguiente vista de página, en este caso la prop1
gpv_level1
Adobe Analytics
Sesión
Cookie utilizada para almacenar el levl1 del DataLayer de la página anterior.
gpv_pageIntent
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pageIntent de la página anterior.
gpv_pageName
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pagename de la página anterior.
aocs
Adobe Analytics
Sesión
Cookie que almacena los primeros valores recogidos al inicio de un proceso.
TTC
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento App Page Visit y App Completed.
TTCL
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento LogIn y App Completed.
s_cc
Adobe Analytics
Sesión
Determinar si las cookies están activas
s_hc
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_ht
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_nr
Adobe Analytics
2 años
Determinar el número de visitas de usuario
s_ppv
Adobe Analytics
Persistente
plugin Adobe Analytics: getPercentPageViewed Determinar el procentaje de página que visualiza un usuario
s_sq
Adobe Analytics
Sesión
Funcionalidades ClickMap/ActivityMap
s_tp
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_visit
Adobe Analytics
2 años
Cookie usada por Adobe para saber cunado una sesión se ha iniciado.
Permiten que la publicidad que te mostramos sea personalizada y relevante para ti. Gracias a estas cookies no verás anuncios que no te interesen.
Dispones de una publicidad adaptada a ti y a tus preferencias.
Con tu selección pierdes la personalización de la publicidad, solo verás anuncios genéricos.
Denominación
Titular
Duración
Finalidad
OT2
VersaTag
90 días
Cookie de VersaTag usada para almacenar un id de usuario y el numero de visitas del usuario.
u2
VersaTag
90 días
Cookie de VersaTag en la que se almacena el ID del usuario
TargetingInfo 2
MediaMind
1 año
Cookie que sirve para asignar un número unico random que genera MediaMind.
Estas cookies están relacionadas con características generales como, por ejemplo, el navegador que utilizas.
Dispones de una experiencia y contenidos personalizados.
Con tu selección no podemos ofrecerte una navegación y contenidos personalizados.
Denominación
Titular
Duración
Finalidad
mbox
Adobe Target
9 días
Cookie usada por Adobe Target para hacer test de personalizacion de experencia del usuario.
×
Parece que estás navegando desde México, así que vamos a mostrarte el contenido personalizado para tu localización. Cambiar
Parece que estás navegando desde España, así que vamos a mostrarte el contenido personalizado para tu localización. Cambiar
Selecciona el país
Para poder acceder al área privada y sandbox correspondiente, selecciona el país de las APIs que quieres utilizar.
×
×
×
Preferencias de Navegación
Elige el país del que quieres que te mostremos su contenido por defecto.