Control Software for a 3D Printed Modular RC Rover
==================================================

This is the software used to control the rover described at https://avtanski.net/projects/rover.

The two executable scripts are:

* webcontrol.py - this script launches a Flask-based HTTP server at port 5000. You can use a
  web-browser (from computer or a phone) to control the rover. If you have a joystick it can
  also be used from the web browser - after loading the page you may have to press any joystick
  button to activate it.

  You can change the port number using the "--port <number>" command-line argument.

  The motor GPIO pins are defined in the "controller.py". Left motor is controlled via
  GPIO18 and GPIO17. Right motor is GPIO14 and GPIO4. You may need to adjust the values in
  "controller.py" to match the pins you have selected to control your rover.

* device_control.py - can be used to control the rover by pressing a button connected to a
  GPU pin (GPIO10 by default, you can change the pin in the code) and ground. The single button
  can be used to trigger one of several scripts, based on the push duration. Currently, a
  push longer than 1 second triggers the "hotspot.sh" script used to switch the RPi in hotspot
  mode. A 5+ second push will trigger the "shutdown.sh" script that triggers an ordered shutdown.
  You can change the durations and the scripts in the code.

More information about the project can be found here: https://avtanski.net/projects/rover
