JavaScript is cool. And that's no coincidence. The day has dawned in which a developer with extensive knowledge in this programming language can do everything: front-end and back-end projects, database and server management… and now also has an opportunity to be part of what is known as the Internet of Things. JavaScript is a jack of all trades.
There are currently numerous popularity lists that measure the performance of programming languages within the developer community: job opportunities, evolution of salary levels, number of projects on platforms like GitHub and StackOverFlow and much more. One of these lists is Trendyskills, which bases its rating on job offers. The graph shows the force of JavaScript, behind only Java.
Within the world of the Internet of Things, robotics is one of the sectors that has caused the greatest stir among programming and technology enthusiasts. The use of open code hardware like Arduino or Raspberry Pi combined with opensource technologies in javascript to manage servers like Node.js has opened up a new world in the field of robots. So much so that the combination of Arduino and Node.js has spawned a type of bots known as NodeBots. This is robotics controlled with JavaScript.
The first NodeBots explorers
There are several names on the list of original explorers in the early days of NodeBots. The first two developers to reveal the possibilities of JavaScript for controlling robots were Nikolai Onken and Jörn Zaefferer during a talk at the JSConfEU in 2010. There is documentary record of that event on YouTube. This audiovisual gem shows how to use this programming language to control objects.
Their talk was so groundbreaking because it confirmed the role of JavaScript that had been signaled by other developers specializing in robotics: it is arguably the syntax that requires the least effort and lines of code to make the so-called Internet of Things a reality. The premise of their talk was that the world of connected objects is based on two single lines of code:
The other name is Chris Williams, who that day in 2010 was among the audience at JSConf and heard the talk by Onken and Zaefferer. As Williams himself wrote in July 2012, his colleagues' words rekindled a sensation that had been niggling him for some time: the vast possibilities of JavaScript as a simple syntax for connecting objects. He was the creator of the most widely used javascript package for developing NodeBots, Node-SerialPort, which enables users to interact with a microcontroller through Node.js.
Julian Gautier and Rick Waldrom are next in this timeline of the first steps in the field of robotics with JavaScript.
Waldrom was the one to take the Firmata protocol and transform it into a robotics development framework in JavaScript and the Internet of Things called Johnny-Five. It is this framework that has allowed many robot programmers to endow their NodeBots with all the functionalities they enjoy today: movement, control of lights and sound and much more, using a microcontroller platform like Arduino or others and Node.js.
How to begin to set up NodeBots
The first step is to acquire an Arduino starter kit, which usually contains several components for robotics. There are some interesting packages on the market, from the company of the blue boards and from others:
– Genuino and Arduino Starter Kit. This package has several important components for different types of projects: USB, 9V battery, potentiometer, buttons, temperature and tilt sensors, several colored LED lights (white, red, green, yellow and blue), diodes, a motor and a servomotor, photoresistances, condensers, opto-isolator, resistances with different ohms and more.
– SparkFun Investor’s Kit. This small piece of equipment is similar to Arduino's in its components. It has buttons, several colored LED lights, a motor and a servomotor, diodes, potentiometer, temperature and light sensors, resistances and USB cables and more This is an attractive kit for a number of hardware projects.
How to go from the kit to the Internet of Things with Node.js
These are the steps you need to begin to set up NodeBots:
Instal Node.js. The installation procedure depends on the type of operating system in each machine (Windows, Mac OSX, Linux, Ubuntu… ). When you log on to the official page of Node.js, it automatically recognizes the type of OS you have and starts the installation. In the case of Windows, you download and run the .msi file.
– Download the Arduino integrated developer environment. The current version is 1.6.5., available for the Windows, Mac OSX and Linux operating systems. It's a framework written in Java and based on Processing.
– Connect the Arduino-compatible microcontroller with the USB.
– Launch the Arduino IDE and open the Firmata protocol through the following menu route: File > Examples > Firmata > StandardFirmata.
– Select the type of Arduino board on the route Tools > Board.
– Choose a port for the board in Tools > Serial Port > (Arduino port).
– Upload the Firmata protocol to Arduino in File > Upload.
– This process also installs the development framework Johnny-Five. Any code can run within the node-ardx directory.
– Now you can develop the web application to control the movements of the NodeBot made with Arduino, Node.js and Johnny-Five.
– The server-side JavaScript code, made with Node.js and Express.js (specific developer framework for Node.js) would be something like this:
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 });
The developer page Sitepoint has a step-by-step guide with the code necessary to set up a motor-bot controlled from a web app.
NodeBot development is currently a genuine international craze. The community holds meetings all over the world and even has a date to celebrate International NodeBots Day on 25 July. You can follow all the new developments through the profile @nodbotsday on Twitter, their profile at GitHub or through the NodeBots team. Experiment!
The cash flow and payment management departments must consider the way in which payments to suppliers are made, because each type of payment has its own advantages or is better suited to the company’s strategy, the relationship with the supplier, or the respective needs of both. Far from being a trivial matter, choosing the payment […]
Businesses, from self-employed to SMEs and large companies, need financing solutions that suit their needs. Leasing is a method that can optimize the use of resources and which combines business liquidity (or lack of) with the use of assets. What is leasing and how does it work? Leasing is a financing method by which a […]
An API is a very useful mechanism that connects two pieces of software equipment to exchange messages or data in a standard format such as XML or JSON. Thus, it becomes an instrument that can be used to search for revenue, open the doors to talent or innovate and automate processes.
Please, if you can't find it, check your spam folder
×
The email message with your ebook is on the way
We have sent you two messages. One with the requested ebook and one to confirm your email address and start receiving the newsletter and/or other commercial communications from BBVA API_Market
×
PROCESSING OF PERSONAL DATA
Who is the Data Controller of your personal data?
Banco Bilbao Vizcaya Argentaria, S.A. (“BBVA“) with registered address at Plaza de San Nicolás 4, 48005, Bilbao, España and Tax ID number A-48265169 . Email address: contact.bbvaapimarket@bbva.com
What for and why does BBVA use your personal data for?
For those activities among the following for which you give your consent by checking the corresponding box:
to receive newsletter from BBVA API_Market through electronic means;
to send you commercial communications, events and surveys relating to BBVA API_Market to the e-mail address you have provided.
For how long we will keep your data?
We will keep your data until you unsubscribe from receiving our newsletter or, if applicable, the commercial communications, events and surveys to which you have subscribed. Whether you unsubscribe or whether BBVA decides to end the service, your details will be deleted.
How can I unsubscribe to stop receiving newsletters and/or communications from BBVA API_Market?
You can unsubscribe at any time and without need to indicate any justification, by sending an email to the following address: contact.bbvaapimarket@bbva.com
To whom will we communicate your data?
We will not transfer your personal data to third parties, unless it is mandatory by a law or if you have previously agreed to do so.
What are your rights when you provide us with your information?
You will be able to consult your personal data included in BBVA files (access right)
You can modify your personal data when they are inaccurate (correction right)
You may request that your personal data not be processed (opposition right)
You may request your personal data be deleted (suppression right)
You can request a limitation on the processing of your data in the allowed cases (right of limitation of processing)
You will be able to receive, in electronic format, the personal data you have provided to us, as well as to transmit them to another entity (portability right)
You are responsible for the accuracy of the personal data you provide to BBVA and to keep them duly updated. If you believe that we have not processed your personal data in accordance with regulations, you can contact the Data Protection Officer of BBVA at the following address dpogrupobbva@bbva.com.
You can find more information in the “Personal Data Protection Policy” document on this website.
×
PROCESSING OF PERSONAL DATA
Who is the Data Controller of your personal data? Banco Bilbao Vizcaya Argentaria, S.A (“BBVA“), with registered address at Plaza de San Nicolás 4, 48005, Bilbao, España, and Tax ID No. A-48265169. Email address:contact.bbvaapimarket@bbva.com
What for and why does BBVA use your personal data for?
For the execution and management of your request, specifically, download the requested e-book/s.
BBVA informs you that, unless you indicate your opposition by sending an email to the following address: contact.bbvaapimarket@bbva.com, BBVA may send you commercial communications, surveys and events related to products and/or services of BBVA API Market through electronic means.
For how long we will keep your data?
We will keep your data as long as necessary for the management of your request, and to receive commercial communications, events and surveys. BBVA will keep your data until you unsubscribe to stop receiving our newsletters or, where appropriate, until the end of the service. Afterwards, we will destroy your data.
How can I unsubscribe to stop receiving newsletters and/or communications from BBVA API Market?
You can unsubscribe at any time and without need to indicate any justification, by sending an email to the following address: contact.bbvaapimarket@bbva.com
To whom will we communicate your data?
We will not transfer your personal data to third parties, unless it is mandatory by a law or if you have previously agreed to do so.
What are your rights when you provide us with your information?
You will be able to consult your personal data included in BBVA files (access right)
You can modify your personal data when they are inaccurate (correction right)
You may request that your personal data not be processed (opposition right)
You may request your personal data be deleted (suppression right)
You can request a limitation on the processing of your data in the allowed cases (right of limitation of processing)
You will be able to receive, in electronic format, the personal data you have provided to us, as well as to transmit them to another entity (portability right)
You can exercise before BBVA the aforementioned rights through the following address: contact.bbvaapimarket@bbva.com
You are responsible for the accuracy of the personal data you provide to BBVA and to keep them duly updated.
If you believe that we have not processed your personal data in accordance with the regulations, you can contact the Data Protection Officer at the following address: dpogrupobbva@bbva.com
You can find more information in the “Personal Data Protection Policy” document on this website.
Banco Bilbao Vizcaya Argentaria, S.A. owner of this portal uses cookies and/or similar technologies of its own and third parties for the purposes of personalization, analytics, behavioral advertising or advertising related to your preferences based on a profile prepared from your browsing habits (e.g. pages visited). If you wish to obtain more detailed information, consult our Cookies Policy.
Cookie settings panel
These are the advanced settings for first-party and third-party cookies. Here you can change the parameters that will affect your browsing experience on this website.
Technical Cookies (required)
These cookies are used to give you secure access to areas with personal information and to identify you when you log in.
Name
Owner
Duration
Description
gobp.lang
BBVA
1 month
Language preference
aceptarCookies
BBVA
1 year
Configuration Accepted Cookies
_abck
BBVA
1 year
Helps protect against malicious website attacks
bm_sz
BBVA
4 hours
Helps protect against malicious website attacks
ADRUM_BTs
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BT
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
xt_0d95e
Salesforce Marketing Cloud
Session
Remember user preferences (if any)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Session
Remember user preferences (if any)
wpml_browser_redirect_test
WPML
Session
Text translation in the portal
wp-wpml_current_language
WPML
24 hours
Text translation in the portal
They are used to track the activity or number of visits anonymously. Thanks to them we can constantly improve your browsing experience
Your browsing experience is constantly improving.
With your selection, we cannot offer you a continuously improved browsing experience.
Name
Owner
Duration
Description
AMCV_***
Adobe Analytics
Session
Unique Visitor IDs used in Cloud Marketing solutions
AMCVS_***
Adobe Analytics
2 years
Unique Visitor IDs used in Cloud Marketing solutions
demdex (safari)
Adobe Analytics
180 days
Create and store unique and persistent identifiers
sessionID
Adobe Analytics
Session
Launch's internal cookie used to identify the user
gpv_URL
Adobe Analytics
Session
Adobe Analytics plugin: getPreviousValue Capture the value of a certain variable in the following page view, in this case the prop1
gpv_level1
Adobe Analytics
Session
Cookie used to store the DataLayer levl1 of the previous page.
gpv_pageIntent
Adobe Analytics
Session
Cookie used to store the pageIntent of the previous page.
gpv_pageName
Adobe Analytics
Session
Cookie used to store the pagename of the previous page.
aocs
Adobe Analytics
Session
Cookie that stores the first values collected at the beginning of a process.
TTC
Adobe Analytics
Session
Cookie used to store the time between the App Page Visit event and the App Completed event.
TTCL
Adobe Analytics
Session
Cookie used to store the time between the LogIn event and App Completed.
s_cc
Adobe Analytics
Session
Determine if cookies are active
s_hc
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_ht
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_nr
Adobe Analytics
2 years
Determine the number of user visits
s_ppv
Adobe Analytics
Permanent
Adobe Analytics plugin: getPercentPageViewed Determine what percentage of the page a user views
s_sq
Adobe Analytics
Session
ClickMap/ActivityMap features
s_tp
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_visit
Adobe Analytics
2 years
Cookie used by Adobe to know when a session has been started.
They allow the advertising shown to you to be customized and relevant to you. Thanks to these cookies, you will not see ads that you are not interested in.
The advertising is customized to you and your preferences.
Your choice means you will not see customized ads, only generic ones.
Name
Owner
Duration
Description
OT2
VersaTag
90 days
VersaTag Cookie used to store a user id and the number of user visits.
u2
VersaTag
90 days
VersaTag Cookie where the user ID is stored
TargetingInfo 2
MediaMind
1 year
Cookie that serves to assign a unique random number that generates MediaMind.
These cookies are related to general features such as the browser you use.
Your experience and content have been customized.
With your selection, we cannot offer you a continuously improved browsing experience.
Name
Owner
Duration
Description
mbox
Adobe Target
9 days
Cookie used by Adobe Target to test user experience customization.
×
Looks like you’re browsing from Mexico, so let’s show you the custom content for your
location. Change
Looks like you’re browsing from Spain, so let’s show you the custom content for your
location. Change
Select a country
In order to access the private area and corresponding sandbox, select the country of the APIs you want to use.