Communications technologies for the Web of Things

From Web of Things Community Group

There are many different technologies for connecting devices, and the list keeps changing as new technologies are introduced. This makes it desirable to have an architecture that hides details that are best dealt with at a lower level. This page aims to collect pointers to communication technologies relevant to the Web of Things. Please help to expand it and to add references to appropriate external sources.

HTTP

The primary protocol for accessing resources over the Web. HTTP is popular for accessing Web of Things services, often in conjunction with JSON. HTTP can be used with transport layer security for encrypting the connection.

REST

Representational State Transfer (REST) is a way of designing applications using HTTP and based upon a limited set of client-server communication primitives: GET, POST, PUT, PATCH and DELETE. HTTP together with REST is commonly used for remote access to services, where data is transferred either as XML or as JSON.

For asynchronous APIs, it is necessary to provide a means for asynchronous notifications (e.g. events) to be passed back to the client. For cloud based applications, one solution is to implement an HTTP server that can be used to deliver events. The URL for the server is passed across with the HTTP request used for invoking the service. This approach won't work for devices behind firewalls that block incoming connections. This is also the case for web browsers and it is uncommon for browsers to also function as servers. A work around is to use Server Sent Events or WebSockets.

Server-Sent Events

This is an API for web applications to listen to a stream of events over HTTP. The browser connects to a URL passed in the API, and is able to work through firewalls that block incoming connections.

Web Sockets

This is a web technology that allows for asynchronous exchange of messages over a TCP/IP connection. The protocol is an IETF standard defined by RFC 6455. Web applications can access WebSockets via the WebSocket API standardized by the W3C. WebSockets can be used with a variety of data types for messages, e.g. byte arrays for binary data, strings for text, and JSON for structured data. JSON-RPC can be used for remote method invocation where the method call and return data are encoded as JSON messages. The asynchronous nature of WebSockets makes it useful for passing events. WebSockets can be used with transport layer security for encrypting the connection.

Cellular Networks

Wireless technology used for mobile phones and increasingly used for mobile access to the Internet. Data can be sent in band (e.g. GPRS), via the short message service (SMS) or via AT control signals. Maximum data rates can exceed fixed line broadband connections. LTE MTC (Machine Type Communications) and 5G standard will bring IOT capabilities to existing cellular networks by providing low-power and low-bandwidth connections to mobile devices.

  • Wikipedia article on 4G

WiFi

A local RF communication technology defined by IEEE 802.11 for use with wireless networks. WiFi (or WLAN) can be operated in a managed or an ad hoc mode, and has been extremely successful in enabling portable devices such as laptop computers, tablets and smart phones to connect to the Internet.

White Spaces

National and international authorities allocate different parts of the radio frequency spectrum for specific purposes. Guard bands are commonly allocated to avoid interference. For digital television transmissions, geographically neighboring regions avoid using the same channels to prevent interference. There is increasing interest in the potential for unlicensed use of the white spaces left by the gaps in the RF spectrum, provided that such use takes care to avoid interference with other users. The White Spaces Coalition formed by Google, Dell, EarthLink, Hewlett-Packard, Intel, Microsoft, and Philips was set up in 2007 to lobby the FCC to establish appropriate interference standards for the development of fixed and mobile devices that utilize gaps in the RF spectrum. Trials are now underway in the USA and the UK. The success of WiFi which uses unlicensed spectrum points to a huge potential for white spaces, especially given that the amount of spectrum available for white spaces is very much larger than that used for WiFi. This is likely to create disruptive competition to existing mobile networks for machine to machine communications (M2M).

Weightless

Weightless is a protocol for using white space spectrum for exchanging data between a base station and thousands of client devices. Base stations are directly connected to the Internet. Clients are allocated a schedule of times and frequencies to communicate with their base station. A database is used to avoid interference with local terrestrial TV broadcasts.

Weightless-N is a narrow band unidirectional channel for low bit rate sensor readings. Weightless-P is a little more complex and offers bidirectional channels, with claims of reliable, bi-directional 2km range in a cluttered urban environment.

ZigBee

Low power wireless communications technology optimized for devices requiring a very long battery life. ZigBee devices power up the RF circuitry at prearranged intervals to save power. ZigBee can be used for sensor networks where devices pass on messages as part of ad hoc mesh networks. ZigBee is layered on top of the IEEE 802.15.4 standard for the physical layer and media access control for personal area networks.

6LoWPAN

6LoWPAN is an acronym of IPv6 over Low power Wireless Personal Area Networks. It is layered on top of the IEEE 802.15.4 standard for the physical layer and media access control for personal area networks.

NFC

