Android application to wireless robot control. The application is built in Python based on the kivy library. It allows you to control a mobile robot built specifically for this project. The application consists of the main menu, selection of control, manual control, control by draw a route for robot and a window for displaying the robot's speed and direction.
The easiest way is to install the file my_app.apk.
If you want to change something in the code, you have to build the application again. The buildozer tool is used for this. Instruction on how to use the buildozer tool is available at this link Buildozer. Use "Installing Buildozer with target Python 3" section. If you want to use Python 2 you have to delete "python3crystax" from requirements in buildozer.spec file
When building the application, replace the generated buildozer.spec file with the one from this repository. If you don't do this, the application will not work correctly.
To build the application use the Cython version == 0.25.2. It may not work with newer versions.
First, run app_server.py on RaspberryPi. The console displays the address where the server listens for connections.
In mobile appplication after pressing the WI-Fi logo, it is possible to connect to the server that is on the robot. After the correct connection, the tick icon will appear. In the MANUAL CONTROL tab, you can set the speed of the robot, the direction of movement, turn on the indicator and change the robot's turn by rotating the phone. In the AUTO CONTROL tab you can draw a route that the robot has to drive. In the DATABASE tab, after clicking on the database icon, the speed and direction of the robot will be drawn.
- Kivy - Library for development of applications
- Kivy-Garden - Project to centralize addons for Kivy maintained by users
- PyGame - Library for making multimedia applications like games built on top of the SDL library
- Pillow - Imaging Library
- Plyer - Library for accessing features of your hardware / platforms
- Pyjnius - Library for accessing Java classes
- Cython - Optimising static compiler for both the Python programming language and the extended Cython programming language
- RPi.GPIO - Package provides a class to control the GPIO on a Raspberry Pi
- netifaces - Library to get the address(es) of the machine’s network interfaces from Python
- Numpy - Package for scientific computing
- Przemysław Kanach - Przemysław Kanach