KELP 스터디

Similar documents
디지털 공학

정보

02 앱을실행하는 3 가지방법 Mobile Apps >> 앱인벤터로작성한앱은다음과같은 3가지의방법으로실행이가능하다. 만약사용자가스마트폰이있고와이파이를사용하고있다면작성한앱을바로실행하여볼수있다. 가장바람직한방법이다. 스마트폰에구글 Play 스토어를통하여 App Invent

서현수

<BEDBC0CEBAA5C5CD2E687770>

목차 1. 앱인벤터 1.1 앱인벤터란? 1.2 앱인벤터지원기능 1.3 디자이너화면 1.4 블록조합화면 6. 앱등록하기 7. 참고자료 8. 별첨 2. 앱인벤터사용하기 2.1 크롬설치 2.2 구글가입 2.3 에뮬레이터설치 2.4 에뮬레이터실행 3. 앱인벤터시작하기 3.1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Orcad Capture 9.x

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

crazyflie2 code reading subak.io

DE1-SoC Board

컵드론 펌웨어 분석

4S 1차년도 평가 발표자료

MAX+plus II Getting Started - 무작정따라하기

hd1300_k_v1r2_Final_.PDF

Solaris Express Developer Edition

PowerPoint 프레젠테이션

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

K7VT2_QIG_v3

휠세미나3 ver0.4

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

고급 프로그래밍 설계

슬라이드 1

untitled

Secure Programming Lecture1 : Introduction

< > 1 2 '.... BLDC ESC GPS GPS.,.

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Motor Control Solution

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

슬라이드 1

SRC PLUS 제어기 MANUAL

TTA Journal No.157_서체변경.indd

Microsoft PowerPoint App Fundamentals[Part1].pptx

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

Facebook API

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Smart Power Scope Release Informations.pages

슬라이드 1

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

ARMBOOT 1

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

PowerPoint 프레젠테이션

CONTENTS 1. Approval Revision Record Scope Numbering of product Product Part No Lot. No Absolu

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Interstage5 SOAP서비스 설정 가이드

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

슬라이드 1

UNIST_교원 홈페이지 관리자_Manual_V1.0

DDX4038BT DDX4038BTM DDX4038 DDX4038M 2010 Kenwood Corporation All Rights Reserved. LVT A (MN)

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

슬라이드 1

기술 이력서 2.0

Microsoft Word doc

02 C h a p t e r Java

슬라이드 1

CPX-E-EC_BES_C_ _ k1

슬라이드 1

PRO1_02E [읽기 전용]

슬라이드 1

PRO1_04E [읽기 전용]

OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

Install stm32cubemx and st-link utility

LG-LU6200_ICS_UG_V1.0_ indd

윈도우시스템프로그래밍

PowerPoint 프레젠테이션

슬라이드 1

Index 1. Intro Install Connect Scratch 1.4 (Offline Editor) Scratch 2.0 (Online Editor) Connect f

PowerPoint 프레젠테이션

스마트월드캠퍼스 교육교제

WinCE 실험실습 #1

Microsoft Word - KSR2014S042

(SW3704) Gingerbread Source Build & Working Guide

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

untitled

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

고객 카드

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

Microsoft Word - CPL-TR wireshark.doc

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Remote UI Guide

*Ãßõ¿©Çà

Microsoft PowerPoint - SY-A3PSK-V1.pptx

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

SMB_ICMP_UDP(huichang).PDF

PowerPoint Presentation

슬라이드 1

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

chapter4

PowerPoint 프레젠테이션

Motor

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Transcription:

드론을이용한코딩실습 [ 드론을이용한앱인벤터코딩실습 ] 2017/09/09 이병오 snowfog@gmail.com

프로필 16 11 ~ 현재 : 드론학교이사 15 06 ~ 16 11 : 프리랜서 14 04 ~ 15 05 : 하이브테크이사 05 02 ~ 13 06 : 하이브테크대표 03 09 ~ 05 01 : 파수닷컴근무 03 02 ~ 03 08 : 사이텍소프트근무 01 07 ~ 02 11 : 이시큐리티근무 99 04 ~ 01 04 : 소프트프로텍근무

프로필 06 07 : 드라이버개발자를위한윈도우파일시스템 저술 03 03 ~ 16 11 : KOSR(www.kosr.org) 운영자

