The platform provides direct real-time connectivity with no firewall or dynamic IP hassle - just as you know from e.g. Skype™.

Get an overview of the platform capabilities and features below and see examples on how this can be used in your applications. Our most popular use cases are web enabling of very resource constrained devices and peer-to-peer video streaming on higher end devices (typically P2P RTSP/H.264 streaming).

The Nabto framework provides secure, direct access to your device - the framework hides all the complexity of addressing, firewall penetration and security. It enables web-service like interactions from clients (HTML or native) and streaming to and from the device.

Even the most ressource constrained devices can provide a full HTML app experience to users, offloading all static content and heavy calculations to Nabto software in the client.

Nabto clients for use by end users (P2M clients) can be developed as either HTML apps or as native applications:

HTML apps runs in a Nabto-enabled client container - either in a web-browser with a Nabto plugin installed or in a dedicated Nabto app for smartphones and tablets. Plain browsers without plugins also supported (with limited functionality).

Native applications for desktop and mobile platforms can be developed by integrating with the Nabto client library. The library also provides TCP tunnelling support to allow existing applications to benefit from Nabto's secure, direct connections with no firewall hassle.

Central services can also interact directly with Nabto devices in M2M scenarios: Data can be acquired on initiative of the service and hence in patterns decided by the service - as opposed to bluntly pushing everything from the device to a central service (in the "traditional" cloud data scenario). For instance, an enterprise service bus application can retrieve data directly from a specific Nabto-enabled device as response to a workflow event.

With the Nabto platform, clients interact directly with devices. The Nabto services running in the cloud act only as a sort of telephone central - mediating direct, end-to-end encrypted connections. Once established, these services are out of the loop - as opposed to "traditional" cloud data scenarios where central services are involved in all interaction between clients and devices.

Industry standard cryptography is used for authentication, confidentialty and integrity.

With the Nabto platform, direct peer-to-peer connections are established between client and device. This ensures lowest possible latency and maximum privacy as no data need to be stored outside the device. For streaming applications, this means massive amounts of saved bandwidth for you as opposed to traditional relayed connections.

If a peer-to-peer connection cannot be established due the firewall configuration, the platform automatically falls back to a central relay (connection is end-to-end encrypted through the relay).

If client and device are located on the same LAN, the client can discover the device and establish a direct connection without the need for an Internet connection. Useful for offline / disconnected situations and for initial configuration.

20 kB Web Server Example: Web Enable your Embedded Device

.

With the Nabto platform, you can give your users a full, direct web experience when accessing your product - without having to struggle with firewalls, dynamic DNS and insecure HTTP port forwarding. The user simply has to enter the device's assigned unique Nabto device id, e.g. <serial>.vendor.net and the Nabto platform takes care of locating the device and setting up a secure peer-to-peer connection.

All it takes is some kind of network connectivity from the device and a few spare kilobytes of storage: The uNabto (micro-Nabto) web server only transmits the necessary data-points from the device to populate the dynamic parts of the web page - all static content and business logic reside on the client (served initially from a central location).

The example page seen in the screenshot looks like any ordinary webpage - but only a handful of 32-bit values have been transmitted from the actual device. All graphics, HTML and text reside on the client - installed automatically from a central location (or installed manually for use in offline situations).

This greatly simplifies implementation and maintenance of the embedded system - you only need to expose an interface to e.g. your sensors or existing data storage, all complex business logic and static content can the be developed independently of this: For instance, you can add a new language without touching the firmware. Or you can add support for entirely new use cases. All by simply updating the HTML application that is installed on the client and interacts with the device through the Nabto platform to retrieve data or send commands.

Note that the client application does not have to be HTML based - using the Nabto Client API, native clients can be used for invoking the target device, exchanging JSON objects to be used in the native application.

Modbus Example: Control Modbus Device Directly from HTML

Nabto facilitates interaction with Modbus-enabled devices directly from HTML: Install the Nabto software on a gateway device and use the Nabto Modbus JavaScript library to implement your client software.

.

An often seen remote-access retro-fit solution is adding a gateway that communicates with Nabto/Internet over a network connection and with the vendor's unmodified devices on a serial line (often RS485).

Nabto provides source code for implementing a Modbus gateway as part of the uNabto SDK. Moreover, JavaScript libraries are provided for executing Modbus requests directly from HTML applications as well as encoding/decoding utilities.

A custom gateway device can of course communicate using any protocol you desire and implement yourself on the serial line, not restricted to Modbus.

Note that the client application does not have to be HTML based - using the Nabto Client API, native clients can be used for invoking Modbus (or other similar) requests on the gateway, exchanging JSON objects to be used in the native application.

