Skip to content

rrodrigofranco/jjrc-h68-drone-flight-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drone JJRC H68

The JJRC H68 is a budget-friendly drone with a built-in 720p camera. The code in this repository allows full control of the drone's movement using a joystick and also receives the camera feed (which can be used for image processing). The code was written in Python 3 and tested on Kali Linux 20.02.

To analyze the traffic, I connected my phone to the drone's app and performed a man-in-the-middle attack using airodump-ng along with Wireshark. I discovered that the app uses the UDP protocol to send control commands and the TCP protocol to stream video.

JJRC H68 Drone


Package Installation

First, update your package list:

sudo apt-get update

Then, install the following dependencies:

  1. GStreamer
sudo apt-get install gstreamer1.0-tools
sudo apt-get install -y gstreamer1.0-plugins-bad
  1. Pygame
sudo apt-get install python3-pygame
  1. GUI Libraries
sudo apt-get install -y qt5-default libvtk6-dev
  1. Tkinter and other components
sudo apt-get install -y python-dev python-tk pylint python-numpy \
python3-dev python3-tk pylint3 python3-numpy flake8
  1. OpenCV
sudo apt-get install libopencv-dev python3-opencv

How to Run?

  1. Connect to the drone's Wi-Fi network.
  2. Run the file:
python3 run_me.py

What's in this repository?

The code is organized into the following folders:

  1. camera - All camera-related code
  2. control - All drone control code
  3. general - General-purpose code
  4. sniffes - Network traffic captures between the drone and the app

Useful Terminal Commands

  1. Intercept wlan0 network:
tcpdump -vv -nn -i wlan0
  1. Check for processes that might interfere with monitoring:
airmon-ng check
  1. Kill conflicting processes:
airmon-ng check kill
  1. Enable monitoring mode:
airmon-ng start wlan0
  1. Intercept network in monitor mode:
tcpdump -vv -nn -i wlan0mon
  1. Set monitor mode to a specific channel:
iwconfig wlan0mon channel 2
  1. View networks detected by the adapter:
airodump-ng wlan0mon
  1. Monitor a specific channel:
airodump-ng -c 2 wlan0mon
  1. Exit monitor mode:
airmon-ng stop wlan0mon
  1. Restart network configurations:
service network-manager restart

Releases

No releases published

Packages

No packages published

Languages