본문 바로가기

기타/유튜브

[코재시] 노트북으로 드론 날리기

오늘은 노트북으로 드론을 날려봤습니다.

조금 쉽게 접근하기위해 유튜브 영상으로도 만들어봤습니다.

 

이 영상이 필요하신 분

1. 드론 살 명분이 필요한 사람

2. 코딩인가? 파이썬인가? 그거 한 번 해볼까?

3. 내 아이를 4차 산업혁명의 주역으로 키우자

 

영상

https://youtu.be/g8-4I-1_-sc

 

 

 

 

 

일반적인 드론 작동원리
실습해볼 드론 작동원리
예제코드는 이 글 하단에도 있습니다

 

Tello 명령어 모음

 

 

<예제코드>

#
# Tello Python3 Control Demo 
#
# http://www.ryzerobotics.com/
#
# 1/1/2018

import threading 
import socket
import sys
import time
import platform  

host = ''
port = 9000
locaddr = (host,port) 


# Create a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

tello_address = ('192.168.10.1', 8889)

sock.bind(locaddr)

def recv():
    count = 0
    while True: 
        try:
            data, server = sock.recvfrom(1518)
            print(data.decode(encoding="utf-8"))
        except Exception:
            print ('\nExit . . .\n')
            break


print ('\r\n\r\nTello Python3 Demo.\r\n')

print ('Tello: command takeoff land flip forward back left right \r\n       up down cw ccw speed speed?\r\n')

print ('end -- quit demo.\r\n')


#recvThread create
recvThread = threading.Thread(target=recv)
recvThread.start()

while True: 
    try:
        python_version = str(platform.python_version())
        version_init_num = int(python_version.partition('.')[0]) 
       # print (version_init_num)
        if version_init_num == 3:
            msg = input("");
        elif version_init_num == 2:
            msg = raw_input("");
        
        if not msg:
            break  

        if 'end' in msg:
            print ('...')
            sock.close()  
            break

        # Send data
        msg = msg.encode(encoding="utf-8") 
        sent = sock.sendto(msg, tello_address)
    except KeyboardInterrupt:
        print ('\n . . .\n')
        sock.close()  
        break

 

반응형