Discovery/Offline Example: Setting up the Intelligent Home

Nabto is not only about remote access: The platform allows direct interaction with devices on the local network - useful in offline situations and for simplifying initial configuration through automatic device discovery.

.

The Nabto communication platform not only makes it easy to remotely access devices over the Internet - the platform also makes it possible to communicate with devices directly on the local network through a simple BonJour style mechanism.

This is an important feature in many scenarios: With Nabto, users can still control their intelligent home, even in case of an Internet outage. And often basic facilities in a new home under construction needs configuration before an Internet connection is available - with Nabto, the installer or the home owner can interact with e.g. heating and ventilation systems either by connecting directly to the device or through a local network: No Internet - no problem!

For HTML based clients, a cached HTML application is used when offline - either cached implicitly from a previous use or installed explicitly as preparation before a visit to the offline location.

Even when there is no Internet connectivity issues, the local network communication capability is useful: Through this, the Nabto clients may automatically discover available local devices - useful for the very first interaction and basic configuration of devices. In this way users never have to enter the address of the device - after the first discovery, the device id is saved by the client and listed at a later time when the user is located outside the network and wants to do remote access.

M2M Example: Invocation of Devices as Web Services

Server side applications can invoke Nabto devices on demand just as if they were regular web services, regardless of their location. No latency. No endless amounts of data pushed from devices to cloud.

.

In traditional cloud based solutions for embedded systems, the deployed devices periodically push data to a central cloud service. The data to push is typically determined when developing the device software.

With Nabto, this responsibility is reversed: Data is pulled by the server application from devices when needed - the server acts as a Nabto client towards the Nabto enabled devices. Instead of waiting for the periodical push from the device, data can be retrieved immediately upon initiative of the server application when needed.

New business logic and data acquisition patterns can be developed in the server application without updating the device firmware as long as the device has exposed a sufficiently general interface.

Basically, Nabto enables other systems to interact directly with embedded devices deployed anywhere as if these were implementing regular web services. This means that you can integrate any Nabto enabled embedded systems directly into standard service orchestration and enterprise service bus platforms: You can model workflows that involve embedded devices just as if they were regular web services.

The Nabto platform also supports push on initiative of the device like in traditional solutions - for instance, to handle an alert or trigger a workflow in the server application that involves invoking a function on the device.

Streaming Example: Peer-to-Peer RTSP Video Streaming Solution

With the Nabto platform you can do peer-to-peer video streaming with no firewall or DynDNS struggle. Simply enter the id assigned to the camera or DVR and immediately view the feed.

.

The traditional approaches to remote accessing a video feed are either user-unfriendly or expensive: Either you have to guide the user through cumbersome firewall configuration, defining port forwardings and setting up DynDNS - putting a burden on the user and in the end on customer service. The traditional user friendly alternative is simply relaying the traffic through a central gateway - very costly in the long run, at least with larger user bases.

With the Nabto platform, you don't have to worry about any of these: There is no firewall configuration to worry about, the Nabto platform takes care of setting up direct, secure peer-to-peer connections and abstracts away all location / addressing issues.

Our platform is capable of establishing peer-to-peer connections in 95% of real life situations due to its ability to penetrate even symmetric NATs. In case of firewall configurations that don't support peer-to-peer connections, the Nabto platform automatically falls back to a central relay solution. You are in control of bandwidth consumption as you can close relayed connections after a certain interval.

Integration is extremely simple - just install our open source, small proxy application on your camera in front of your RTSP service on the camera or DVR and you are ready to transmit video on the P2P connection

The Nabto streaming solution is not only for video feeds - it is used in many scenarios where an existing application needs to have simple remote access to an existing remote service (such as remote desktop or console solutions), very much like ssh tunnels with the added benefits provided by the Nabto communication platform.

Nabto streaming clients are built upon the Nabto Client API. Streaming servers (devices such as cameras and DVRs) are built with the uNabto SDK - contact us for more information about building streaming servers.

Module Example: Remote control through Nabto UART Gateway

Nabto is not just a software platform: Add the Nabto uServer hardware module to your design for instant remote access, integrating to your existing platform through UART.

.

The Nabto uServer board is a small hardware module with all Nabto functionality on chip.

The uServer is a single chip solution with an ultra-compact form factor and a small price tag. It comes with Nabto’s NSLP server application preinstalled: It is pre-programmed to relay communication between the Nabto client and the host controller. This places the bulk of the protocol work on the uServer and only requires the minimal NSLP client functionality to be implemented on the host controller to handle client requests.

