고급 프로그래밍 설계

Similar documents
Microsoft PowerPoint - RPino-GOGO_datasheet.pptx

Microsoft PowerPoint - RPino-GOGO-PLUS_datasheet.pptx

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

벤처연구사업(전동휠체어) 평가

RaspberryPi 시리얼통신 1 제 08 강 시리얼통신제어 시리얼통신시리얼모니터링루프백시리얼통신 Win. PC와의시리얼통신가상머신과의시리얼통신아두이노보드와의시리얼통신 KUT51보드와의시리얼통신

PowerPoint 프레젠테이션

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

vi 사용법

/chroot/lib/ /chroot/etc/

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

로봇SW교육원 강의자료

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

chap7.key

PowerPoint 프레젠테이션

untitled

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

고객 카드

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

CAN-fly Quick Manual

PowerPoint 프레젠테이션

제1장 Unix란 무엇인가?

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

슬라이드 제목 없음

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

CANTUS Evaluation Board Ap. Note

BY-FDP-4-70.hwp

KEY 디바이스 드라이버

2주차: 입출력 제어 복습

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Mango220 Android How to compile and Transfer image to Target

untitled

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

라즈베리파이 프로그래밍_130912(최종).indd

(SW3704) Gingerbread Source Build & Working Guide

무시하고진행합니다. $ sudo rootstock -d precise --seed ubuntu-standard -x en_us.utf-8 -f ubuntu -l ubuntu -p ubuntu -i 2G I: Running on a x86_64 machine I: Cre

282서비스업관리-마트

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

제품 특징 PC에서 마우스/키보드로 사용 Motion Ring은 사용자의 동작을 인식하는 3D 공간 인식 센서 가 장착되어 있어 정해진 제스처를 사용하여 마우스나 키보드 로 사용할 수 있습니다. - 일반적인 마우스와 키보드 없이 인터넷 웹 페이지를 사용하 거나 프레젠테

슬라이드 1

ICAS CADWorx SPLM License 평가판설치가이드

鍮뚮┰硫붾돱??李⑤낯


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

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

본 강의에 들어가기 전

DE1-SoC Board

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

KT AI MAKERS KIT 사용설명서 (Node JS 편).indd

歯9장.PDF

PowerPoint 프레젠테이션

Ä¡¿ì³»ÁöÃÖÁ¾


hd1300_k_v1r2_Final_.PDF

슬라이드 1

Microsoft Word - PEB08_USER_GUIDE.doc

1 SW

SW

untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

歯mp3사용설명서

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

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

슬라이드 1

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR


1장. 유닉스 시스템 프로그래밍 개요

SBR-100S User Manual

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

강의 자료

Raspberry Pi 입출력디바이스 II 1 제 05 강 입출력디바이스 II 터치스위치자석스위치움직임감지센서부저모듈 LED Array RGB LED 릴레이모듈초음파센서 ( 거리측정 ) 적외선센서및리모콘 ( 미작성 )

Microsoft Word - CPL-TR OM2M.doc

슬라이드 1

라즈베리파이입문매뉴얼 라즈베리파이입문매뉴얼 Chapter 1. 라즈베리파이 라즈베리파이 라즈베리파이의구성... 5 Chapter 2. 프로그래밍을알아보자 프로그래밍이란? 프로그래밍언어

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

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

untitled

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

Microsoft Word - Armjtag_문서1.doc

RaspberryPi 개발환경구축 I 1 제 01 강 실습일정및가상머신구축 교과소개및실습일정 실습실안전교육 가상머신환경구축 (VMware Player, VM(Ubuntu), VMTools, 폴더공유 ) 참고 )

MPLAB C18 C

Mango-E-Toi Board Developer Manual

고객카드

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

4. 스위치재부팅을실시한다. ( 만약, Save 질문이나오면 'no' 를실시한다.) SWx#reload System configuration has been modified. Save? [yes/no]: no Proceed with reload? [confirm] (

Smart Power Scope Release Informations.pages

슬라이드 1

Abstract View of System Components

Transcription:

UNIT 13 라즈베리파이블루투스 광운대학교로봇 SW 교육원 최상훈

