SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Sky Rover Nano
마을이야기 - 1. 우리는 왜 GCS 를 만들었는가...
쿼드콥터 기체 제작 정보를 공유하는 이는 많다…
그라운드 스테이션은 누가 ?
GCS(Ground Controller Station) 란 ?
지상 또는 해상의 공간에서 무인차량을 제어 및 관측 할 수 있도록 지원하는 제어 솔류션
- Wiki GCS 중 ..
1. 제어부(Controller)
멀티제어 RC 카 중
o USB 및 wireless 무선 통신 컨
트롤 소스를 응용 SkyRover
Nano 시리얼 통신 제어부 구현
2. 관측부(Station)
멀티제어 RC 카 중
o WebIOPi 기반으로 TCP/IP 통신을 이용한 멀티디바이스 형태로
관측센터를 기초 디자인 및 구현 결정
마을이야기 - 1. 우리는 왜 GCS 를 만들었는가...
마을이야기 - 2. 시작은 이렇게 – 스마트폰 제어 테스트
1. 골드베이스가 드디어 쿼드콥터를 갖게 되었다.
2. 아이폰(안드로이드폰)을 가지고 스카이나노를 조종하였다.
데이터 전송 요청
• 통신포트 : 블루투스
• 앱 기능 :
- 통신 연결
- 모터 회전
- 센서를 이용한 스카이나노 제어
데이터 응답데이터 응답
마을이야기 - 2. 시작은 이렇게 – 멀티 위 콘피그 테스트
1. Multi-Wii Config 에 연결.
데이터 전송 요청
데이터 응답
• 통신포트 : uart
(nano uart  u2s(usb to serial)  PC USBN)
• Multi-Wii Config : 통신 연결
- 모터 회전
- 센서들의 현재 값 모니터링
- 센서들의 환경설정
마을이야기 - 2. 시작은 이렇게 – 부트로더 및 펌웨어 업로드 테스트
1. 부트로더와 펌웨어를 올려보았다.
• 부트로더 통신포트 : uart 또는 usb
(PC USB  usb to serial  nano serial )
• 펌웨어 통신포트 : uart
(PC USB  usb to serial  nano serial )
STM32 GUI Upload APP
마을이야기 - 2. 시작은 이렇게 – 모니터링 테스트
1. MultiWii Config 는 설정/개발용 프로그램.
2. 사용자가 모니터링 하는 프로그램은 없을까 ?
통신연결, 모터제어
모터속도 ???
센서 값 ???
마을이야기 - 3. 구글링 선생님께 질문하다
1. Multi-GCS
① HUD ( Head-Up Display )
② Live Moving Map
③ Multi Wii Config
MavLink, OpenPilot
④ Video Player
⑤ Web-Server 독일 오픈 프로젝트 팀으로 추정됨
1. 이제 나노와 연결 해 보자
고려사항 비고
기능 적인 측면 Wonderful
성능적인 측면(speed, freezing) Overclock 후 사용할만 함
Source 해석가능 여부 C, make 로 가능성이 있음
통신 방식 블루투스가 없다
① Multi GCS의 통신 부분만 수정할 것인가?
② 처음부터 개발할 것인가?
마을이야기 - 3. 구글링 선생님께 질문하다 – 시험에 들다
2. Bluetooth 통신의 부재 ( 택1 )
시험의 길
• 제어부 개발
• 통신부(블투) 개발
• Cross Device 지원
• Multi GCS 분석
• 통신부 개발
라즈베리파이
Wifi Network
localhost
blue.py
receive
send
udp
webiopi
Joystick.py
PC phone
마을이야기 - 3. 구글링 선생님께 질문하다 – 無名 프로그램 설계
BLE Sensor DATA
BLE Control DATA
USB , wireless
Joystick
1. 무명프로그램의 구조
마을이야기 - 3. 구글링 선생님께 질문하다 – MSP 분석
2. MSP (MultiWii Serial Protocol) 분석
1) Data 구조
① Header : “$M<“ + length
② Data : Data Structure
③ Checksum
2) [제어명령] rpi  nano 조이스틱 컨트롤
① Joystick 입력
② Rpi  nano 로 pitch, roll, yaw, throttle, aux 값 적용 요청
• ( MSP_SET_RAW_RC_TINY 로 간단히 nano를 제어할 수 있다. )
③ Nano  rpi 적용 완료 응답
3) [Data명령] nano  rpi 센서 데이터
① Rpi  nano 센서 데이터 요청
② nano  rpi 데이터 응답
마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객
1. 산딸기 마을 강좌에 bluez package 사용법이 있었다.
① rfcomm device pairing 시 오류 발생
② Bluepy Opensource
o 테스트 프로그램을 이용한 Pairing 구현
발생원인 :
o Linux Kernel Version 문제  리눅스 커널 변경
o Sky Nano BLE rfcomm protocol 미지원 문제
Bluepy
https://github.com/IanHarvey/bluepy
마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객
2. rpi-mw ( 라즈베리파이 MSP 통신 example )
① Aldo Vargas
② MSP 센서 데이터 수신
③ https://github.com/alduxvm/rpi-mw
④ Python
⑤ BLE가 아닌 Serial 통신을 이용
⑥ 개발자가 라즈베리파이, osx로 테스트 한 소스
⑦ struct.pack 함수가 다르게 동작하는 것인지, osx는 동작하는데 rpi에서 동작 안함
마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객
3. rpi-mw ( [제어명령] rpi  nano 조이스틱 컨트롤 )
1) Serial 통신  bluepy 적용
2) Motor run 이 안된다.
① 어디까지 통신이 되고 있는지 알기 위해 firmware source를 분석
② 분석에서도 그렇다할 진전이 없어 firmware에 print문은 남발하여 디버깅
( usb port 사용 )
③ Data의 Header부 “$M<“는 잘 들어옴.
④ Length가 맞지 않음
⑤ uint8_t (1byte), uint16_t(2byte) 의 type
마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객
4. rpi-mw ([Data명령] nano  rpi 센서 데이터 )
1) 센서 데이터 수신
2) Serial 통신  bluepy 적용
3) Data 수신시 Error ( Notify ) 발생.
① rpi에서 수신 Data Print 해보니 Data가 잘려서 수신됨
Nano 송신
Rpi 수신 1.
Rpi 수신 2.
Rpi 수신 3.
② Library를 수정(Notify 무시, Notify 발생 Data 는 합침)
③ 수신 성공
$ M < 0 6 1 2 3 4 1
$ M < 0
6 1 2
3 4 1
Notify
Notify
Notify
마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객
5. 모든 Data를 받아보자.
① MSP는 Data의 종류별로 명령어가 다름 (MSP_RC, MSP_MOTOR)
• https://github.com/alduxvm/rpi-mw/blob/master/rpi-mw.py
② 데이터를 모두 받고 싶다.
• 5-6 개의 명령어 송신
• 1개의 명령어 실행시 0.02sec 대기
•  update 주기가 길어짐
③ Delay를 0.01로 줄이면 ?
• Data 수신 에러 발생
④ Firmware에 allDataSend() 함수 추가
•  Data Size가 늘어나지만, 그에 따른 문제는 없음
마을이야기 - 5. 디자인은 언제?
1. 웹 모니터링 페이지