NFC or near field communications is a short range wireless communications technology where devices must be brought into close contact (within a few centimeters). NFC tags can be used as an alternative to bar codes, e.g. for smart posters where touching an NFC equipped smart phone to the tag launches the phone's browser to a specific web page. Some example uses include ticketing on public transport, electronic door locks, exchange of electronic business cards, and digital payments with contact-less debit or credit cards. NFC tags are powered by an electromagnetic field generated by NFC readers. Self powered NFC devices can also act in a peer to peer mode, e.g. when a smart phone is presented to a point of sales terminal.

Bluetooth

A short range wireless communications technology commonly used for hands free use of mobile phones in cars, and for wire free keyboard, computer mouse and printer devices.

Bluetooth Low Energy (BLE)

A lower power variant of Bluetooth, defined by Bluetooth 4.0, with profiles for healthcare, sports and fitness, and proximity sensing, with a range of up to 50 metres. The technology is optimized for short packets with small amounts of data. Devices can advertise themselves, and pass data in a peer to peer model. The data can be encrypted for greater security. It is appearing in smart phones and watches, running shoes, heart monitors and so forth. BLE is gaining popularity with its adoption in Apple's iPhone (under the name of iBeacon) and PayPal's Beacon.

PayPal describes how customers can be recognized and greeted by name as they enter a restaurant and given personalized offers. On check-out, they could pull out their phone, review the check/bill and confirm payment using the PayPal app. In stores BLE could be used together with other technologies, e.g. barcodes or NFC to recognize and add individual items to the virtual shopping basket on your phone and on the store's server.

With a BLE enabled phone, you can view which devices are present at your location. Devices can advertize a URL for the web app to pass their sensor data to. The phone and app act as a bridge between the low power BLE device and the cloud. Barcodes and NFC allow you to identify a specific thing by scanning the code or touching the tag. This is important when you want further information about a specific product. Likewise, you could identify yourself to a sales assistant by tapping your phone to a reader. It thus seems that BLE and NFC are complementary.

ANT

A proprietary sensor network technology operating in the 2.4 GHz band. It can be used to transfer small amounts of data across networks with hundreds of sensors.

Infrared

Widely used for remote control of TVs, air conditioners etc. Infrared was popular for PDAs and laptops in the late 90's and early 2000's, but lost ground to RF technologies such as WiFi and Bluetooth. Infrared is making a comeback for fast transmission of photos from phones to printers etc.

USB

The Universal Serial Bus (USB) is an industry standard defining cables, connectors and protocols. It is widely used for connecting devices to computers, e.g. keyboards, mouse pointers, hard drives for storage, game controllers, and also for connecting to printers, scanners, digital cameras, smart phones and tablets. USB is designed to power devices and is commonly used for charging device batteries, replacing the need for a separate cable. There are several kinds of USB connectors, e.g. standard, mini and micro connectors, with the latter being widely used for smart phones and tablets. Data rates have increased substantially over successive generations of USB standards, e.g. USB 3.0 supports a rate of 5 Gbits/s. There are standards for common types of device, e.g. keyboard, pointing devices and mass storage, but for other devices, a device specific driver is typically required.

Wireless USB (WUSB)

A standard for connecting devices using a wide band protocol in the 3.1 GHz to 10.6 GHz region. The range is 3 to 10m.

IEEE 1394 (Firewire)

A serial connection designed for high speed transfers, and similar in some ways to USB. IEEE 1394 has lost ground to USB as the latter has increased in speed, and due to the need for a separate power connection for Firewire devices.

DASH7

Designed for long lived battery operated sensor networks, it works in the 433 MHz unlicensed band. The range is up to 1000m depending on power levels and data rates. Like ZigBee and BLE, DASH7 is aimed at transferring small amounts of data, and unsuitable for audio or video.

KNX for buildings

KNX is a standardized (EN 50090, ISO/IEC 14543), OSI-based network communications protocol for intelligent buildings. KNX is the successor to, and convergence of, three previous standards: the European Home Systems Protocol (EHS), BâtiBUS, and the European Installation Bus (EIB or Instabus). The KNX standard is administered by the KNX Association.

KNX can be realized over a mix of networking technologies, e.g. twisted pair cable, powerline networking, radio (KNX-RF), infrared and conventional ethernet.

EnOcean

EnOcean is a similar protocol to KNX for sensors that are self powered, e.g. harvesting energy when you push a switch that is sufficient for sending 2 or 3 packets. EnOcean was spun off by Siemens (2006?). The sensors are quite expensive (e.g. 60 CHF) but available for motion sensors (light and thermal IR), beds, seats, window handles and so forth.