Pathfinder is a minimal Internet of Things data hub implementing the OpenIoT APIs. As a clean implementation of these APIs, it serves as a reference platform for existing data hubs. Pathfinder may be used as a proxy for existing IoT services to provide OpenIoT compliant APIs.

Pathfinder is designed to act as a generic broker component suitable for many IoT systems. It does not attempt to do everything possible, but enables developers to easily build services and applications on top.

Pathfinder is designed primarily for use by machine agents, not humans. Pathfinder’s APIs provide machine readable data and services for machine use. Providing a flexible core, Pathfinder can be used to rapidly build an IoT data hub fed from a range of sources. Bridging between existing IoT systems and Pathfinder’s APIs aims to be simple and straightforward.

At its core, Pathfinder is a dynamic HyperCat catalogue server with the following features:

  • Hosting of multiple catalogues /cats/*
  • Aliasing of root /cat to a catalogue in /cats
  • Read/insert/modify of items
  • Basic Auth for authentication
  • Search of catalogue (urn:X-tsbiot:search:simple)
  • Rich permissions system to set access and visibility rights based on catalogue/item metadata properties

The server is built for simplicity, not performance.

What does Pathfinder do?

Pathfinder is a web server which brokers catalogues of IoT resources and their associated metadata to clients. Resources in catalogues may be links to other servers or resources hosted directly on Pathfinder (TBD). Clients may create, delete and modify both catalogues and resources where permissions allow. Clients may subscribe to catalogues and resources to be asynchronously alerted of updates (TBD). Suitably authorised clients may create, delete and modify access credentials for other clients. Pathfinder has an extensible permissions system allowing for granular access credentials and integration with third-party apps and services.

What doesn’t Pathfinder do?

Pathfinder does not provide any user applications nor the ability to host applications within it.

Pathfinder does not provide storage of historical data for resources (or catalogues). Instead, it provides subscription hooks where an external application may collect data and make it available to clients.

Pathfinder does not provide any virtual devices for simulating the behaviour of real devices. Instead, it provides hooks where an external application may control one or more resources for simulation purposes.


Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution 3.0 Unported