프로필 다수의 Windows 보안드라이버개발 보안 USB을위한매체제어드라이버 데이터복호화를위한 File System Filter Driver 보안인증을위한 File System Filter Driver NDIS 및 PCI 드라이버 안드로이드앱및게임개발 사회인야구톡 버스터라이더 철도청중계기관리앱 가상키보드

목차 앱인벤터개발환경구축 앱인벤터살펴보기 드론통신앱제작

앱인벤터개발환경구축 앱인벤터란개발환경구축 Tool Java Download 및설치 Chrome Brower Download 및설치 앱인벤터로그인 언어변경

앱인벤터 (App Inventor) 안드로이드앱개발도구및언어 구글과 MIT 가공동개발 MIT 에서웹서비스로제공 드래그 - 앤 - 드롭방식의블록코딩언어 프로그래밍및앱제작가능 심플한그래픽인터페이스제공 코딩교육용언어로많이사용 웹사이트에접속하여실행하는웹서비스 구글계정필요

앱인벤터 (App Inventor) App Inventor Servers

앱인벤터개발환경구축 앱인벤터란개발환경구축 Tool Java Download 및설치 Chrome Brower Download 및설치 앱인벤터로그인 언어변경

앱인벤터개발환경구축 자바 JDK(Java Development Kit) 설치 https://www.java.com/ko/ Chrome Brower 설치 https://www.google.com/chrome/browser/desktop/in dex.html App Inventor 사이트접속 http://appinventor.mit.edu/explore/index-2.html# http://ai2.appinventor.mit.edu/

앱인벤터개발환경구축 앱인벤터란개발환경구축 Tool Java Download 및설치 Chrome Brower Download 및설치 앱인벤터로그인 언어변경

Java Download

Java Download

Java 설치

Java 설치

Java 설치경로확인

앱인벤터개발환경구축 앱인벤터란개발환경구축 Tool Java Download 및설치 Chrome Brower Download 및설치 앱인벤터로그인 언어변경

Chrome Browser Download

Chrome Browser Download

구글계정만들기

구글로그인하기

앱인벤터개발환경구축 앱인벤터란개발환경구축 Tool Java Download 및설치 Chrome Brower Download 및설치 앱인벤터로그인 언어변경

앱인벤터로그인 MIT 사이트 http://appinventor.mit.edu/explore/index-2.html#

앱인벤터로그인

앱인벤터로그인

앱인벤터로그인

앱인벤터로그인

앱인벤터개발환경구축 앱인벤터란개발환경구축 Tool Java Download 및설치 Chrome Brower Download 및설치 앱인벤터로그인 언어변경

앱인벤터언어변경

앱인벤터언어변경

앱인벤터살펴보기 HelloWorld 프로젝트생성화면구성타이틀변경컴포넌트추가장비연결앱설치

HelloWorld 프로젝트생성 Start new project 메뉴선택

HelloWorld 프로젝트생성 Project Name : HelloWorld

HelloWorld 프로젝트생성

앱인벤터살펴보기 HelloWorld 프로젝트생성화면구성타이틀변경컴포넌트추가장비연결앱설치

앱인벤터화면구성 디자이너 (Designer) 스크린에보여지거나숨겨진컴포넌트들의조합 앱의사용자인터페이스디자인 블록에디터 (Blocks Editor) 컴포넌트들의블록을결합하여앱기능을프로그래밍하는곳

앱인벤터화면구성 - Designer 팔레트 (Palette) : 앱제작에필요한컴포넌트집합. 컴포넌트 (Components) : 뷰어에추가한컴포넌트리스트디자이너버튼 (Designer Button) : 디자이너화면전환버튼 뷰어 (Viewer) : 앱실행시표시되는화면 미디어 (Media) : 앱에서사용할오디오, 이미지파일등이등록된리스트 속성 (Properties) : 선택한컴포넌트의상세속성변경

앱인벤터화면구성 - Blocks Editor 블록 (Blocks) : 내장된블록과팔레트에서추가한컴포넌트의블록포함 블록버튼 (Blocks Button) : 블록에디터화면전환버튼 블록 (Block) : 블록과블록을연결하여앱기능설정 미디어 (Media) : 앱에서사용할오디오, 이미지파일등이등록된리스트 뷰어 (Viewer) : 블록영역에서드래그한블록들로프로그래밍할수있는영역

앱인벤터살펴보기 HelloWorld 프로젝트생성화면구성타이틀변경컴포넌트추가장비연결앱설치

