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