Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Homepage FreeRTOS+ Products FreeRTOS Labs Integration Services Contact / Enquiries

Networking Technology Comparison

The possibilities for Internet enabling devices are countless, and constitute a desirable product feature that personal and business consumers want, and are willing to pay for. Before a solution can maximise this potential it must first overcome a number of challenges, the greatest of which are listed in the following table:

Challenges for IoT Solutions
Naming and uniquely identifying nodes Autonomy - operation without Internet access
Authentication Privacy
Data integrity Intelligent and flexible data acquisition
Multiple and different data flows Ease of use
Traversing firewalls Scalability
Hardware and software cost Internationalisation

This page demonstrates how FreeRTOS+Nabto meets each challenge by using UDP hole punching to create peer to peer connections to IoT devices (the same method used by Skype to set up a call). Don't worry if that doesn't mean anything to you! FreeRTOS+Nabto handles all the networking, routing and encryption necessary to securely network enable your IoT devices. All you need to do as an application writer is compile the source code, write a single interface function, and make use of our fully managed cloud service. Instructions and tutorials are provided on this site.

By way of comparison, three Internet connectivity solutions are considered - two less innovative but more traditional solutions, and finally the FreeRTOS+Nabto solution:

  1. A traditional embedded TCP/IP server
  2. A traditional and inflexible cloud solution
  3. The FreeRTOS+Nabto Peer to Peer solution

Traditional Embedded TCP/IP Server Solutions

Standard embedded web server
The architecture of a traditional embedded webserver
[Click to enlarge]

Traditional architectures rely on a direct connection to the embedded device. They suffer from a host of problems that include:

  • IP address allocation and address resolution

  • Penetrating firewalls

  • Controlling a device using an inappropriate protocol

  • Authentication and encryption within the embedded device

  • Processing, storage and RAM requirements: The embedded device must be large and powerful enough to incorporate a TCP/IP stack, HTTP server, and a file system

  • Software complexity: The TCP/IP stack, HTTP server and file system must be integrated, tested and maintained.

Traditional Inflexible Cloud Solutions

traditional cloud solution for the Internet of Things
A traditional and inflexible cloud solution
[Click to enlarge]
Traditional cloud solutions do not solve all the problems listed in the Traditional Embedded TCP/IP Server section, and introduce new potential problems of their own:
  • Autonomous operation and commissioning is difficult or impossible, especially in the permanent or intermittent absence of Internet connectivity

  • Data storage and analytics are handled in a single monolithic system

  • Privacy and vendor lock in are issues when the monolithic system is owned by a third party

  • When data is collected and when data is pushed to the cloud are pre-defined in firmware, making the system very inflexibly, and resulting in wasted RAM and network throughput.

FreeRTOS+Nabto Peer to Peer Cloud Solution

A selection of usage scenarios - Click images to enlarge
Creating a GUI with peer to peer connections set up using UDP hold punching
Remote GUI P2P connection example
Creating a peer to peer connection over a local network
Local GUI P2P connection example
Using UDP hole punching to create multiple peer to peer connections for data acquisition and logging
Connecting multiple data acquisition systems

The following table describes how FreeRTOS+Nabto peer to peer connections solve all the challenges listed at the top of this page:

Challenge FreeRTOS+Nabto Solution
Naming and uniquely identifying nodes
  • Each device has a unique and resolvable URL on your chosen domain.
Autonomy - operation without Internet access
  • Peer to peer technology allows connections to be established on local networks. FreeRTOS+Nabto includes link local device discovery.

  • User interface Web content is cached on local machines for use when the cloud server cannot be contacted.
  • Authentication is performed in the cloud. Click here for a diagram that demonstrates the process.
  • Data is encrypted.

  • Peer to peer connections removes the requirement to store data on third party hardware.

  • Different access levels can be granted to different users.
Data integrity
  • Data packets are very small and data integrity is built into the protocol.
Intelligent and flexible data acquisition
  • Control of when and how much data to acquire remains with the acquisition system, not the embedded device.
Multiple and different data flows
  • Any authenticated device can acquire and store data by making connections at any time.

Ease of use
  • The application developer is completely shielded from the protocol implementation details. Data is passed into and out from the embedded device through a single C function.

  • Rich user interfaces are created using standard web technologies.

  • The option for a fully managed cloud hosting service allows developers to concentrate solely on their area of expertise, and get to market faster.

  • The embedded device does not require a TCP/IP stack or a file system.

  • The user interface to all devices can be updated by changing the web content files on the cloud server.
Traversing firewalls
  • The use of outgoing connections means firewall hassles are a thing of the past.
  • Data throughput is tiny: Peer to peer connections remove any redundant transmissions, and data is transmitted in tiny packets.

  • Additional servers can be added, with load balancing if necessary.
Hardware and software cost
  • Traditional solutions, with their additional processing, software, network throughput and complexity requirements, can have a hardware and software cost of $25-$50 per unit. By adopting Nabto's off the shelf communication platform, the same functionality can be achieved for as little $5 per unit. To make this even more compelling - Nabto have already spent the time and money on the research and development for you.
  • The cloud server can serve different content to different geographical regions - moving the internationalisation burden from the embedded device into the cloud.

[ Back to the top ]    [ About FreeRTOS ]    [ FreeRTOS+ Sitemap ]    [ Main FreeRTOS Sitemap ]    [ ]

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.