JavaScript and the Internet of Things


Riding on the widespread popularity of JavaScript (particularly event-driven Node.js) in combination with low cost prototyping hardware, a new set of projects have emerged letting client side web developers use their skills to start controlling elements in the physical world.

Below we look at a few of the projects driving this trend.

Tools // Hardware  // Presentation & Articles 

 

Tools:


thingsystem

The Thing System


Description:
"The Thing System is a set of software components and network protocols that aims to fix the Internet of Things. Our steward software is written in node.js making it both portable and easily extensible. It can run on your laptop, or fit onto a small single board computer like the Raspberry Pi."

Created By:
Alasdair Allan & Marshall T. Rose

Google+ Community // Github  // Blog

 
Additional:
 
node-red

Node-RED


Description:
"A visual tool for wiring the Internet of Things"

Created By:
Node-RED is a creation of the IBM Emerging Technology Services team. Nick O'Leary & Dave Conway-Jones 
Via: @LawrenceGrif  

Twitter // Github

 
Additional:
 
noduino

noduino


Description:
"A simple and flexible JavaScript and Node.js Framework for accessing basic Arduino controls from Web Applications using HTML5, Socket.IO and Node.js."

Created By:
Sebastian Müller

 
Additional:
 
devicejs

DeviceJS


Description:
"DeviceJS is a JavaScript based development platform for reacting to sensors and controlling devices. It’s built on top of Google’s V8 JavaScript engine, Node.js and a real-time JSON database. A DeviceJS application can run on a single device, or across many devices in different locations."

Created By:
WigWag

Twitter

 
Additional:
  • Not yet available
 


Additional Projects: 

Socket.IO
"Aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It's care-free realtime 100% in JavaScript.

johnny-five
"Firmata based Arduino Framework"

Nodebots
"NodeBots are robots that are controlled by node.js."

node-serialport
"Node.js package to access serial ports for reading and writing'

duino
"Arduino framework for node.js"

EventedArduino
"Evented Arduino and Node.js"

heimcontrol.js
"Awesome home automation with Raspberry PI and Arduino using Node.js, MongoDB, HTML5 and Websockets"

Resin
"Javascript onyour devices,as simple as'git push'"

Pijs.io
"Pijs.io is a cloud-platform to write embedded applications for your Raspberry Pi, in JavaScript'

Hardware:


tessel

Tessel


Description:
"Tessel: hardware that speaks the language of the web.

Use your web development skills to make hardware devices with Tessel.

Tessel is an open-source microcontroller that is programmable in JavaScript and compatible with Node.js."


Price: $99

 
Additional
  • Tessel supports packages from npm 
  • Additional modules will include: BLuetooth, RFID, GPS, Temp & Humidity
  • iOS and Android app
  • 180mhz ARM Cortex-M3 LPC1830
  • 32mb SDRAM
  • 32mb Flash
  • TI CC3000 Wifi Radio
  • 16-pin GPIO bank for prototyping
  • Open source code, open source hardware
  • - Github page
 
espruino

Espruino


Description:
"What makes Espruino unique? You just plug the Espruino Board into your computer, open a Terminal application and start programming immediately without having to install special software on your PC or Mac. 

Espruino uses Arduino-style commands to access the underlying hardware, while JavaScript supports Strings, Maps, Objects, and Dynamic Arrays. All on devices with as little as 8kb of RAM!"


Price: £19

 
Additional
  • Pads to allow HC-05 Bluetooth modules to be added
  • TM32 32-bit 72MHz ARM Cortex M3 CPU
  • 256KB of Flash memory, 48KB of RAM
  • 44 GPIO Pins
  • WiFi Support with the TI CC3000
  • Open source code, open source hardware
  • - Code Examples
 


See Also: Internet of Things prototyping hardware, Arduino Wireless, Raspberry Pi Wireless

Presentations & Resources:


Overview
Projects:
Arduino Focused
General:
  • Website: The Floppy Disk: Javascript is the new C" - Robert Drummond
  • Event: NodePDX 2013 "Portland's home grown hardware hacking, code slinging conference around Node.js and JavaScript."