Installing: The dependencies can be installed with "apt install" or sometimes 'pip install" server dependencies (required): python-gps python-serial libpython-dev python-numpy python-scipy swig (recommended): ujson pyudev lcdclient dependencies: python-pil webapp dependencies: python-flask python-gevent-websocket client dependencies (viewers control applications) python-wxgtk3.0 python-opengl pyglet pywavefront You may want to run pypilot as a service, see the scripts/debian directory Clone the data repository and copy data git clone --depth 1 https://github.com/pypilot/pypilot_data cp -rv pypilot_data/* pypilot most of the scripts can be run individually as standalone or test programs, some function as clients, other as servers servers (only one executes at a time) pypilot/basic_autopilot.py -- basic PID based autopilot with additional gains and filters These server scripts can be run as tests: * execute this script directly pypilot/autopilot.py -- autopilot instead of running the complete autopilot these scripts provide a server with specific functionallity. pypilot/boatimu.py -- imu specific to boat motions includes automatic 2d/3d calibration and alignment of magnetic sensors * useful for testing the imu (gyros) or even just reading gyros pypilot/nmea.py -- signalk <-> nmea0183 translator reads nmea0183 from serial ports or from tcp connections, and multiplexes the output to both nmea0183. listed on tcp port 20220 by default * convert and multiplex nmea0183 data pypilot/servo.py -- use to test or verify a working motor controller is detected, can be used to control and calibrate the servo signalk/server.py -- implements poll based server allowing external manipulation, * demo server with clock signalk/pipeserver.py -- implements tcp sockets in a separate unix process relieving the main process from json parsing, and transmission. * basic demo server clients (run as many of these to connect to a server): ui/autopilot_control.py -- simple interface to command autopilot ui/autopilot_calibration.py -- interactive gui for all autopilot calibrations ui/kivy -- work in progress kivy control app signalk/client.py -- console client signalk/client_wx.py -- graphical user version (wx widgets) signalk/scope.py -- glut plot client -- useful for sensors and control signalk/scope_wx.py -- plot client with wx widgets (for checked listbox) lcd/client.py -- autopilot control interface using GPIO pins. webapp/webapp.py -- python flask application that runs a webserver providing remote autopilot control through a browser