Software is broken into the two sides of the SEMS database .
- Instrument side - Everything to get data from the detectors into the database.
- Client side - Everything to make the data available and make decisions based on weather.
http://versionsba/svn/telsoft/sems/ - SEMS subversion repository
Instrument Side
CR1 Files
CR1 files are a CampbellScientific-specific flavor of VisualBasic that controls how the CR1000 reads and records data from the individual instruments.
CR1000.CR1 is the main program for the CR1000 Datalogger. This file defines values that will be sampled, the rate they are sampled, and the rate they are recorded.
CS110.CR1 is the program for the CS110 Electric Field Meter.
LoggerNet for Linux
LoggerNet software continuously monitors the CR1000 for new records and transfers those records from the CR1000 internal storage to a text file on the SEMS server (**needs its own page). This is CampbellScientific software configured for our application.
LDMP_SERVER
Ldmp_server continuously monitors the LoggerNet server for new records and makes these records available via a simple serial interface. This is CampbellScientific software.
LDMP_CLIENT
To move the records from the SEMS server into a MySQL database, ldmp_client continuously waits for a new record to be available on the serial interface provided by ldmp_server. Ldmp_client also calculates two dew points for every record from two sets of temperature and relative humidity readings. Ldmp_client is LCOGT.net software.
Publish/Subscribe Agent
- Get current data from CR1000 (via LoggerNet and LDMP Server).
- Determine site enclosure states based on internal state model.
- Publish data and enclosure states to site PubSub platform.
External Feed Aggregator
Monitor and parse weather/environment feeds pertaining to SEMS. Store these in the database (apart from SEMS instrument data).
Alternatively, make this another PubSub Agent.
Internal Feed Aggregator
(Possibly same as external.) Monitor environment-related data that is the product of non-SEMS systems (e.g., Data from Quicklook and All-Sky cam). Store this data in the database (apart from SEMS instrument data).
Client Side
Web-view of Most Recent Data
A prototype web plot of the database records is available at http://bburleson-linux/enviro .
Web-based database interface
XMPP?
Main SEMS Brain
SEMS is in charge of enclosures on site. It is aware of all telescope/enclosure-specific thresholds on site and dictates decisions based on those thresholds and its data.
This may move to instrument-side as it is likely the main part of the SEMS PubSub Agent.
Heartbeat Daemon
Provide heartbeat for systems that rely on SEMS being alive and attentive.