Replacement for the WL Tech FPV CAR App for the WLtoys 6405 Mini RC Cars (1:64 scale)
The communication protocol for the model 6405 camera is different from the model 6401. For video transmission, the model 6401 uses the RTSP connection (rtsp://172.16.11.1/live/ch00_1), while the model 6405 uses a proprietary protocol over UDP. The code for the model 6401 is located in the "6401" folder. The file camera.py (or the C version, camera.c) translates the proprietary protocol of incoming UDP packets arriving on port 1234, assembling H.265 frames and sending them to ffplay. The control protocol is the same as for the 6401. The files keyboard_ffplay.py and josystick_ffplay.py allow you to control the car and also establish a connection with the camera.
Python file for decoding and displaying a WLtoys 6405 Mini RC Car FPV camera connected via WiFi. It starts the camera's video stream in ffplay for FPV. ffplay must be installed on the OS for this to work.
To run, type the following in the terminal:
python camera_ffplay.py
Python file for using the left analog stick of a joystick as input to drive a WLtoys 6405 Mini RC Car connected via WiFi. It uses a 6% deadzone of the stick to avoid constant motor noise when the stick is not precisely centered. It starts the camera's video stream in ffplay for FPV driving. ffplay must be installed on the OS for this to work.
To run, type the following in the terminal:
python joystick_ffplay.py
You may need to install the pygame library first. To do this, type the following in the terminal :
pip install pygame
Python file for using the keyboard as input to drive a WLtoys 6405 Mini RC Car connected via WiFi. It starts the camera's video stream in ffplay for FPV driving. ffplay must be installed on the OS for this to work. You must keep the PyGame windows on focus to use the keyboard.
To run, type the following in the terminal:
python keyboard_ffplay.py
You may need to install the pygame library first. To do this, type the following in the terminal:
pip install pygame
I purchased the WLtoys 6405 Mini RC Car from AliExpress: https://pt.aliexpress.com/item/1005009916259083.html
I downloaded the WL Tech FPV CAR Android APK file from: http://app.eastgallop.com/custom/wl/wl_tech_fpv_car/
I tried using the 6401 scripts, but they didn't work. I then decided to reverse engineer the 6405 packets.
I used an Android app called PCAPdroid to see what data is transmitted to the RC car. It was mostly the same hex string sent to IP addresses 172.16.11.1 on ports 23458 and 23459 via UDP.
The UDP packets on port 23459 are used to enable/disable camera transmission of UDP packets on port 1234.
Using Wireshark and these scripts in the "wireshark" folder, you can decode the data and see the commands.