3. ARTIK 710
ARTIK 710
하드웨어 스펙
- 고성능 8코어, 64비트 ARM Wifi, Bluetooth 제공
- 멀티미디어, 그래픽 어플리케이션을 위한 GPU
- 1GB RAM
- OS(Tizen OS)
사용 사례
- 공장 자동화
- 스마트 홈 게이트웨이
- 빌딩 자동화 컨트롤러
- 멀티미디어 응용 프로그램
4. ARTIK 710
ARTIK 710 Starter Kit
IoT 프로젝트의 개발 속도를 높이기 위한 Starter Kit
- 내장 Wi-Fi, 이더넷(ethernet), 블루투스(bluetooth)
- PWM, GPIO 핀
- 온보드 리셋(reset) 버튼
- 2개의 표준 USB
- 마이크로 USB 커넥터
- 프로그래밍 및 저장을 위한 micro-SD 카드 슬롯
19. ARTIK 710
ARTIK 710 USB 연결
컴퓨터와 연결 합시다.
(1) ARTIK 710의 1층 기판에 있는 DEBUG
- Serial 통신을 하기 위해 사용
(2) ARTIK 710의 2층 기판에 있는 COM
- 작성한 프로그램을 업로드 하기 위해 사
용
35. GPIO
GPIO(General Purpose Input Output)
센터와 모터를 달기 위해 사용하는 핀을 입력으로 쓸지, 출력으로 쓸지 결정합니다.
- 입력(각종 센서 : 조도, 초음파, 가스누수 / 스위치 / 웹캠 등) : Input
- 출력(모터 ) : Output
입력과 출력을 동시에 하나의 핀을 사용할 수는 없습니다.
GPIO Control을 통해 입력, 출력으로 사용할 지 결정해야 합니다.
1. 원하는 GPIO 핀을 사용한다고 설정
2. 그 핀을 출력 핀으로 사용하겠다고 한다.
3. 숫자 1로 ON켠다 / 숫자 0의 값으로 OFF끈다를 설정한다.
36. GPIO
Linux 명령어
ARTIK에서 GPIO 테스트를 위해 내장 LED,
내장 스위치를 제공합니다.
모든 핀들은 번호 배정
SYSFS Mapping(가상파일시스템) 번호
-> 장치 드라이버에 대한 정보 제공
37. GPIO
Blue LED(GPIO 38)
원하는 GPIO 핀을 사용하겠다고 설정합니다.
# echo 38 > /sys/class/gpio/export
# ls /sys/class/gpio/
38. GPIO
Blue LED(GPIO 38)
# echo out >
/sys/class/gpio/gpio38/direction
그 핀의 방향을 출력으로 사용하겠다고 설정
# echo 1 > /sys/class/gpio/gpio38/value
핀의 값에 1(ON켠다)을 설정합니다
41. GPIO
RED LED(GPIO 28)
원하는 GPIO 핀을 사용하겠다고 설정합니다.
# echo 28 > /sys/class/gpio/export
# ls /sys/class/gpio/
42. GPIO
RED LED(GPIO 28)
# echo out >
/sys/class/gpio/gpio38/direction
그 핀의 방향을 출력으로 사용하겠다고 설정
# echo 1 > /sys/class/gpio/gpio38/value
핀의 값에 1(ON켠다)을 설정합니다
55. Javascript
Variable(변수)
값을 저장하기 위해 사용하기 위해 var을 사용합니다.
var을 사용하기 위해서는 선언을 하고 값을 저장해야 합니다.
var 변수명;
$ vi var.js
var year = 2018;
console.log(year);
$ node var.js
66. Javascript
String (문자열)
var text = "Hello My Name is JeongChul";
console.log(text.charAt(3)); // position에 위치하는 문자를 반환
console.log(text.concat(" Kim")); // 문자열을 합칩니다.
console.log(text.match("is")); // 일치하는 문자열이 있는 확인합니다.
console.log(text.match("what"));
console.log(text.toLowerCase()); // 문자열을 소문자로 변경하여 반환합니다.
console.log(text.toUpperCase()); // 문자열을 대문자로 변경하여 반환합니다.
69. Javascript
IF(조건문)
$ vi if.js
var date = new Date();
var hour = date.getHours();
console.log(date);
if(hour < 12)
console.log("AM");
else
console.log("PM");
78. Javascript
WHILE(반복문)
원의 크기를 구해보자.
$ vi while.js
var degree = 360;
var num = 1;
while(num < 5) {
console.log("circle area : "+Math.PI*num*num);
num++;
}
82. Node.js
GPIO 핀 제어하기
라이브러리 가져오고 변수 선언하기, GPIO 자원 할당 가져오기
var Gpio = require('onoff').Gpio; //onoff의 Gpio 모듈을 사용
var led = new Gpio(38, 'out'); // GPIO 38번을 출력을 사용할 수 있는 객체를 생성
var led_state = 0; // LED의 상태를 관리하는 변수
83. Node.js
GPIO 핀 제어하기
정해진 시간마다 반복 실행되게하는 함수 실행하기
var iv = setInterval(function() { // setInterval 안에 있는 함수를 200ms 마다 실행한다.
led_state = led.readSync(); // LED가 연결된 GPIO의 핀 값을 가져온다.
if(led_state == 0) led_state = 1; // 해당값을 0이라면 1로 변환
else led_state = 0; // 해당값이 1이라면 0으로 변환
led.writeSync(led_state) // led_state의 값을 gpio에 저장
}, 200);
84. Node.js
GPIO 핀 제어하기
최종 프로그램 종료 전에 GPIO 자원 할당 해제
setTimeout(function() { // 6000ms (=6s) 후에 LED를 깜빡이는데 중지됨
clearInterval(iv); // LED를 깜박이게 했던 인터벌을 제거
led.writeSync(0); // LED를 끈다.
led.unexport(); // 사용했던 GPIO 자원을 할당 해제한다.
},6000);