2015 was a significant year for the Internet of Things. We saw tremendous progress in the size and capabilities of devices, big players such as Microsoft and Samsung are literally moving into space and the entire IoT community begins to grow even more. Over the past two years here at SitePoint, it has become something of a tradition for me to review the year in terms of IoT and JavaScript (see
JavaScript goes beyond the Web and
JavaScript goes beyond the Web in 2014 ). Although the initial popularity and excitement around JavaScript, as a language for IoT, seems to have subsided a bit in 2015, JavaScript still continues to be positioned as a fairly powerful way to use magic on more IoT platforms than people imagine.
In this review, we will look at some significant advances in IoT that uncover new opportunities for JavaScript developers and the future potential of JavaScript beyond the Web.
Tessel 2
Tessel 2 (photo courtesy of Tessel)Tessel is a microcontroller (similar to the Arduino) that performs JavaScript, rather than typical languages such as C. It was an excellent device to help JavaScript fans immerse themselves in the world of the Internet of things. Last year, he came out into the world and people did
wonderful things on its basis. Tessel 2 was released on pre-orders in 2015 and has some remarkable improvements over the previous generation Tessel.
')
Tessel could run various npm packages, but Node.js could not execute itself, so Tessel often had to specifically build compatibility for frequently used packages. Tessel 2 has succeeded significantly in this regard - right out of the box, real Node.js is launched on it. For this reason alone, I pre-ordered it. Access to npm modules gives this microcontroller a lot of potential.
It also has USB ports, through which you can access USB devices (for example, webcams), along with ready-made Tessel modules and a GPIO port (for connecting different types of electronics to pins via jumper wires).
Apply JavaScript skills
- pre-order Tessel 2 - pre-order Tessel 2 on their website and start planning your designs! Tessel 2 should appear in January 2016.
- Official documentation of Tessel - you can already start reading about developments on Tessel (development on Tessel 1 should be very similar to development on Tessel 2).
Open hybrid
Open Hybrid in action (photo provided by Open Hybrid)Augmented reality is an exciting alternative way to control the Internet of things around us. Instead of physically controlling objects, you can output them through an augmented reality interface, such as a smartphone application, and control them in intuitive and unlimited ways! Many companies were looking for ways to implement this, but in 2015, MIT Media Labs opened to the public (and made open-source) a rather impressive method called the Open Hybrid. JavaScript IoT developers may be particularly interested in this solution, since it allows you to develop applications through web technologies, including HTML and JavaScript. And although augmented reality is still experiencing the early days, today is the time to start tinkering for IoT, using its potential.
Apply JavaScript skills
Samsung IoT.js and JerryScript
IoT.js and JerryScript pagesSamsung has many resources that contribute to the development of JavaScript, as a language for the Internet of things. In 2015, they opened the source code for
Jerry Script , a JavaScript engine for the Internet of Things. It allows you to run JavaScript on small, resource-limited devices, such as microcontrollers, commonly used in IoT. As for me, this is similar to what Tessel tried to put together in the first version of its devices, but in large, open for a much larger number of small IoT devices, scales.
IoT.js is another Samsung effort to introduce JavaScript into the
IoT ecosystem. The source code of this was discovered at about the same time as JerryScript. IoT.js is a framework for creating an interoperable platform for devices using JavaScript. It is described as a lightweight version of Node.js, however, I have already tested it myself in order to make sure how accurate this description is.
Both JerryScript and IoT.js are in the early stages of their development, so it will be very exciting to watch their development during 2016. I really hope that at a certain stage there will be integration with the Samsung SmartThings platform, but for the time being I have not heard of any mention.
Apply JavaScript skills
Spark becomes Particle
Particle Electron (photo courtesy of Particle)In 2015, Spark reincarnated in Particle. Spark released Wi-Fi-enabled microcontrollers along with the provision of its own cloud service, which made it possible to improve the development of devices for IoT. As for JavaScript itself, they had a JavaScript SDK and many other compatible third-party JavaScript plugins. After they changed their name in 2015, the number of devices manufactured by Particle increased.
They started to deliver a faster and more reliable microcontroller, called Photon, to the market and sent a Kickstarter microcontroller, called Electron, with built-in 2G / 3G support (no need for a Wi-Fi connection, so that the device was online)! Electron is now available for pre-order, the expected start time for deliveries is January 2016.
Ultimately, these developments in their device coverage continue to support the JavaScript API, so JavaScript developers have a whole range of new features this year and the next! The developer community around Particle is also impressively large.
Apply JavaScript skills
Microsoft Windows 10 IoT Core
Starter Pack for Windows 10 IoT Core with Raspberry Pi (photo provided by Microsoft and Adafruit)Microsoft released Windows 10 in 2015, providing one universal platform for multiple devices, including IoT. They took care of JavaScript developers and provided access to Node.js within their Windows 10 IoT ecosystem through the JS
Chakra engine. At the moment, the most important device I've seen using Windows IoT is Raspberry Pi 2. MinnowBoard Max and MinnowBoard Max are also supported. Over time, we are likely to see support for a larger number of devices, since the ecosystem is growing. One important difference that should be taken into account regarding Windows 10 IoT Core is that it is not Windows 10 with the full range of features. This is the OS for IoT, in which only critical components are left.
Apply JavaScript skills
Evothings
Evothings Studio running on Mac OSX and mobile deviceEvothings is a mobile IoT web application development toolkit that has grown significantly and expanded its capabilities in 2015! I came across them in the second half of the year and was very impressed with what they offer. They connected an application called Evothings Studio, which allows you to develop mobile HTML5 and JavaScript applications, with the capabilities of live reload and debugging. This was especially the case when I
explored the Estimote Bluetooth beacons , as mobile simulators were not able to simulate Bluetooth connectivity with beacons. Running Evothings on my mobile device and testing with this software has made this process incredibly easy.
For JavaScript developers, this platform will also be exciting, because the Evothings team has a
package of training materials , which shows how to breathe life into a fairly large number of IoT devices using JavaScript.
(
As a retreat, I am now working with the Evothings team on several potential projects, so I was amazed at the results of their work! )
Apply JavaScript skills
IFTTT Maker Channel
IFTTT Maker ChannelIn 2015, IFTTT released a channel that provides the functionality that the IoT community dreamed of — the ability to execute and receive an arbitrary HTTP request within IFTTT. This opened a service, the essence of which is that absolutely any user prototype that either makes or receives requests can work with IFTTT and its many services!
This works great for Node.js developers, because HTTP requests can easily be sent / received to Node.js. Virtually any IoT prototype that you connect to Node.js can be sent to IFTTT!
Apply JavaScript skills
Johnny-Five reconstructed!
new website Johnny-FiveJohnny-Five is a JavaScript programming framework most commonly used for development for Arduino NodeBot. The site has undergone a full audit and has acquired a number of new documentation. They have significantly increased the list of supported devices, and they have links to assist developers when they start working with Johnny-Five and those platforms.
Apply JavaScript skills
Raspberry pi zero
Raspberry Pi Zero (photo courtesy of the Raspberry Pi Foundation)Finally, a very recent development that provides exciting opportunities for JavaScript developers (as well as developers in many other languages!) - Raspberry Pi Zero. Half the size of the A + Pi model, but can still work at incredible speed and processing power. Since Raspberry Pi devices most often work on Linux, launching a Node server based on them will not be difficult. Raspberry Pi Zero is in fact an even smaller device with support for JavaScript, which, I am sure, will be the basis for some quite impressive engineering creations in the coming months.
Apply JavaScript skills
- Raspberry Pi Zero product page - the official Raspberry Pi Zero product page, where you can find specifications and purchase links!
- streaming a Raspberry Pi camera to VR using JavaScript — a guide I added about how to turn a Raspberry Pi and its camera into a streaming VR camera for Google Cardboard devices. I don't have a Raspberry Pi Zero yet, but judging by what I've already seen, this demo will most likely start on a new, smaller device!
- book about robotics on JavaScript - a book about robotics on JavaScript from Johnny-Five, mentioned earlier, contains several Raspberry Pi demos
Conclusion
In 2015, an incredible amount of improvements for JavaScript developers took place among IoT devices: both directly, in devices that are truly focused on JavaScript, such as Tessel, and indirectly in Raspberry Pi Zero. JavaScript developers, stepping into 2016, have many opportunities. If you are a JavaScript developer and have not yet begun to reflect on how to transfer your skills to the ecosystem of the Internet of things, then pay attention to the above-mentioned technologies and to my previous articles from the cycle -
2013 and
2014 . JavaScript developers are given much more talents than they realize!