저희가 최종적으로 만든 코드 주소입니다. https://github.com/choinamki/plant_anomaly_detection_dji_spark_drone
2019년 캡스톤2 을 진행하면서 제가 맡은 부분은 드론 동작제어였습니다.
사용한 드론으로는 DJI 사에 spark 드론입니다. https://www.dji.com/kr/spark
DJI spark drone은 mobile sdk를 지원하며 ios와 android환경에서 돌아갑니다. 저는 android 환경에서 작업했습니다.
또한 제가 작업했을 때는 sdk 가 android 9.0 을 지원하지 않았습니다.
드론의 gps 데이터를 얻거나 드론을 수동으로 움직이거나 사진촬영, 동영상촬영 등을 할 수 있습니다.
들어올릴 수 있는 무게는 저희가 실험해보니 100g정도까지 들어올릴 수 있습니다. 더 자세한 것은 youtube 검색을 해보면 해외 사용자가 테스트 해본 결과가 올라와있습니다.
처음에 DJI 드론 위에다가 라즈베리파이와 5v 물펌프를 달아서 특정 잡초에게 제초제를 분사하는 드론을 만들려고 했습니다. 그러나 이륙중량의 한계로 다른 방식으로 프로젝트를 진행했습니다.
https://developer.dji.com/mobile-sdk/
DJI drone 을 개발할려면 DJI Developer 에 가입한 뒤 앱을 등록하고 api key 를 발급받아야 합니다.
해당 홈페이지에 가입하신 뒤 오른쪽 상단 본인 프로필 아이콘의 developer center 를 들어갑니다.
create app 버튼을 눌러 앱을 등록합니다.
여기서 중요한 점은 Package Name 이 우리가 만들려는 app과 일치해야합니다. 그렇지 않으면 android sdk 등록이 제대로 되지 않습니다. 저는 com.dji.Myapplication 으로 했습니다.
앱을 만들면 이메일 인증을 해야합니다. 본인이 가입했던 메일로 날아온 메일의 링크를 누르면 앱이 정상적으로 등록됩니다.
윗 사진을 볼 수 있어야 합니다.
이제 안드로이드 스튜디오에 dji sdk 를 설치해야합니다.
해당 주소에 android 부분을 따라서 진행하시면 됩니다.
build gradle 파일에 튜토리얼에서 제공해주는 코드를 적은 뒤 안드로이드 스튜디오에 코끼리 모양 버튼을 누르면 동기화가 진행되면서 dji sdk 가 설치됩니다.
왼쪽 위 상단에 코끼리 모양 동기화 버튼을 볼 수 있습니다.
그리고 윗 주소 튜토리얼을 따라가면서 manifest 부분에 api key 입력 부분에 아까 발급받은 키를 등록하고 앱을 build 하면 튜토리얼 마지막 이미지를 볼 수 있습니다.
DJI sdk 를 사용하기 위해서는 한 번 단말기가 인터넷과 연결되어 인증을 받아야 합니다. 그래야지 인증받은 파일이 로컬에 저장되고 다음부터 인터넷이 연결되있지 않아도 앱이 성공적으로 build 됩니다. 저는 갤럭시s10 android 9.0 을 쓰고 있기 때문에 전 핸드폰인 s7 android 8.0 을 사용했습니다. 핸드폰이 인터넷에 연결되어 있지 않았기 때문에 sdk 인증이 되지 않는 오류가 발생했었습니다.
이렇게하면 DJI spark 를 위한 app 을 개발할 준비가 끝납니다.
-추가적으로 적습니다.
혹시 내가 가지고 있는 단말기를 usb로 컴퓨터와 연결했는데 인식이 안되는 경우도 있습니다.
그 때는 먼저 핸드폰에 개발자옵션에 들어가서 usb디버그를 켰는지 확인합니다.
해당 옵션을 체크한 뒤 핸드폰을 연결하면 해당 pc 디버그를 허용하겠냐는 물음이 나옵니다. 확인 버튼을 누른 뒤
그리고 tool 메뉴에 connection assistant 를 들어가서 recan usb 를 누르고 그래도 안되면 next 버튼을 눌러서 요구사항을 진행하시면 성공적으로 안드로이드 스튜디오가 핸드폰 단말기를 잡아내는 것을 볼 수 있습니다.
'캡스톤_졸업작품' 카테고리의 다른 글
드론을 이용한 식물 이상탐지 - 드론 미디어 파일 관리 (2) | 2019.06.22 |
---|---|
드론을 이용한 식물 이상탐지 - 드론 움직임 동작 제어 (0) | 2019.06.21 |
안드로이드 java 서버컴퓨터 python tcp 통신 (2) | 2019.06.21 |
드론을 이용한 식물 이상탐지 시스템 (0) | 2019.06.20 |
4. 라즈베리파이 블루투스 사용하기 (0) | 2018.12.23 |