Mais conteúdo relacionado

Mais procurados

강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요chcbaram
 
강좌 06 부트로더
강좌 06 부트로더강좌 06 부트로더
강좌 06 부트로더chcbaram
 
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍chcbaram
 
OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발chcbaram
 
강좌 03 개발환경 구축
강좌 03 개발환경 구축강좌 03 개발환경 구축
강좌 03 개발환경 구축chcbaram
 
강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노chcbaram
 
사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리Dong Hwa Jeong
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계chcbaram
 
OpenCV 에서 OpenCL 살짝 써보기
OpenCV 에서 OpenCL 살짝 써보기OpenCV 에서 OpenCL 살짝 써보기
OpenCV 에서 OpenCL 살짝 써보기Seunghwa Song
 
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9종인 전
 
오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개SungTae Moon
 
Hm10 Research sheets
Hm10 Research sheetsHm10 Research sheets
Hm10 Research sheetsyyooooon
 
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)Ubuntu Korea Community
 
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)Ubuntu Korea Community
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치ymtech
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Settingymtech
 
사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본Dong Hwa Jeong
 
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드종인 전
 

Mais procurados (20)

강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요강좌 01 ARM 프로세서 개요
강좌 01 ARM 프로세서 개요
 
강좌 06 부트로더
강좌 06 부트로더강좌 06 부트로더
강좌 06 부트로더
 
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍
 
OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발OpenCR 아두이노 펌웨어개발
OpenCR 아두이노 펌웨어개발
 
강좌 03 개발환경 구축
강좌 03 개발환경 구축강좌 03 개발환경 구축
강좌 03 개발환경 구축
 
강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노
 
사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
 
OpenCV 에서 OpenCL 살짝 써보기
OpenCV 에서 OpenCL 살짝 써보기OpenCV 에서 OpenCL 살짝 써보기
OpenCV 에서 OpenCL 살짝 써보기
 
D2 Havok
D2 HavokD2 Havok
D2 Havok
 
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
 
오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개
 
Hm10 Research sheets
Hm10 Research sheetsHm10 Research sheets
Hm10 Research sheets
 
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
 
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Setting
 
사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본
 
pyOpenCL 입문
pyOpenCL 입문pyOpenCL 입문
pyOpenCL 입문
 
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
 

Destaque

몰디브 허니문 안내 & 제안서
몰디브 허니문 안내 & 제안서 몰디브 허니문 안내 & 제안서
몰디브 허니문 안내 & 제안서 Mal-Yong Yoon
 
130423 nano
130423 nano130423 nano
130423 nanogilforum
 
Fusion prj-proposal for 10 2 class
Fusion prj-proposal for 10 2 classFusion prj-proposal for 10 2 class
Fusion prj-proposal for 10 2 classWoojin Joe
 
Embedded R Execution using SQL
Embedded R Execution using SQLEmbedded R Execution using SQL
Embedded R Execution using SQLBrendan Tierney
 
Python 내장 함수
Python 내장 함수Python 내장 함수
Python 내장 함수용 최
 
Hics ir 11.1.0_slideshare_150920
Hics ir 11.1.0_slideshare_150920Hics ir 11.1.0_slideshare_150920
Hics ir 11.1.0_slideshare_150920SeonOh Lee
 
Carbon Nano Tube
Carbon Nano TubeCarbon Nano Tube
Carbon Nano TubeJahee Lee
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍Changwon Choe
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in pythondaesung7kang
 
병렬 프로그래밍
병렬 프로그래밍병렬 프로그래밍
병렬 프로그래밍준혁 이
 
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentationre4lfl0w
 
병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임codenavy
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Ki-Hwan Kim
 
Java와 Python의 만남: Jython과 Sikuli
Java와 Python의 만남: Jython과 SikuliJava와 Python의 만남: Jython과 Sikuli
Java와 Python의 만남: Jython과 Sikuli용 최
 
병렬프로그래밍과 Cuda
병렬프로그래밍과 Cuda병렬프로그래밍과 Cuda
병렬프로그래밍과 CudaSeok-joon Yun
 
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보Young Hoo Kim
 
Python Recipes for django girls seoul
Python Recipes for django girls seoulPython Recipes for django girls seoul
Python Recipes for django girls seoulJoeun Park
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해용 최
 
Machine Learning Real Life Applications By Examples - Mario Cartia
Machine Learning Real Life Applications By Examples - Mario CartiaMachine Learning Real Life Applications By Examples - Mario Cartia
Machine Learning Real Life Applications By Examples - Mario CartiaData Driven Innovation
 

Destaque (20)

몰디브 허니문 안내 & 제안서
몰디브 허니문 안내 & 제안서 몰디브 허니문 안내 & 제안서
몰디브 허니문 안내 & 제안서
 
130423 nano
130423 nano130423 nano
130423 nano
 