Bluetooth Module 2 Bluetooth Slave UART Board UART 인터페이스용블루투스모듈 slave/device mode

라즈베리파이 GPIO 3 < 라즈베리파이 B+ 의 P1 헤더핀 GPIO 배치도 >

wiringpi 라이브러리 4 라즈베리파이 GPIO 라이브러리 GPIO Interface library for the Raspberry Pi http://wiringpi.com/

실습 1 : wiringpi 라이브러리설치 (1/3) 5 라즈베리파이업데이트및업그레이드 $ sudo apt-get update $ sudo apt-get upgrade wiringppi 라이브러리다운로드 $ sudo apt-get install git-core $ git clone git://git.drogon.net/wiringpi wiringppi 라이브러리빌드및설치 $ cd wiringpi $./build

실습 1 : wiringpi 라이브러리설치 (2/3) 6 설치확인 $ gpio -v

실습 1 : wiringpi 라이브러리설치 (3/3) 7 GPIO 핀정보확인 $ gpio readall

3v3 Ground 실습 2 : Bluetooth 모듈설정 (1/12) 8 wiringpi 라이브리러를이용핚시리얼통신 구성 Bluetooth Slave UART Board TX RX

실습 2 : Bluetooth 모듈설정 (2/12) 9 /boot/cmdline.txt 파일수정 console, kgdboc 의 ttyama0 부분삭제 변경전 dwc_otg.lpm_enable=0 console=ttyama0,115200 kgdboc=ttyama0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait 변경후 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait $ sudo vim /boot/cmdline.txt

실습 2 : Bluetooth 모듈설정 (3/12) 10 /etc/inittab 파일수정 변경전 T0:23:respawn:/sbin/getty -L ttyama0 115200 vt100 변경후 #T0:23:respawn:/sbin/getty -L ttyama0 115200 vt100 $ sudo vim /etc/inittab

실습 2 : Bluetooth 모듈설정 (4/12) 11 재부팅 sudo reboot SSH 재접속 minicom 설치 $ sudo apt-get install minicom Bluetooth 접속 $ minicom -b 9600 -o -D /dev/ttyama0

실습 2 : Bluetooth 모듈설정 (5/12) 12 minicom 실행화면 $ minicom -b 9600 -o -D /dev/ttyama0

실습 2 : Bluetooth 모듈설정 (6/12) 13 테스트 AT 키보드입력후 OK 확인

실습 2 : Bluetooth 모듈설정 (7/12) 14 명령어종류 Command AT AT+VERSION Description Bluetooth module 테스트 모듈버젼확인 AT+NAME 이름 Bluetooth ID( 이름 ) 설정 ( 최대 20 자 ) AT+PINnnnn AT+BAUDn 핀번호 (nnnn) 설정 baud rate(n) 설정 2: 2400bps 3: 4800bps 4: 9600bps 5: 19200bps 6: 38400bps 7: 57600bps 8: 115200bps 기본설정상태 Baud rate: 9600 PIN: 1234

실습 2 : Bluetooth 모듈설정 (8/12) 15 명령어입력방법 클립보드를이용해붙여넣음 Ctrl + c Shift + Insert 또는마우스우클릭 예 ) 1. AT+VERSION 클립보드에복사 (Ctrl+c) 2. 터미널창에서 Shift + Insert 또는마우스우클릭

실습 2 : Bluetooth 모듈설정 (9/12) 16 이름변경 AT+NAMEshchoi-bt baud rate 변경 - AT+BAUD8 - minicom 재접속필요

실습 2 : Bluetooth 모듈설정 (10/12) 17 minicom 종료 Ctrl + a 입력 z 입력

실습 2 : Bluetooth 모듈설정 (11/12) 18 q 입력 Yes 확인후 Enter

실습 2 : Bluetooth 모듈설정 (12/12) 19 minicom 실행 $ minicom -b 115200 -o -D /dev/ttyama0 Pin 번호변경 AT+PIN5216 minicom 종료

실습 3 : Bluetooth 페어링 (1/2) 20 안드로이드 bluetooth 기기등록

