- Hardware
- Car
- Phone
- Esp8266
- Software
- Computer Program to control
- Android app
- Board program
- Shall be able to connect to phone (ip address, port) in local network
- Shall be able to control car movement (forward / backward [-1.0, 1.0], steering [-1.0, 1.0])
- Shall be able to receive images from camera
- Shall be able to record it camera image
- Shall be able to receive GPS info, accelerometer value (?)
- Shall be able to receive phone info - battery percent
- Control usingKeyboard / Gamepad / Wheel ?
- Shall be able to run http server
- Shall be able to receive command for car movement
- Shall be able to stream camera to computer program in real time
- Shall be able to send GPS and other phone info
- Shall be able to connect the board and send command (speed, steering)
GET /camera
- return imageGET /info
- return phone infoGET /camerapREVIEW
- return a small imageGET /position?timeout=
- return GPS positionGET /drive?motor=[speed]&steering[angle]
- control carPOST /setStream?ipAddress=[ipAddress]&port[port]
- set the stream receiverPOST /startStream
- start stream to the set receiverPOST /stopStream
- stop stream
- Shall receive info from phone and set motors and steering according it.
- Communication using Wifi (hotspot) or serial port
- WIFI:
- In board program
USE_WIFI true
- Run on port
5101
- UDP Packet structure (3 bytes) -
[1, STEERING, MOTOR]
STEERING
-1
- LEFT,2
- RIGHT,3
- STRAIGHT, other values does not change current statusMOTOR
-1
- FORWARD,2
- BACKWARD,3
- STOP, other values does not change current status
- In board program
- Serial Port
- In board program
USE_WIFI false
- Communication via USB Serial.
- Packet structure (3 bytes) -
[1, STEERING, MOTOR]
STEERING
-1
- LEFT,2
- RIGHT,3
- STRAIGHT, other values does not change current statusMOTOR
-1
- FORWARD,2
- BACKWARD,3
- STOP, other values does not change current status
- In board program