The board’s main interfaces consist of an Ethernet interface that is to be connected to a Local Area Network, and 3 PIN-header rows, which are to be connected to the OEM device design. The microcontroller is preprogrammed with Nabto’s bootloader allowing for firmware updates over Ethernet in a matter of seconds. A unique Nabto device id and associated encryption key and a unique MAC address is also preprogrammed reducing the production steps required when using the uServer in a customer device.

References

Danfoss

Danfoss Solar Inverters is one of the World’s largest vendors of solar inverters, and is represented in more than 20 countries. In 2010 Danfoss Solar Inverters began nurturing the idea of using Nabto technology in order to give their customers the opportunity of monitoring the production data anywhere and anytime via their mobile device. Nabto therefore helped Danfoss Solar Inverters develop the CLX Home box that creates remote access and delivers data access, logging and messaging via mobile devices.

The main features that lead Danfoss Solar Inverters to implement Nabto technology in their CLX Home boxes were the hassle free installation and time saving technology. The Nabto features are now incorporated in both CLX Standard, CLX Home, DLX and TLX products.

Today Danfoss Solar Inverters' customers are able to experience 24/7 live performance data from the solar panels directly via the SolarApp on a phone, tablet or computer anywhere.

Cosesy

It was Nabto’s expertise in micro web servers that attracted the Danish alarm and home automation company Cosesy to Nabto.

Cosesy, who headquarters in Aarhus, Denmark, develops gadgets controlled and monitored by for example smartphones and supplies customers with an inexpensive way to monitor and control appliances from the internet.

Nabto provides Cosesy's backend monitoring system with a secure access to the individual alarms in the users' homes - without having to worry intro firewall configurations. Nabto's very limited resource requirements allowed Cosesy to use their existing embedded hardware platform as is without having to invest in expensive hardware for the necessary sophisticated remote access capabilities.

The result is that today Cosesy’s customers can install their alarm system at home without having to deal with the hassle of firewalls, and Cosesy’s system can in an easy and secure way monitor each customer’s alarm system.

Ritzau

From copper to cloud

When Denmark’s leading wire service, Ritzau’s Bureau, transmits news and advertising material to media outlets, it has to happen through an encrypted, reliable, closed network. Ever since the news was sent through fax machines, Ritzau used copper cables to get the message across. The company’s telecommunication solution was a closed point to point MPLS (Multiprotocol Label Switching). It provided high security and reliability – but at a high price. Replacing MPLS with an inexpensive Internet connection seemed obvious. But making this happen in a secure, closed environment with no changes to existing software on either end is not an easy task. After researching the market, Ritzau was not in doubt:

“We chose Nabto as they were able to deliver a modern, flexible, easy-to-use solution, saving us a lot of money. The implementation was seamless”, says Ritzau’s editor-in-chief, Lars Vesterløkke, whose company is now looking at $50,000 in yearly savings.

The news wires produced by Ritzau’s Bureau have now safely migrated from copper cables to a virtual internet connection provided by Nabto. Nabto converted the MPLS to a cost effective Nabto Point-To-Point VPN (Virtual Private Network) transmitting via a standard Internet connection. The Nabto roll out happened over a weekend in March 2010, was piloted for two weeks, and up and running by April, when Ritzau canceled their MPLS contract.

Limitless scalability

The end result is a high bandwidth, autonomous distribution system, which doesn’t depend on a central server. Whereas MPLS posed challenges if news were to be distributed outside Denmark, the Nabto VPN scales both geographically and connection wise, with no wait time for a network providing telco to add new customers as was the case in the past. Optimizing network capacity has also eliminated the need for expensive Quality of Service channels allocating a certain bandwidth to specific dataflow.

Aguasol

Aguasol produces solar water heaters, which converts the sun’s energy to hot tap water. For their product Unibody, a self-circulating solar water heater, Aguasol needed a system that enabled them to remotely measure and register the temperature several places in the water heater.

In collaboration with Aguasol, Nabto developed a customized data collector that presents temperature in a graphical layout and collects data from four different places in the water heater. Nabto used its own prototype board, the Nabduino, which is an open source peer-to-peer remote access embedded board with a user modifiable web-interface.

Peter Boldsens, Industrial Designer and Marketing Director at Aguasol, explains: “It has been a great help to visualize and demonstrate the functions and efficiency of our water heater through the Nabto platform. It makes it easier for our users and customers to fully understand our product.“

