The Nabto platform consists of 3 components:
- Nabto Client SDK: Libraries supplied by Nabto, used by the customer’s client application (mobile, desktop, server)
- Nabto Device SDK: Also denoted the uNabto SDK – an open source framework supplied by Nabto, integrated with the customer’s device application (the IoT device)
- Nabto Basestation: Services supplied by Nabto (Nabto- or self-hosted) that mediate connections between Nabto clients and devices.
The Nabto client initiates a direct, encrypted connection to the Nabto enabled device – the Nabto basestation mediates this direct connection: The device’s unique name, e.g. <serial>.vendor.net, is mapped to the IP addresses of the Nabto basestation – this is where devices register when online and where clients look for available devices. After connection establishment, the client and device communicates directly with each other, the basestation is out of the loop – no data is stored on the basestation, it only knows about currently available Nabto enabled devices.
The client can also discover the device if located on the same LAN and communicate directly without the basestation – useful for bootstrap scenarios or for offline use.
Integrating Nabto on the customer’s device is the topic of TEN023 Writing uNabto Device Application.
Nabto client applications are developed using the Nabto Client SDK described in TEN025 Writing Nabto Client SDK applications. The Nabto Client SDK is the lowest level way of developing a Nabto application – several wrappers exist on top of this lowest level SDK to provide a more abstract experience, for instance for developing Cordova/Ionic hybrid apps or just simplify native Android and iOS app development.
Apps and SDKs
The core Nabto SDK client libraries and pre-built applications are found on the download page, as well as links to open-source examples and higher level SDK wrappers for simpler IoT application development – and the uNabto SDK device.
Detailed reference documentation is provided in the TEN0xx documents in the Documentation box in this section. Several blog posts and our tutorials provide a more hands-on introduction with full examples.
Nabto Enterprise customers can use the Nabto Cloud API for solution management and customization.DOWNLOAD
To try the SDKs, sign up for a free account on the Nabto Cloud Console to manage your own solution on Nabto’s infrastructure.
The first few devices are free to use for just sampling the platform and for development. You can then purchase more devices for commercial use.
Our tutorials provide simple introductions to get something up and running. For an overview of the Nabto solution design process, take a look at TEN040 Nabto Solution Design. You can find an overview of all of Nabto’s tutorials here.
If you consider to use Nabto with an OEM manufacturer, we have made this checklist of things to clarify with the manufacturer.GO TO SELF-SERVICE PORTAL
To learn about IoT application development, start with TEN040 to get an overview of the options and necessary steps (or take a look at the blog for examples). Read more about native clients in TEN025.
TEN023 describes the anatomy of the application on the device.
The most important aspect of creating a Nabto solution is making it secure – security is described in TEN036.
You can find an overview of the Nabto tutorials that, in a few simple steps, describe how to create a full Nabto RPC remote control solution using our starter apps.
- TEN040 Nabto Solution Design – overview of solution design process
- TEN029 Nabto Platform Specifications – summary of platform features
- TEN036 Security in Nabto Solutions – designing a secure solution
- TEN050 Nabto Push – secure IoT push notifications using Nabto
- SAL034 Nabto Video Presentation – using Nabto in video products
- TEN025 Writing a Nabto API client – Nabto Client SDK guide
- Starter apps – jump start your client development
- TEN023 Writing a uNabto device application – uNabto SDK guide
- TEN030 Nabto Tunnels – setup an RTSP or HTTP proxy solution