Fusion prj-proposal for 10 2 class
Fusion prj-proposal for 10 2 classFusion prj-proposal for 10 2 class
Fusion prj-proposal for 10 2 class
 
Embedded R Execution using SQL
Embedded R Execution using SQLEmbedded R Execution using SQL
Embedded R Execution using SQL
 
Python 내장 함수
Python 내장 함수Python 내장 함수
Python 내장 함수
 
Hics ir 11.1.0_slideshare_150920
Hics ir 11.1.0_slideshare_150920Hics ir 11.1.0_slideshare_150920
Hics ir 11.1.0_slideshare_150920
 
Carbon Nano Tube
Carbon Nano TubeCarbon Nano Tube
Carbon Nano Tube
 
Curs 1.2. Legal Open Data (28/03)
Curs 1.2. Legal Open Data (28/03)Curs 1.2. Legal Open Data (28/03)
Curs 1.2. Legal Open Data (28/03)
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in python
 
병렬 프로그래밍
병렬 프로그래밍병렬 프로그래밍
병렬 프로그래밍
 
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
 
병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
 
Java와 Python의 만남: Jython과 Sikuli
Java와 Python의 만남: Jython과 SikuliJava와 Python의 만남: Jython과 Sikuli
Java와 Python의 만남: Jython과 Sikuli
 
병렬프로그래밍과 Cuda
병렬프로그래밍과 Cuda병렬프로그래밍과 Cuda
병렬프로그래밍과 Cuda
 
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
 
Python Recipes for django girls seoul
Python Recipes for django girls seoulPython Recipes for django girls seoul
Python Recipes for django girls seoul
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해
 
Machine Learning Real Life Applications By Examples - Mario Cartia
Machine Learning Real Life Applications By Examples - Mario CartiaMachine Learning Real Life Applications By Examples - Mario Cartia
Machine Learning Real Life Applications By Examples - Mario Cartia
 

Semelhante a 라즈베리파이 와 스카이로버 나노에 만남

GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지Kyunghee Univ
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료choi kyumin
 
[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbedsangyun han
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)Channy Yun
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현NAVER D2
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack CommunityOpen Source Consulting
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solutionOpenStack Korea Community
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기Miyu Park
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control PlaneSeungYong Baek
 
Hyperconnect pycon 2019
Hyperconnect pycon 2019Hyperconnect pycon 2019
Hyperconnect pycon 2019Jun Young Lee
 
한대희 Web proxy_개발_2006년11월_pas_ktf
한대희 Web proxy_개발_2006년11월_pas_ktf한대희 Web proxy_개발_2006년11월_pas_ktf
한대희 Web proxy_개발_2006년11월_pas_ktfDaehee Han
 
댓글 플러그인 아포가토
댓글 플러그인 아포가토댓글 플러그인 아포가토
댓글 플러그인 아포가토Goonoo Kim
 
