Smart underwater connector
Standardized by the Open Geospatial Consortium
Adding new instruments to an oceanographic mooring or underwater observatory can be a difficult and time-consuming process. Each instrument has to be custom programmed to communicate with a host computer or observatory network. To simplify this process, MBARI engineers developed a communication protocol called PUCK, which allows a host computer to recognize an instrument and begin accepting data from it immediately, in much the same way that a personal computer recognizes when a camera or other device is attached to one of its USB ports. In early 2012, the PUCK team was rewarded for its efforts when an international standards organization known as the Open Geospatial Consortium (OGC) approved the PUCK protocol as a new standard.
The acceptance of PUCK did not happen overnight. In fact, MBARI engineers began working on this problem more than a decade ago. Along the way, they overcame many engineering challenges. But they also went out of their way to involve other researchers and with commercial companies that build oceanographic instruments. As MBARI’s Platforms Engineering Group Lead, Kent Headley said, “Working with our collaborators, we put a lot of thought and effort into figuring out how to build a community around the standard, to amplify the impact the PUCK technology can have on the ocean-science community.”
OGC PUCK is a simple standard command protocol that helps to automate instrument installation, configuration, and operation and data processing by physically storing information about the instrument with the device itself. The stored information includes a standard instrument datasheet and optional PUCK payload. The payload can be an instrument description (metadata), driver code, or any other information deemed relevant by the observing system. When a PUCK-enabled instrument is connected to a host computer the host can retrieve the information from the instrument through PUCK protocol and deal with the information appropriately. The host can use retrieved instrument metadata to automatically parse and process data into a standard format. In addition, the host may install and execute instrument driver code that has been retrieved from the instrument. We refer to this automated process as plug-and-work. PUCK was originally developed by MBARI and is now an official standard of the Open Geospatial Consortium’s Sensor Web Enablement framework. The protocol is defined for instruments having an RS-232 or Ethernet interface.
OGC PUCK is implemented by several manufacturers. PUCK augments but does not replace existing instrument protocols. Thus a manufacturer can modify its instrument firmware by adding PUCK commands to the already existing instrument command set. This approach allows manufacturers to implement PUCK without abandoning their existing firmware and software applications. Since many instruments already include a non-volatile memory device (e.g., Flash), it is usually easy for manufacturers to allocate some of that memory to PUCK memory. Note that PUCK does not specify an instrument’s “native protocol” (i.e., the manufacturer-defined commands that actually configure and operate the instrument). Instead it is expected that the native protocol can be deduced from references in the standard PUCK instrument datasheet or the optional PUCK payload.