2. Python을 이용한 드론 제어 (Tello 예제)
Python은 DJI Tello와 같은 드론을 직접 명령줄로 제어하는 데 탁월합니다. Tello는 명령을 위해 포트 8889, 상태를 위해 포트 8890에서 UDP 통신을 사용합니다.
2.1. Tello 연결 및 기본 명령 전송
먼저, 컴퓨터를 Tello의 Wi-Fi 네트워크에 연결합니다. 그런 다음 Python의 `socket` 모듈을 사용하여 명령을 보낼 수 있습니다.
import socket
import time
tello_ip = '192.168.10.1'
tello_port = 8889
local_port = 9000
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', local_port))
def send_command(command):
sock.sendto(command.encode('utf-8'), (tello_ip, tello_port))
response, _ = sock.recvfrom(128)
print(f"Command: {command}, Response: {response.decode('utf-8')}")
# SDK 모드 진입
send_command('command')
time.sleep(1)
# 기본 비행
send_command('takeoff')
time.sleep(5)
send_command('land')
time.sleep(3)
sock.close()
2.2. 간단한 비행 경로 프로그래밍
명령을 순서대로 구성하여 사각형 비행과 같은 비행 경로를 만들 수 있습니다.
# ... (이전 설정 코드) ...
send_command('command')
time.sleep(1)
send_command('takeoff')
time.sleep(5)
send_command('up 50')
time.sleep(3)
send_command('forward 100')
time.sleep(3)
send_command('right 100')
time.sleep(3)
send_command('back 100')
time.sleep(3)
send_command('left 100')
time.sleep(3)
send_command('land')
sock.close()
기억하세요: 항상 안전하고 개방된 환경에서 비행하고 드론의 배터리가 충전되어 있는지 확인하십시오.