forked from pypilot/pypilot
-
Notifications
You must be signed in to change notification settings - Fork 0
graemorrison/pypilot
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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
About
free autopilot for sailboats using signalk written in python
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 65.9%
- C++ 18.8%
- C 5.2%
- CSS 4.7%
- JavaScript 2.4%
- Makefile 1.4%
- Other 1.6%