Screen ==> HelloWorld 타이틀변경하기

타이틀변경하기

앱인벤터살펴보기 HelloWorld 프로젝트생성화면구성타이틀변경컴포넌트추가장비연결에뮬레이터연결앱설치

Label 컴포넌트추가 컴포넌트추가

Label Text 변경 컴포넌트추가

앱인벤터살펴보기 HelloWorld 프로젝트생성화면구성타이틀변경컴포넌트추가장비연결앱설치

장비와연결 AI Companion MIT AI2 Companion 설치 안드로이드폰구글플레이에서검색하여설치

장비와연결 - AI Companion MIT AI2 Companion 앱실행

장비와연결 - AI Companion Connect -> AI Companion 선택

장비와연결 - AI Companion Connect -> AI Companion 선택

장비와연결 - AI Companion MIT AI2 Companion 앱 6 자리코드입력 Scan QR code 로 QR 코드스캔

장비와연결 - AI Companion MIT AI2 Companion 앱 6 자리코드입력 Scan QR code 로 QR 코드스캔

앱인벤터살펴보기 HelloWorld 프로젝트생성화면구성타이틀변경컴포넌트추가장비연결앱설치

앱설치 Build ==> App(provide QR code for.apk) 실행

앱빌드 앱설치

QR 코드생성 앱설치

앱설치 MIT App 어플리케이션실행 Scan QR code 클랙

보안인증 앱설치

보안인증 앱설치

설치 앱설치

드론통신예제 (Kitrone) 프로젝트생성 BLE(Bluetooth Low Energy) 지원화면구성하기통신프로토콜이해하기블록코딩하기

Projects -> Start new project 프로젝트생성

Project name : KitroneEx 프로젝트생성

드론통신예제 (Kitrone) 프로젝트생성 BLE(Bluetooth Low Energy) 지원화면구성하기통신프로토콜이해하기블록코딩하기

