A software framework for telemetry and data logging, MMT Observatory, Arizona, USA

An object-oriented software approach to acquisition and logging of telemetry data has been implemented at the MMT Observatory (MMTO). This approach includes: 1) a uniform interface to RS-232 serial and TCP/UDP network-enabled hardware devices, 2) a multiplexed socket server able to handle multiple simultaneous connections, 3) a simple ASCII network protocol, 4) standardized relational and round-robin database logging, 5) consistent parameter naming conventions, 6) automatic data validation, 7) centralized configuration files, and 8) unified process control. Over 25 miniservers, each of which corresponds to a single hardware device, implement the hardware-specific protocol for communication with that hardware device. The miniserver collects data from the device and allows network access to the dataset for that device via a uniform ASCII protocol. Each miniserver also periodically logs data to relational and, optionally, round-robin databases. Over 29 gigabytes of logged telemetry data, representing over 1500 distinct parameters and 120,000,000 MySQL records, are currently available for the past 4-5 years through this software framework. Essentially any scripting language can be used to access the ASCII-based network interface and MySQL relational databases. This object-oriented approach to telemetry provides a framework into which new hardware devices can easily be added and leverages existing data acquisition, analysis, and visualization tools.