What is special intro Nabto’s way of creating data loggers is the peer-to-peer connection, which enables a local connection and makes it possible to communicate with the device without internet connection, and results in a cheaper solution as the user is able to communicate directly with the device and needs not to worry intro extra network traffic costs. Traditional data loggers have a hardcoded sample rate, whereas the peer-to-peer data logger allows the client to determine the sample rate dynamically. The Nabto solution for Aguasol consists of a peer-to-peer solution, where one client is a server, programmed to collect data at certain times.

Downloads

Plugins & Apps

Desktop Browser Extensions

Internet Explorer (Microsoft Windows) Note! We have received reports from some users about unreliability on Windows 10 in IE and Outlook after plugin installation, please uninstall and report to us if odd behavior is observed (and use Firefox instead)

Introduction

The documentation section thoroughly describes the Nabto platform and how to write applications for it.

To learn about application development, start with TEN040 to get an overview of the options and necessary steps. Follow the tutorial and try to extend the HTML demo - read more about HTML clients in TEN024 and about native clients in TEN025.

About

We believe in making the world better by creating awesome technology.

Imagine that all electronic devices are born with their own individual device-id, to distinguish them on the Internet. The unique device-id would work like the URL of web pages, email addresses and Skype™ caller-ids, allowing any device to be instantly recognizable.

With the device-id, you can seamlessly connect to the device, and read or visualize the data inside it. The data helps you to understand the usage, operation and working environment of the device, letting you make better and faster decisions. Based on this new knowledge, and the ability to link to the device, you can easily issue commands to alter the behavior of the device and the operations it controls, making your environment safer and more comfortable. As a company, you might even be able to develop new business models and revenue, or create new, better products, based on the information you have accessed from the device.

It is our mission to make this vision a reality.

We believe the way to do this is by creating an ‘Internet of Things’ (IoT) infrastructure, based on a Peer-To-Peer distributed technological approach. This approach may be challenging, but it creates an awesome solution. We believe it offers so many advantages that it is worth the investment of time and energy to create a truly innovative product.

Our customers are vendors of electronic devices, who share our vision of making products Internet accessible, and creating real value for the consumer.

What makes Nabto’s solutions unique?

First, Nabto is a P2P device connection infrastructure that delivers simple, seamless local and remote connectivity to ‘Internet of Things’ devices. Each device is identified by a unique, vendor specified ID. End-users, installers and automatic data-collectors effortlessly create a secure, online, interactive connection to the device meaning the data in the device can be accessed, or commands to the device can be issued.

Secondly, Nabto is an HTML5 bridge for IoT device data. The data collected, on the IoT device, by our technology, is converted into an HTML5 context. Nabto delivers a webserver interface experience on IoT devices, without the complexity and cost of running an actual webserver or using a webserver & data processing in the cloud. Raw data, transferred from IoT devices, automatically populates HTML5 via a virtual-webserver running on the end-user device (PCs, Tablets, Smartphones etc.), reusing the resources and investments already made by end-users. This makes IoT cost-efficient, distributed, highly autonomous, very scalable and secure.

History

The development of our distinctive technology began in 2007, when founder Carsten Rhod Gregersen discovered a need for direct Peer-To-Peer, HTML based communication, to high-end devices mounted behind a firewall. This work identified that the demand for such products would only grow – as the Internet-Of-Things became a reality. Soon, the search for seed funding was initiated, patents were handed in and the first prototypes created. Next, early-adopter customers were identified and a dialogue was established to pinpoint the most important features of the future platform, and to create the product roadmap.

The company has since experienced rapid growth, with an office in Incuba Science Park, Aarhus, Denmark. Our main R&D and sales personnel are located in Denmark, Germany and the United States, with partners all over the World.

Carsten Rhod Gregersen > CEO

Carsten is the founder and CEO of Nabto, and in 2005 he developed the technology, which became the foundation of the Nabto technology today. As an innovator by heart, Carsten has prior to Nabto nursed 4 other companies and he has more than 15 years of experience as CEO of software and innovation companies. He holds a master degree in Computer Science and a bachelor degree in Mathematics from Aalborg University along with a Diploma Graduate degree from Aarhus School of Business.

Ulrik Gammelby > CTO

Ulrik has been with Nabto since the company's infant days, and has made key contributions to shaping Nabto and its products. Ulrik has served in various software engineer positions in Denmark and abroad. He holds a master's degree in Chemistry with a minor in Computer Science from University of Aarhus.

Karsten Viuf > Sales Director

In 2009 Karsten joined Nabto, bringing with him a deep experience in Sales Management. With a good insight into the technical side of embedded software, great communication skills and a strategic eye, Karsten is an asset that contributes to Nabto's unique competitive advantages. Karsten holds a master degree in Management, Commerce and Accounting from Copenhagen Business School.