Page 1

안녕하세요. 이번 세션에서는 설치된 MCU SDK로 조도센서를 이용하여 LED를 켜고 끌 수 있는 Application을 만들어 보도록 하겠습니다.

먼저, 간단한 준비물 설명, 코드와 스크립트 다운로드를 위한 SSH 설정, 그리고 미리 정해놓은 Pin의 설정 MCU SDK 를 이용한 project 만들기, 브레드보드 구성, 만들어진 프로젝트 실행의 순서로 진행을 해보겠습니다.

2.

Intel® Edison MCU SDK Hands-on②  Hands-on : Requirements

필요한 준비물은 브레드보드, 조도센서, Led , LED를 위한 적당한 저항 하나 (100이상 ~ 10K옴 이하면 크게 상관이 없습니다), 그리고 점퍼와이어들 입니다.

-Intel® Edison

-브렌드보드-

-조도센서-

-LED-

-

Intel® Confidential

-저항-

-점프선-

-USB-

1


 Hands-on : SSH Configuration I.

MobaXterm

먼저, IOTEDU 사이트 (www.iotedu.co.kr)에 접속 합니다. 그리고, Download 메뉴에서 ‘‘MobaXterm’ 를 다운받아, ‘MobaXterm_Personal_8.0.exe’ 실행 합니다.

Intel® Confidential 2


이와 같은 화면이 뜨면 왼쪽 sessions 탭에서 마우스 우측 클릭을 하시고 뉴 세션을 고릅니다.

Intel® Confidential 3


SSH를 선택하고 Edison의 IP 주소인 192.168.2.15 를 넣어 줍니다. 다른 방법으로 설정이 되어 있다면 해당 IP를 넣어주시면 됩니다.

Intel® Confidential 4


 Hands-on : SSH Configuration II.

Password

초기 login 은 root로 가능합니다. 혹시 다른 계정을 이미 설정 해두셨으면 그대로 login을 해주셔도 됩니다. Password가 설정이 되지 않았다면 아래와 같이 configure_Edison –passwor를 입력하셔서 password 설정을 해줍니다.

Password가 설정이 되어야 MCU SDK에서 project 를 build하고 난 후에 download가 가능해 집니다. 그러므로 꼭 설정을 해주어야 합니다.

그리고 Password가 설정이 되면 mobaxterm에서 자동으로 ftp를 활성화 시켜줍니다. 이후에는 file 옮기기가 아주 용이해집니다. Windows탐색기에서 일반적으로 사용하듯이 파일을 끌어오기만 해도 해당 폴더에 파일이 복사가 됩니다. 이 방법으로 scrip들을 복사를 해보겠습니다.

Intel® Confidential 5


 Hands-on : SSH Configuration III.

Copy Script files

현재 세션을 닫고 mobaXterm으로 다시 passwor를 입력해주고 접속을 하게 되면 아래와 같이 file tree가 나타나게 됩니다.

현재 디렉토리는 /root/사용자명 입니다.

Intel® Confidential 6


Download에서 제공되는 MCU Script들을 다운받고 아래 이미지와 같이 모든 sh 파일들을 선택합니다.

그리고, 화살표를 따라 왼쪽으로 복사합니다.

Intel® Confidential 7


 Hands-on : Pin Setting I.

Pin Setting ( Digital pins ) & Usage

이제 MCU 측에서 사용 할 Pin을 미리 설정 해 주는 부분에 대해 설명을 드리겠습니다. 이는 MCU SDK 를 이용해 Project를 모두 다운 받고 난 후에 바꾸어 주어도 상관이 없는 부분이므로 이후에 문제 발생시 다시 돌아와 체크 해보셔도 됩니다.

이번 hands-on session 에서 이용할 부분은 Digital 6번과 7번 pin입니다. Digital pin부분에 관여하는 script file 은 init_DIG.sh 라는 파일인데요, 이 파일을 이용하여 간단하게 원하는 번호의 핀을 input 또는 outpu으로 방향을 설정 해줄 수 있습니다. 지금은 Lightsensor 의 값을 를 6번으로 받는 것으로 하고 , LED 출력을 를 7번으로 내보낼 수 있도록 설정을 해보겠습니다.

II.

Example ( D6 – input, D7 – output )

Usage 부분을 보면 사용방법이 usage init_DIG.sh –o 핀번호 –d 방향 으로 되어 있는 것을 볼 수 있습니다. 이대로 위 예시 이미지를 보면 digital 6번은 input으로 digital 7번은 output으로 설정 된 것을 확인 할 수 있습니다.

Intel® Confidential 8


 Hands-on : Pin Setting III.

Auto Pin Setting ( Automatically load the setting when reboot )

그리고 이 pin setting 부분은 사실 reboot이 될때마다 default 세팅으로 돌아가게 되는데요, 이를 자동으로 reboot할때마다 매번 가져오게 만들어 주는 방법을 알려드리겠습니다.

Vi 에디터를 이용하여서 /ect/intel_mcu/mcu_fw_loader.sh 를 엽니다.

