JavaScript and the Internet of Things

Find and compare Javascript IoT projects and hardware. Nodejs on your Pi, Arduino or custom Bluetooth or Wifi board.

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.

The following Channel Guide will:

  • Provide overview of currently available tools and frameworks.
  • Help narrow down the right project fit based on hardware boards and spec comparison.
  • List out tutorials and featured projects to help get you started.

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:
Projects:
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:

CHIRIMEN - A Mozilla community Project
"CHIRIMEN is designed for Web developers to make real things connected to the Web only with Browser technologies like HTML, CSS and JavaScript."

NodeMCU
An open-source firmware and development kit that helps you to prototype your IOT product within a few Lua script lines

Mosca
Mosca is a node.js mqtt broker, which can be used: Standalone or Embedded in another Node.js application

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.