[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1st[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1stPark Jonggun
 
IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍OnGameServer
 
if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01Klaytn
 
Ipv6 소켓프로그래밍
Ipv6 소켓프로그래밍Ipv6 소켓프로그래밍
Ipv6 소켓프로그래밍Heo Seungwook
 

Semelhante a 라즈베리파이 와 스카이로버 나노에 만남 (20)

GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
GOTHAM 오픈소스 메쉬 네트워킹 소프트웨어 패키지
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 
[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed[SoftCon]SDN/IoT 그리고 Testbed
[SoftCon]SDN/IoT 그리고 Testbed
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community
 
ipv6_study.pdf
ipv6_study.pdfipv6_study.pdf
ipv6_study.pdf
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control Plane
 
Hyperconnect pycon 2019
Hyperconnect pycon 2019Hyperconnect pycon 2019
Hyperconnect pycon 2019
 
한대희 Web proxy_개발_2006년11월_pas_ktf
한대희 Web proxy_개발_2006년11월_pas_ktf한대희 Web proxy_개발_2006년11월_pas_ktf
한대희 Web proxy_개발_2006년11월_pas_ktf
 
댓글 플러그인 아포가토
댓글 플러그인 아포가토댓글 플러그인 아포가토
댓글 플러그인 아포가토
 
[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1st[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1st
 
IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍IPv6 이론과 소켓 프로그래밍
IPv6 이론과 소켓 프로그래밍
 
if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01
 
Ipv6 소켓프로그래밍
Ipv6 소켓프로그래밍Ipv6 소켓프로그래밍
Ipv6 소켓프로그래밍
 

Último

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Último (6)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

라즈베리파이 와 스카이로버 나노에 만남

  • 2. 마을이야기 - 1. 우리는 왜 GCS 를 만들었는가... 쿼드콥터 기체 제작 정보를 공유하는 이는 많다… 그라운드 스테이션은 누가 ? GCS(Ground Controller Station) 란 ? 지상 또는 해상의 공간에서 무인차량을 제어 및 관측 할 수 있도록 지원하는 제어 솔류션 - Wiki GCS 중 ..
  • 3. 1. 제어부(Controller) 멀티제어 RC 카 중 o USB 및 wireless 무선 통신 컨 트롤 소스를 응용 SkyRover Nano 시리얼 통신 제어부 구현 2. 관측부(Station) 멀티제어 RC 카 중 o WebIOPi 기반으로 TCP/IP 통신을 이용한 멀티디바이스 형태로 관측센터를 기초 디자인 및 구현 결정 마을이야기 - 1. 우리는 왜 GCS 를 만들었는가...
  • 4. 마을이야기 - 2. 시작은 이렇게 – 스마트폰 제어 테스트 1. 골드베이스가 드디어 쿼드콥터를 갖게 되었다. 2. 아이폰(안드로이드폰)을 가지고 스카이나노를 조종하였다. 데이터 전송 요청 • 통신포트 : 블루투스 • 앱 기능 : - 통신 연결 - 모터 회전 - 센서를 이용한 스카이나노 제어 데이터 응답데이터 응답
  • 5. 마을이야기 - 2. 시작은 이렇게 – 멀티 위 콘피그 테스트 1. Multi-Wii Config 에 연결. 데이터 전송 요청 데이터 응답 • 통신포트 : uart (nano uart  u2s(usb to serial)  PC USBN) • Multi-Wii Config : 통신 연결 - 모터 회전 - 센서들의 현재 값 모니터링 - 센서들의 환경설정
  • 6. 마을이야기 - 2. 시작은 이렇게 – 부트로더 및 펌웨어 업로드 테스트 1. 부트로더와 펌웨어를 올려보았다. • 부트로더 통신포트 : uart 또는 usb (PC USB  usb to serial  nano serial ) • 펌웨어 통신포트 : uart (PC USB  usb to serial  nano serial ) STM32 GUI Upload APP
  • 7. 마을이야기 - 2. 시작은 이렇게 – 모니터링 테스트 1. MultiWii Config 는 설정/개발용 프로그램. 2. 사용자가 모니터링 하는 프로그램은 없을까 ? 통신연결, 모터제어 모터속도 ??? 센서 값 ???
  • 8. 마을이야기 - 3. 구글링 선생님께 질문하다 1. Multi-GCS ① HUD ( Head-Up Display ) ② Live Moving Map ③ Multi Wii Config MavLink, OpenPilot ④ Video Player ⑤ Web-Server 독일 오픈 프로젝트 팀으로 추정됨
  • 9. 1. 이제 나노와 연결 해 보자 고려사항 비고 기능 적인 측면 Wonderful 성능적인 측면(speed, freezing) Overclock 후 사용할만 함 Source 해석가능 여부 C, make 로 가능성이 있음 통신 방식 블루투스가 없다 ① Multi GCS의 통신 부분만 수정할 것인가? ② 처음부터 개발할 것인가? 마을이야기 - 3. 구글링 선생님께 질문하다 – 시험에 들다 2. Bluetooth 통신의 부재 ( 택1 ) 시험의 길 • 제어부 개발 • 통신부(블투) 개발 • Cross Device 지원 • Multi GCS 분석 • 통신부 개발
  • 10. 라즈베리파이 Wifi Network localhost blue.py receive send udp webiopi Joystick.py PC phone 마을이야기 - 3. 구글링 선생님께 질문하다 – 無名 프로그램 설계 BLE Sensor DATA BLE Control DATA USB , wireless Joystick 1. 무명프로그램의 구조
  • 11. 마을이야기 - 3. 구글링 선생님께 질문하다 – MSP 분석 2. MSP (MultiWii Serial Protocol) 분석 1) Data 구조 ① Header : “$M<“ + length ② Data : Data Structure ③ Checksum 2) [제어명령] rpi  nano 조이스틱 컨트롤 ① Joystick 입력 ② Rpi  nano 로 pitch, roll, yaw, throttle, aux 값 적용 요청 • ( MSP_SET_RAW_RC_TINY 로 간단히 nano를 제어할 수 있다. ) ③ Nano  rpi 적용 완료 응답 3) [Data명령] nano  rpi 센서 데이터 ① Rpi  nano 센서 데이터 요청 ② nano  rpi 데이터 응답
  • 12. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 1. 산딸기 마을 강좌에 bluez package 사용법이 있었다. ① rfcomm device pairing 시 오류 발생 ② Bluepy Opensource o 테스트 프로그램을 이용한 Pairing 구현 발생원인 : o Linux Kernel Version 문제  리눅스 커널 변경 o Sky Nano BLE rfcomm protocol 미지원 문제 Bluepy https://github.com/IanHarvey/bluepy
  • 13. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 2. rpi-mw ( 라즈베리파이 MSP 통신 example ) ① Aldo Vargas ② MSP 센서 데이터 수신 ③ https://github.com/alduxvm/rpi-mw ④ Python ⑤ BLE가 아닌 Serial 통신을 이용 ⑥ 개발자가 라즈베리파이, osx로 테스트 한 소스 ⑦ struct.pack 함수가 다르게 동작하는 것인지, osx는 동작하는데 rpi에서 동작 안함
  • 14. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 3. rpi-mw ( [제어명령] rpi  nano 조이스틱 컨트롤 ) 1) Serial 통신  bluepy 적용 2) Motor run 이 안된다. ① 어디까지 통신이 되고 있는지 알기 위해 firmware source를 분석 ② 분석에서도 그렇다할 진전이 없어 firmware에 print문은 남발하여 디버깅 ( usb port 사용 ) ③ Data의 Header부 “$M<“는 잘 들어옴. ④ Length가 맞지 않음 ⑤ uint8_t (1byte), uint16_t(2byte) 의 type
  • 15. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 4. rpi-mw ([Data명령] nano  rpi 센서 데이터 ) 1) 센서 데이터 수신 2) Serial 통신  bluepy 적용 3) Data 수신시 Error ( Notify ) 발생. ① rpi에서 수신 Data Print 해보니 Data가 잘려서 수신됨 Nano 송신 Rpi 수신 1. Rpi 수신 2. Rpi 수신 3. ② Library를 수정(Notify 무시, Notify 발생 Data 는 합침) ③ 수신 성공 $ M < 0 6 1 2 3 4 1 $ M < 0 6 1 2 3 4 1 Notify Notify Notify
  • 16. 마을이야기 - 4. 새로운 것을 접할때 마나 만나는 불청객 5. 모든 Data를 받아보자. ① MSP는 Data의 종류별로 명령어가 다름 (MSP_RC, MSP_MOTOR) • https://github.com/alduxvm/rpi-mw/blob/master/rpi-mw.py ② 데이터를 모두 받고 싶다. • 5-6 개의 명령어 송신 • 1개의 명령어 실행시 0.02sec 대기 •  update 주기가 길어짐 ③ Delay를 0.01로 줄이면 ? • Data 수신 에러 발생 ④ Firmware에 allDataSend() 함수 추가 •  Data Size가 늘어나지만, 그에 따른 문제는 없음
  • 17. 마을이야기 - 5. 디자인은 언제? 1. 웹 모니터링 페이지