The Internet Of Things

The Internet of Things is a term generally used to refer to a world where a large number physical objects are addressable via the Internet (or similar network). Examples of physical objects in this case could include things such as:

  • Smart buildings
  • Civil engineering structures (bridges, etc)
  • Home appliances,
  • Factories
  • Medical devices

Connecting the world's objects in an interoperable standards based way promises to revolutionise such diverse areas such as government, factory automation and farming.

mbed Internet of Things : HTML5 Websockets

mbed is all about prototyping these sorts of things to build working proof-of-concepts. This project shows how to build a system that can quickly deploy Internet of Things sensors using just a smartphone, and how real-time sensor data can be transmitted and visualised using HTML5 web standards.

This project uses the mbed Microcontroller to read sensors and send the real-time sensor data over an IP based network using HTML5 Websockets. Websockets are a new protocol in HTML version 5 which support easy real time data links from any source to any destination, including webpages. More information at Websockets.

This shows how data about real world objects can be accessed by letting microcontrollers connect to the internet using HTML5 web standards, and visualise it using standard clients such as phones or desktop browsers.

Sending the data

There's guides on creating an Internet of Things using different transports, including

Receiving the data

A sensor sending data over websockets needs a websocket server to connect to!

Mbed have provided a test server at

To create your own, see Websockets-Server

Seeing the results

Once your data has reached a server, you probably want to see it! Websocket-and-Mbed has some example code to help you there, or see the complete application example below.

Demonstration of complete Internet Of Things application

On the Internet-of-Things-Demonstration page, you can see details of a example complete system, including a dashboard for viewing all the sensors in real time.


Import libraryWebsocket

WebSocket client library


26 Aug 2011

"We used an mbed with an ARM Cortex-M0...." Can you give more info about this?

28 Aug 2011

Yes. Usually, the mbed processor is an ARM Cortex-M3 (the one with the blue board). However, we used an M0 which has much of the same functionality but draws much less current (especially when we are using Vb to only power half the board). This was as we were doing a demo which required the boards to be run off batteries. You could also see this link:

07 Oct 2011

Hi Nathan,

Thanks for such a great project and perfectly written code and explanation.

I am going to use the same with my house energy measurement.

On which UNIX environment have you installed it ?

And can you please guide me for datalogging at server side ?

Thank you, Vatsal

07 Oct 2011

Hi Vatsal,

The server using Tornado is installed on an Ubuntu machine. You can find more information on the server-side here. The server is receiving all data from boards and you can do what you want with these data (print them, draw a graph as in this example, ...).

First you can follow this tutorial to see if your hardware part is working.

Ask me more information if you have some problems

Thank you