BLE(Bluetooth Low Energy) 지원 BluetoothLE.aix 파일다운 (http://appinventor.mit.edu/extensions)

BLE(Bluetooth Low Energy) 지원 BluetoothLE.aix Import

BLE(Bluetooth Low Energy) 지원 BluetoothLE.aix Import

BLE(Bluetooth Low Energy) 지원 BluetoothLE.aix Import

BLE(Bluetooth Low Energy) 지원 BluetoothLE.aix Import

드론통신예제 (Kitrone) 프로젝트생성 BLE(Bluetooth Low Energy) 지원화면구성하기통신프로토콜이해하기블록코딩하기

Layout 추가 화면구성

컴포넌트추가 화면구성

BLE 추가 화면구성

Clock 추가 화면구성

드론통신예제 (Kitrone) 프로젝트생성 BLE(Bluetooth Low Energy) 지원화면구성하기통신프로토콜이해하기블록코딩하기

통신프로토콜 MSP (Multiwii Serial Protocol) Multiwii 에서사용되는시리얼통신프로토콜 (http://www.multiwii.com/wiki/index.php?title=multiwii_serial_protocol) App -> Drone preamble direction size command data CRC 0 1 2 3 4 5+Data Size 5+Data Size + 1 $ (33) M (77) < (66) Data Size MSP Command Max 64bytes checksum Drone -> App preamble direction size command data CRC 0 1 2 3 4 5+Data Size 5+Data Size + 1 $ M! Or > Data Size MSP Command Max 64bytes checksum

통신프로토콜 주요프로토콜 명령어 MSP_SET_RAW_RC_TINY MSP_ARM MSP_DISARM MSP_TRIM_UP MSP_TRIM_DOWN MSP_TRIM_LEFT MSP_TRIM_RIGHT 기능 기체움직임조정 (Roll/Yaw/Throttle 및 AUX 정보 ) 기체동작시작 기체동작종료 기체수평조정 기체수평조정 기체수평조정 기체수평조정 Index 0 0 ~ 250 Roll 값 1 0 ~ 250 Pitch 값 2 0 ~ 250 Yaw 값 3 0 ~ 250 Throttle 값 4 0 ~ 255 Aux 값

MSP Command #define MSP_IDENT 100 //out message multitype + multiwii version + protocol version + capability variable #define MSP_STATUS 101 //out message cycletime & errors_count & sensor present & box activation & current setting number #define MSP_RAW_IMU 102 //out message 9 DOF #define MSP_SERVO 103 //out message 8 servos #define MSP_MOTOR 104 //out message 8 motors #define MSP_RC 105 //out message 8 rc chan and more #define MSP_RAW_GPS 106 //out message fix, numsat, lat, lon, alt, speed, ground course #define MSP_COMP_GPS 107 //out message distance home, direction home #define MSP_ATTITUDE 108 //out message 2 angles 1 heading #define MSP_ALTITUDE 109 //out message altitude, variometer #define MSP_ANALOG 110 //out message vbat, powermetersum, rssi if available on RX #define MSP_RC_TUNING 111 //out message rc rate, rc expo, rollpitch rate, yaw rate, dyn throttle PID #define MSP_PID 112 //out message P I D coeff (9 are used currently) #define MSP_BOX 113 //out message BOX setup (number is dependant of your setup)

MSP Command #define MSP_MISC 114 //out message powermeter trig #define MSP_MOTOR_PINS 115 //out message which pins are in use for motors & servos, for GUI #define MSP_BOXNAMES 116 //out message the aux switch names #define MSP_PIDNAMES 117 //out message the PID names #define MSP_WP 118 //out message get a WP, WP# is in the payload, returns (WP#, lat, lon, alt, flags) WP#0-home, WP#16-poshold #define MSP_BOXIDS 119 //out message get the permanent IDs associated to BOXes #if defined(hex_nano) #define MSP_SET_RAW_RC_TINY 150 //in message 4 rc chan #define MSP_ARM 151 #define MSP_DISARM 152 #define MSP_TRIM_UP 153 #define MSP_TRIM_DOWN 154 #define MSP_TRIM_LEFT 155 #define MSP_TRIM_RIGHT 156 #endif

MSP Command #define MSP_SET_RAW_RC 200 //in message 8 rc chan #define MSP_SET_RAW_GPS 201 //in message fix, numsat, lat, lon, alt, speed #define MSP_SET_PID 202 //in message P I D coeff (9 are used currently) #define MSP_SET_BOX 203 //in message BOX setup (number is dependant of your setup) #define MSP_SET_RC_TUNING 204 //in message rc rate, rc expo, rollpitch rate, yaw rate, dyn throttle PID #define MSP_ACC_CALIBRATION 205 //in message no param #define MSP_MAG_CALIBRATION 206 //in message no param #define MSP_SET_MISC 207 //in message powermeter trig + 8 free for future use #define MSP_RESET_CONF 208 //in message no param #define MSP_SET_WP 209 //in message sets a given WP (WP#,lat, lon, alt, flags) #define MSP_SELECT_SETTING 210 //in message Select Setting Number (0-2) #define MSP_SET_HEAD 211 //in message define a new heading hold direction #define MSP_BIND 240 //in message no param #define MSP_EEPROM_WRITE 250 //in message no param #define MSP_DEBUGMSG 253 //out message debug string buffer #define MSP_DEBUG 254 //out message debug1,debug2,debug3,debug4

드론통신예제 (Kitrone) 프로젝트생성 BLE(Bluetooth Low Energy) 지원화면구성하기통신프로토콜이해하기블록코딩하기

블록프로그래밍 사용프로토콜 MSP_ACC_CALIBRATION : 205 MSP_ARM : 151 MSP_DISARM : 152 MSP_SET_RAW_RC_TINY : 150 UUID Service UUID : 0000ffe0-0000-1000-8000-00805f9b34fb Characteristic UUID : 0000ffe1-0000-1000-8000- 00805f9b34fb

장비검색 Scan 블록프로그래밍

블록프로그래밍 장비선택 - Available Device

연결해제 - Disconnect 블록프로그래밍

블록프로그래밍 가속도 / 자이로센서초기화 ACC Calibration

시동걸기 - Arm 블록프로그래밍

시동끄기 - Disarm 블록프로그래밍

모터돌리기 - Throttle 블록프로그래밍

모터돌리기 - Throttle 블록프로그래밍

모터돌리기 - Throttle 블록프로그래밍

모터돌리기 - Throttle 블록프로그래밍

모터돌리기 - Throttle 블록프로그래밍

패킷구성 - Throttle 블록프로그래밍

패킷초기화 - Throttle 블록프로그래밍

모터돌리기 - Throttle 블록프로그래밍

Q & A

감사합니다