dockserver-talk GIT
Python module to interface with a Slocum glider dockserver
Status: Alpha
Brought to you by:
merckelbach
DockserverTalk A Python module to interface to a WebbResearch dockserver. The DockserverTalk module comes with three applications: BUGS: an application that presents the glider positions relative to to another position. To do so, the application combines the information of glider positions given by the dockserver, and the position of an external GPS device/stream. SurfAlarm:SurfAlarm is an application that queries the dockserver in order to send an text message or make a phone call, using an external GSM modem serial2rudics: serial2rudics.py is a helper program that allows you to act a glider pocket simulator, which always appears as "connected" to a dockserver, as a real glider connecting via rudics/iridium only when at the surface. It does this by translating all traffic bi-directionally from a serial port to which the simulator is connected, to the tcp port on the dockserver which is configured as the rudics port. NEWS Version 0.4.1 got support for sending text messages via the glider terminal console, using surfalarm. Text typed in the glider terminal, prepended by #sms will be interpreted by the glider as a command error, but surfalarm will pickup this text and sent the string to the configured recipients. Version 0.4.0 has dropped GTK for the user interface of bugs. A new feature that is introduced is to use a georeferenced graphic as background for xbugs (formerly known as xlocator). For some reason matplotlib/gtk had an enormous performance hit, not existent in matplotlib/tkinter, so that tkinter has been used to build a new interface. Intercommunication between the bugs components are now based on zmq. This version (0.3.0) uses python3. Running it with python2 will not work. It may that the code will run when it is pasteurised (python's future module), but I have not tested that. The file dockserver-talk-python2.7-0.2.2.tar.gz has the last version for python2. In stead of pyGTK, GTK3 is used via PyGObject. Also you may need to install configobj (using pip3 or via your distro's favourite packager). See the Release Notes of new features that come with the 0.3 version. INSTALL DOCKSERVERTALK This python package only depends on standard modules/packages and no other specific software should be required to be downloaded. The dockserverTalk module contains a finite state machine, which has been implemented by Noah Spurrier, see the header of fsm.py To install: python setup.py build and (as root) python setup.py install In {sys.prefix}/share/dockserverTalk/examples you can find some example codes how to use this package. (The sys.prefix is most likely the directory /usr.) INSTALL SurfAlarm After having installed dockserverTalk, the application SurfAlarm can be installed. This module should not depend on any third-party python modules apart from the dockserverTalk module. To install: cd surfalarm python setup.py build and (as root) python setup.py install and to return to the base directory of dockserverTalk cd .. INSTALL BUGS After having installed dockserverTalk, the application BUGS can be installed. In contrast to the previous modules, BUGS requires three third-party packages that are available in most (if not all) modern linux distros: pyGTK, numpy (or python-numpy) and matplotlib (1.1.1+) Note that for python3 (development branch), the dependency on pyGTK is dropped. After a successful installation of these pacakges, the BUGS application can be installed. To install: cd bugs python setup.py build and (as root) python setup.py install and to return to the base directory of dockserverTalk cd .. Note: if xlocator.py aborts because of matplotlib.markers cannot be imported, then upgrading to a more recent version probably helps. INSTALL serial2rudics cd serial2rudics python setup.py build and (as root) python setup.py install HELP If you write some application using this module and you think it may be useful for the wider glider community, please consider to become a developer of this project and make the project available via sourceforge. 11 September 2015 Lucas Merckelbach