실습 3 : Bluetooth 페어링 (2/2) 21 안드로이드 bluetooth 터미널앱설치 blueterm 설치 연결 ( 페어링 )

실습 4 : Bluetooth 통신 (1/4) 22 안드로이드에서 RaspberryPi 로데이터전송 uartex1.c #include <stdio.h> #include <string.h> #include <errno.h> #include <wiringpi.h> #include <wiringserial.h> #define EXIT_SUCC 0 #define EXIT_FAIL 1 int main() { int fd; int data; setbuf(stdout, NULL); if(wiringpisetupgpio() == -1){ fprintf(stdout, "Unable to start wiringpi : %s\n", strerror(errno)); return EXIT_FAIL; } // 시리얼통신초기화및속도설정 if((fd = serialopen("/dev/ttyama0", 115200)) < 0) { fprintf(stderr, "Unable to open serial device : %s\n", strerror(errno)); return EXIT_FAIL; }

실습 4 : Bluetooth 통신 (2/4) 23 printf("\nraspberry Pi UART daemon start\n"); serialputs(fd, "Here I'm the Raspberry Pi.\r\n"); serialputs(fd, "Write a message.\r\n"); // to serial // to serial } while(1){ data = serialgetchar(fd); printf("%c",data); } return EXIT_SUCC; // from serial 컴파일 $ gcc -Wall -W -lwiringpi uartex1.c -o uartex1 실행 $ sudo./uartex1

실습 4 : Bluetooth 통신 (3/4) 24 < Raspberry Pi >

실습 4 : Bluetooth 통신 (4/4) 25 통신테스트 안드로이드 터미널에텍스트입력 RaspberryPi 터미널창확인 < Raspberry Pi >

실습 5 : Bluetooth 통신 (1/4) 26 RaspberryPi 에서안드로이드로데이터전송 uartex2.c #include <stdio.h> #include <string.h> #include <errno.h> #include <wiringpi.h> #include <wiringserial.h> #define EXIT_SUCC 0 #define EXIT_FAIL 1 int main() { int fd; int data; setbuf(stdout, NULL); setbuf(stdin, NULL); if(wiringpisetupgpio() == -1){ fprintf(stdout, "Unable to start wiringpi : %s\n", strerror(errno)); return EXIT_FAIL; } // 시리얼통신초기화및속도설정 if((fd = serialopen("/dev/ttyama0", 115200)) < 0) { fprintf(stderr, "Unable to open serial device : %s\n", strerror(errno)); return EXIT_FAIL; }

실습 5 : Bluetooth 통신 (2/4) 27 printf("\nraspberry Pi UART daemon start\n"); serialputs(fd, "Here I'm the Raspberry Pi.\r\n"); serialputs(fd, "Write a message.\r\n"); // to serial // to serial } while(1){ if((data = fgetc(stdin)) == EOF){ printf("eof\n"); break; } if(data == '\n'){ serialputchar(fd, '\r'); } serialputchar(fd, data); } return EXIT_SUCC; // to serial // to serial 컴파일 $ gcc -Wall -W -lwiringpi uartex2.c -o uartex2 실행 $ sudo./uartex2

실습 5 : Bluetooth 통신 (3/4) 28 < Raspberry Pi >

실습 5 : Bluetooth 통신 (4/4) 29 통신테스트 RaspberryPi 터미널에텍스트입력 안드로이드터미널창확인 < Raspberry Pi >

미션 1 : LED 제어 30 Bluetooth 통신을통핚 Raspberry Pi GPIO 제어하기 메뉴출력

미션 1 : LED 제어 31 Raspberry Pi GPIO 제어 GPIO 에연결된 LED 를 ON

미션 1 : LED 제어 32 Raspberry Pi GPIO 제어 GPIO 에연결된 LED 를 OFF

미션 2 : Swtich 모니터링 33 Raspberry Pi GPIO 제어 GPIO 에연결된 Swtich 상태모니터링

미션 2 : Swtich 모니터링 34 Raspberry Pi GPIO 제어 GPIO 에연결된 Swtich 상태모니터링

미션 2 : Swtich 모니터링 35 Raspberry Pi GPIO 제어 GPIO 에연결된 Swtich 상태모니터링