Introduction, Java pakbus® software development kit – Campbell Scientific Java PakBus Software Development Kit User Manual

Page 9

Advertising
background image

Java PakBus® Software Development Kit

1. Introduction

The purpose of this document is to provide prospective developers

with a general overview of the Java PakBus® SDK and its

application. The primary classes are discussed and example

implementations are provided. This document is not intended as

a programmers guide or reference.

The Java PakBus® SDK is a simple API that can be used to write Java based

applications and applets that can communicate with Campbell Scientific

dataloggers using PakBus® protocol. This API has the following features:

Full PakBus® Networking

An application built using this API should be able to function in any

PakBus® network and communicate with any datalogger in that network.

Leaf Node

An application built using this API will act as a PakBus® leaf node. This

means that it will not send or receive routing information with the

exception of messages used to confirm neighbour links.

Single Threaded

The API does not spawn worker threads for communication. Rather the

application is responsible for keeping communication alive by periodically

calling the

check_state() method of the Network object.

Use of this API is subject to the

Campbell Scientific Software SDK License

Agreement

.

Although there are a large number of classes in the API, there are really only a

few which are required to understand how the API works:

class Network

This class lies at the heart of the API and manages all communications. It

manages a collection of “stations” and serializes transactions.

class Datalogger

This class represents the state of a datalogger in the PakBus® network. It

stores the routing information needed to reach that datalogger as well as

meta-data for that station. The application can operate on the “real”

datalogger by initiating transactions through instances of this class.

Transactions

Transactions are concrete objects derived from class

TransactionBase.

Each type of transaction performs a specific type of operation such as

NOTE

1

Advertising