Sedona

Networking

Overview

The Sedona Framework is designed from the ground up to make building smart, networked devices easy. The key networking concepts:

APIs

The lowest levels of the networking stack are the inet and serial kits.

The inet kit specifies the set of APIs used to work with TCP and UDP sockets. These APIs are all designed to be non-blocking to work within the Sedona Framework's single threaded main loop. In order to use the inet API you will need to ensure that your target platform has implemented all the inet native methods. The open source distribution provides an implementation that uses the WinSock and Berkeley socket APIs.

The serial kit specifies the set of APIs used to perform serial port communications. The main goal for the serial APIs is to insulate application code from the operating system or hardware's serial port interface. Drivers should use the serial API whenever possible to ensure portability across devices. In order to use the serial API you will need to ensure a port of the native methods is available for your platform. The open source distribution provides a Win32 implementation of the serial natives.

Driver Framework

You can build your own device/IO drivers for the Sedona Framework. Typically you will use the inet or serial APIs to interface with the network.

The driver kit provides a mini-framework used to standardize how custom drivers are built for the Sedona Framework platform. Drivers are structured using the component tree:

Sox Protocol

The Sox protocol is the standard protocol used to communicate with Sedona Framework-enabled devices. Sox provides the following services:

The Sox protocol is designed to efficiently enable "live programming" of the component model over the network. The Sox protocol itself is run over the Dasp protocol, which provides session based security and reliability over UDP.

See Sox and Dasp to learn more about these protocols.