그리고는 붉은 박스 안 처럼 원하는 세팅을 로드할 수 있도록 경로명과 옵션을 정확하게 적어주면 해당 세팅을 reboot 할때마다 로드 하여 줍니다.

Intel® 이제 Confidential 본격적으로 프로젝트 생성을 하여보겠습니다. MCU SDK를 실행하여 주세요 9


 Hands-on : Creating a project with MCU SDK I.

Creating a project

(1) MCU SDK 를 실행하고 , 상단 메뉴바에서 MCU, 그리고 New MCU Project를 고릅니다.

(2) 그리고 project name을 정하고, template projec를 골라줍니다. 그리고 finish 버튼을 눌러주세요.

Intel® Confidential 10


(3) 제대로 프로젝트가 생성이 되었다면 다음과 같은 화면이 나옵니다. 현재 선택되어 보여지고 있는 mcu_main.c 가 mcu_main 코드가 돌아가게 되는 코드 파일 입니다.

(4) 왼쪽 file tree를 보시면 다른 참조 파일들과 라이브러리들은 미리 로드가 되어 있는 것을 보실 수 있습니다. 먼저 미리 작성되어 있는 코드를

download에 가셔서 받아 복사해 넣어줍니다.

Intel® Confidential 11


(5) 현재 보시는 코드가 제가 미리 작성해 놓은 코드 입니다. 메인 안쪽에 delay, debugging 용 integer, GIPO out을 위한 변수 하나 를 설정해 줍니다.

(6) Gpio_setup은 mcu에서 제공하는 api로 digital 6번과 7번을 input으로

사용할 것인지 output 으로 사용할 것인지를 설정해 줄 수 있는 부분이기 때문에, Arduino expension board의 D6과 D7이 실제 Edison platform 에서는 182와 48로 되어 있으므로 해당 번호를 적어줍니다.

(7) While문 안의 코딩은 ‘ delay만큼 쉬면서, D6, 즉 조도센서의 값을 읽어서 ,

불이 어두우면 led를 켜고, 밝으면 꺼주어라 ‘ 라고 하는 코드입니다. Gpio_read로 input으로 설정된 핀을 읽고, gpio_write으로는 해당 output으로 설정된 pin의 값을 조정해 줄 수 있습니다.

(8) 이렇게 까지 하면, LED를 껐다 켰다 할 수 있게 되는 것입니다.

Intel® Confidential 12


II.

building a project

(1) MCU SDK가 빌드를 하면서 컴파일 전에 자동으로 코드를 저장하지 않기 때문에 꼭 코드를 저장 하고 , 빌드를 해주어야 변경사항이 적용됩니다.

(2) MCU 메뉴에서 Build Project를 선택합니다. 그리고 아래쪽 Console 탭을 눌러보시면 빌드가 어떻게 진행 되었는지 출력이 됩니다. 에러 없이 빌드가 끝났으면

이제 브레드보드 구성을 하고 , 다운로드를 해보겠습니다.

Intel® Confidential 13


 Hands-on : Breadboard configuration Breadboard I.

Breadboard

Intel® Edison

붉은 선은 +로 5V, 푸른선은 ground, Light sensor 관련은 녹색, Led out 관련은 주황색으로 표시 하였습니다. 그림에 나와있는대로 구성을 하면 됩니다.

※ 조도센서의 전원 입출력 방향이 거꾸로 되면, 조도센서의 신호 입출력도 거꾸로 되므로 어두울 때 LED가 꺼지고, 밝을 때 LED가 켜지는 현상이 일어날 수 있습니다.

Intel® Confidential 14


 Hands-on : Downloading a project with MCU SDK I.

Downloading a project

MCU 에 다운로드 하기 위해 projec에서 MCU.xml 파일을 더블 클릭하여 연후 , 화면과 같이 target_ip 값에 Edison board의 IP 주소를 넣어 줍니다.

Intel® Confidential 15


이후에는 MCU 메뉴의 download를 클릭하고 reboot을 하겠냐는 팝업창이 뜨면 OK를 누르면 자동으로 부팅이 되고 MCU는 다운로드 된 application을 불러와 실행시키게 됩니다.

Intel® Confidential 16


 Hands-on : Running the project I.

Trace API : debug_print( int level, const char *fmt, …);

코드 내에서 debug_print로 쓰였던 부분은 아랫쪽 MCU log에 디버깅용 프린트를 해주는 역할을 합니다. 화면에서 보는 것 같이 MCU 가 돌아가고 있을 때 MCU 메뉴에서 connect를 고르시면 확인할 수 있습니다.

17

Intel® Confidential


II.

Running

모든 절차가 성공적으로 끝났다면, 연결된 light sensor를 가리면 LED가 켜지고 다시 밝아지게 놓아두면 LED가 꺼지는 것을 보실 수 있을 것입니다. 이상으로 MCU SDK를 이용하여 간단히 만들어본 Edison의 MCU application Hands on session을 마치겠습니다.

18

Intel® Confidential


Intel® Confidential — Do Not Forward

Intel edison mcu overview hands on 2  

http://www.iotedu.co.kr/