스콜라/드론 매뉴얼 편집하기

통진고위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
''본 문서는 융합탐구동아리 [[스콜라]] 부원들을 위한 드론에 관한 전반적인 매뉴얼입니다. 스콜라 1기 멤버 [[안중원]]이 처음 작성했으며, 이후 추가 및 개선할 내용이 있다면 통진고 재학생 여러분이 지속적으로 반영해주시기 바랍니다.''
''본 문서는 융합탐구동아리 [[스콜라]] 부원들을 위한 드론에 관한 전반적인 매뉴얼입니다. 스콜라 1기 멤버 [[안중원]]이 처음 작성했으며, 이후 추가 및 개선할 내용이 있다면 통진고 재학생 여러분이 지속적으로 반영해주시기 바랍니다.''
스콜라 부원이 이 매뉴얼을 사용하고 있다면 소식을 들려주세요...
2020학년도에는 1학년들이 드론을 한번도 적하지 못한 상황에서 당시 2학년들의 설명에만 의존해서 활동을 조금만 할 수 있었지만 2021학년도에는 보다 구체화된 이 메뉴얼을 통하여 문제가 생겨도 잘 해결할 수 있을 듯하다.(by 스콜라 부원)


==개요==
==개요==
10번째 줄: 6번째 줄:
이하에 서술하는 모든 드론 조종 및 코딩에 앞서, 처음 비행을 시작할 때는 활성화(activation) 과정이 필요하다. 활성화 방법은 [[스콜라/드론 매뉴얼#스마트폰 조종|스마트폰 조종]] 문단에 상술한다.
이하에 서술하는 모든 드론 조종 및 코딩에 앞서, 처음 비행을 시작할 때는 활성화(activation) 과정이 필요하다. 활성화 방법은 [[스콜라/드론 매뉴얼#스마트폰 조종|스마트폰 조종]] 문단에 상술한다.


==스마트폰 조종==
== 스마트폰 조종 ==
Tello 및 Tello EDU 드론을 조종하기 위한 '''TELLO''' 앱은 [https://apps.apple.com/us/app/tello/id1330559633 앱스토어]와 [https://play.google.com/store/apps/details?id=com.ryzerobotics.tello&hl=ko 플레이스토어]를 통해 내려받을 수 있다. 앱을 실행하면 드론에 연결하라는 메시지와 함께 연결하는 방법이 나온다. 이 방법에 따라서 드론을 켜고, 스마트폰 와이파이를 드론에 연결하면 드론의 카메라 화면이 나온다. 아직 드론을 비행해보기 전이라면 활성화(activation)를 하라는 메시지가 나오는데, 이때 "Activate" 버튼을 누르면 조종 또는 코딩으로 그 드론을 비행시킬 수 있게 된다.
Tello 및 Tello EDU 드론을 조종하기 위한 '''TELLO''' 앱은 [https://apps.apple.com/us/app/tello/id1330559633 앱스토어]와 [https://play.google.com/store/apps/details?id=com.ryzerobotics.tello&hl=ko 플레이스토어]를 통해 내려받을 수 있다. 앱을 실행하면 드론에 연결하라는 메시지와 함께 연결하는 방법이 나온다. 이 방법에 따라서 드론을 켜고, 스마트폰 와이파이를 드론에 연결하면 드론의 카메라 화면이 나온다. 아직 드론을 비행해보기 전이라면 활성화(activation)를 하라는 메시지가 나오는데, 이때 "Activate" 버튼을 누르면 조종 또는 코딩으로 그 드론을 비행시킬 수 있게 된다.


46번째 줄: 42번째 줄:
#Tello.js 파일이 저장된 폴더(일반적으로 압축해제된 폴더)를 열고 shift 키를 누른 채로 마우스 오른쪽 버튼을 누른다.
#Tello.js 파일이 저장된 폴더(일반적으로 압축해제된 폴더)를 열고 shift 키를 누른 채로 마우스 오른쪽 버튼을 누른다.
#메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 누르면 콘솔 창이 뜬다.
#메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 누르면 콘솔 창이 뜬다.
#콘솔에서 다음 명령어를 입력하고 엔터를 누르면 Tello 확장기능 서버가 실행된다.<syntaxhighlight lang="bat">
#콘솔에서 다음 명령어를 입력하고 엔터를 누르면 Tello 확장기능 서버가 실행된다.<syntaxhighlight line="1">
node Tello.js
node Tello.js
</syntaxhighlight>
</syntaxhighlight>
228번째 줄: 224번째 줄:


#Multi-Tello-Formation 폴더에서 Shift를 누른 채 마우스 오른쪽 버튼을 눌러서 나온 메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 눌러 콘솔창을 실행한다.
#Multi-Tello-Formation 폴더에서 Shift를 누른 채 마우스 오른쪽 버튼을 눌러서 나온 메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 눌러 콘솔창을 실행한다.
#다음 명령어로 pip와 netifaces, netaddr 패키지를 설치한다.<syntaxhighlight lang="bat">
#다음 명령어로 pip와 netifaces, netaddr 패키지를 설치한다.<syntaxhighlight line="1">
C:\Python27\python get-pip.py
C:\Python27\python get-pip.py
C:\Python27\python -m pip install netifaces netaddr
C:\Python27\python -m pip install netifaces netaddr
236번째 줄: 232번째 줄:
다음 순서에 따라 드론을 군집비행에 맞게 준비한다. Multi-Tello-Formation 폴더에 콘솔은 미리 켜 놓는다.
다음 순서에 따라 드론을 군집비행에 맞게 준비한다. Multi-Tello-Formation 폴더에 콘솔은 미리 켜 놓는다.


#Multi-Tello-Formation 폴더의 formation_setup.py의 26번째 줄을 다음과 같이 수정한다. 이때 와이파이의 이름(SSID)과 비밀번호에는 공백문자(' ')나 언더바('_')가 있으면 안 된다. 과학실 및 학교 와이파이 이름에는 대부분 언더바가 들어가므로, 스마트폰 핫스팟을 켜고 핫스팟의 이름과 비밀번호를 입력하는 것이 좋다. 핫스팟은 군집 비행을 준비하고 실행하는 동안 계속 켜놓는다.<syntaxhighlight lang="python2" line="1" start="26">
#Multi-Tello-Formation 폴더의 formation_setup.py의 26번째 줄을 다음과 같이 수정한다. 이때 와이파이의 이름(SSID)과 비밀번호에는 공백문자(' ')나 언더바('_')가 있으면 안 된다. 과학실 및 학교 와이파이 이름에는 대부분 언더바가 들어가므로, 스마트폰 핫스팟을 켜고 핫스팟의 이름과 비밀번호를 입력하는 것이 좋다. 핫스팟은 군집 비행을 준비하고 실행하는 동안 계속 켜놓는다.<syntaxhighlight lang="python" line="1" start="26">
set_ap('Wifi이름', 'Wifi비밀번호')
set_ap('Wifi이름', 'Wifi비밀번호')
</syntaxhighlight>
</syntaxhighlight>
#노트북 와이파이를 코딩하려는 드론에 연결한다.
#노트북 와이파이를 코딩하려는 드론에 연결한다.
##전원 버튼을 눌러 드론을 켠다. 드론이 무지개빛으로 반짝이다가 노란불이 빠르게 깜빡이는 상태가 되면 와이파이를 연결할 수 있다.
##전원 버튼을 눌러 드론을 켠다. 드론이 무지개빛으로 반짝이다가 노란불이 빠르게 깜빡이는 상태가 되면 와이파이를 연결할 수 있다.
##노트북 와이파이를 드론에 연결한다. 와이파이 이름은 드론의 배터리 넣는 칸 안에 적혀있다. 현재 과학실의 Tello EDU 드론은 와이파이 이름(SSID)과 시리얼 ID가 라벨링되어있지 않은데, 라벨링하여 사용하길 추천한다.
##노트북 와이파이를 드론에 연결한다. 와이파이 이름은 드론의 배터리 넣는 칸 안에 적혀있다. 현재 과학실의 Tello EDU 드론은 와이파이 이름(SSID)과 시리얼 ID가 라벨링되어있지 않은데, 라벨링하여 사용하길 추천한다.
#다음 명령어를 통해 formation_setup.py를 실행한다.<syntaxhighlight lang="bat">
#다음 명령어를 통해 formation_setup.py를 실행한다.<syntaxhighlight>
C:\Python27\python formation_setup.py
C:\Python27\python formation_setup.py
</syntaxhighlight>성공적으로 실행됐다면 콘솔에 다음 메시지가 뜬다. 동시에 드론 3초 뒤 재부팅돼서 처음 켤 때처럼 노란불이 깜빡이는 상태가 된다.<syntaxhighlight lang="text">
</syntaxhighlight>성공적으로 실행됐다면 콘솔에 다음 메시지가 뜬다. 동시에 드론 3초 뒤 재부팅돼서 처음 켤 때처럼 노란불이 깜빡이는 상태가 된다.<syntaxhighlight>
sending command command
sending command command
from ('192.168.10.1', 8889): ok
from ('192.168.10.1', 8889): ok
252번째 줄: 249번째 줄:
#2~3번 과정을 모든 군집비행 드론에 대해 반복한다.
#2~3번 과정을 모든 군집비행 드론에 대해 반복한다.
#드론들을 연결시킨 와이파이(또는 스마트폰 핫스팟)에 노트북도 연결한다.
#드론들을 연결시킨 와이파이(또는 스마트폰 핫스팟)에 노트북도 연결한다.
#ip.txt의 내용을 다음과 같이 변경한다.<syntaxhighlight lang="text">
#ip.txt의 내용을 다음과 같이 변경한다.<syntaxhighlight>
scan [드론 개수]
scan [드론 개수]
</syntaxhighlight>
</syntaxhighlight>
#다음 명령어로 준비한 드론이 모두 연결되었는지 확인한다.<syntaxhighlight lang="bat">
#다음 명령어로 준비한 드론이 모두 연결되었는지 확인한다.<syntaxhighlight>
C:\Python27\python multi_tello_test.py ip.txt
C:\Python27\python multi_tello_test.py ip.txt
</syntaxhighlight>
</syntaxhighlight>


===실행===
===실행===
메모장으로 코딩을 완료한 뒤 Multi-Tello-Formation 폴더에 저장했다면 다음 명령어로 군집비행을 실행할 수 있다.<syntaxhighlight lang="bat">
메모장으로 코딩을 완료한 뒤 Multi-Tello-Formation 폴더에 저장했다면 다음 명령어로 군집비행을 실행할 수 있다.<syntaxhighlight>
C:\Python27\python multi_tello_test.py [코드파일이름]
C:\Python27\python multi_tello_test.py [코드파일이름]
</syntaxhighlight>
</syntaxhighlight>
321번째 줄: 318번째 줄:
|-
|-
|<code>[N]>Re [명령어]</code>
|<code>[N]>Re [명령어]</code>
|<code>[N]>[명령어]</code>와 동작은 같지만 패킷 손실을 방지하기 위한 내부 처리가 추가로 이루어진다.
|<code>[N]>[명령어]</code>와 동작은 같지만 패킷 손실을 위한 내부 처리가 추가로 이루어진다.
|<code>2>cw 180</code>
|<code>2>cw 180</code>
|-
|-
457번째 줄: 454번째 줄:
|}
|}


==Tello 와이파이 초기화==
== Tello 와이파이 초기화 ==
드론의 전원을 켠 뒤, 전원 버튼을 5초간 누른다. 지시등이 꺼졌다가 다시 켜져 노란불이 깜빡이면 초기화된 것이다. 이때 드론의 와이파이와 비밀번호가 초기화되는 것은 물론, 군집비행이나 ap 명령어로 설정한 핫스팟 연결도 해제된다.
드론의 전원을 켠 뒤, 전원 버튼을 5초간 누른다. 지시등이 꺼졌다가 다시 켜져 노란불이 깜빡이면 초기화된 것이다. 이때 드론의 와이파이와 비밀번호가 초기화되는 것은 물론, 군집비행이나 ap 명령어로 설정한 핫스팟 연결도 해제된다.


==Tello 지시등==
== Tello 지시등 ==
Tello 지시등의 색깔은 Tello의 다양한 상태를 나타낸다.
Tello 지시등의 색깔은 Tello의 다양한 상태를 나타낸다.


*알록달록하게 깜빡임: 전원을 켜고 자가진단 실행 중.
* 알록달록하게 깜빡임: 전원을 켜고 자가진단 실행 중.
*녹색으로 두번씩 깜빡임: [[스콜라/드론 매뉴얼#VPS|VPS]] 작동중.
* 녹색으로 두번씩 깜빡임: [[스콜라/드론 매뉴얼#VPS|VPS]] 작동중.
*노란색으로 천천히 깜빡임: VPS 사용 불가.
* 노란색으로 천천히 깜빡임: VPS 사용 불가.
*노란색으로 빨리 깜빡임: 와이파이 연결 신호 끊어짐.
* 노란색으로 빨리 깜빡임: 와이파이 연결 신호 끊어짐.
*빨간색으로 천천히 깜빡임: 배터리 부족.
* 빨간색으로 천천히 깜빡임: 배터리 부족.
*빨간색으로 빨리 깜빡임: 배터리 매우 부족.
* 빨간색으로 빨리 깜빡임: 배터리 매우 부족.
*일정한 빨간색: 심각한 오류.
* 일정한 빨간색: 심각한 오류.


==VPS==
== VPS ==
Vision Positioning System의 약자로, 카메라에 찍힌 영상을 통해 기체의 위치를 조정하는 모드이다. VPS 모드가 비활성화되는 조건 추가예정.
Vision Positioning System의 약자로, 카메라에 찍힌 영상을 통해 기체의 위치를 조정하는 모드이다. VPS 모드가 비활성화되는 조건 추가예정.

통진고위키에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은 통진고위키:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)