20. Arduino vs. Raspberry Pi
Micro Controller
No
Micro Computer
Yes
성격
리눅스
C
C, C++, Java,
Python, NodeJS,
Ruby ...
개발 언어
No Yes카메라
Limit Yes무선환경
21. Raspberry Pi
Name
Raspberry Pi
Model A+
Raspberry Pi
Model B+
Raspberry Pi2
Model B
Raspberry Pi
Zero
Raspberry Pi 3
Model
Price $20 $35 $5 $35
Processor ARM 11
ARM
Cortex A7
ARM 11
ARM
Coretex-A53
Clock Speed 700Mhz 900Mhz 1Ghz 1.2Ghz
RAM 256MB 512MB 1GB 512MB 1GB
Multi Core Single Quad Single Quad
Flash Micro SD Card
GPIO 40
Ethernet N/A 10/100 N/A 10/100
USB USB 2.0X1 USB 2.0X4 Micro 1 USB 2.0X4
Power 5V, 200mA 5V, 600mA 5V, 800mA 5V, 160mA N/A
Video Out HDMI, Composite Mini-HDMI
HDMI,
Composite
Audio Out HDMI, Analog Mini-HDMI HDMI, Analog
23. Circulus Architecture
Core Engine
API Gateway
M2M Controller
Cloud Storage
CirculOS
Intelligence Agent
Circulus
App
Circulus
Web
Data Processing
H2H Controller
모바일부터 하드웨어까지. IoT 개발 학습/제작 클라우드 플랫폼
복잡한 IoT 지식 없이, 생각을 다양한 API를 사용하여 손쉽게 구현 가능
24. One JavaScript - Multi Use
JavaScript (+NodeJS) 만으로 모바일 부터 하드웨어 개발까지 구현
C 나 Java 지식 없이 하나의 언어로 IoT 서비스 제작/배포 지원
37. Javascript 기초
1. 모듈 추가하기
var wpi = require('wiring-pi');
2. 변수 선언하기
var val = 10;
3. 출력문 만들기
console.log(“Hello, Raspberry Pi”);
var num = 10;
console.log(“저는 ” + num + “살 입니다.”);
38. var isOn = 1;
setInterval(function(){
wpi.digitalWrite(pin, isOn);
isOn = +!isOn;
}, 1000);
Javascript 기초
4. 루프 사용하기
if(a >= b)
return a;
5. if문 사용하기
While(a == true)
console.log(“true”);
6. while문 사용하기
44. LED ON
//set module for control led
var wpi = require('wiring-pi');
//init gpio
wpi.setup('gpio');
wpi.wiringPiSetup();
//init pinMode
var pin = 4;
wpi.pinMode(pin, wpi.OUTPUT);
//on led
var isOn = 1;
wpi.digitalWrite(pin, isOn);
LED를 켜보자!
45. LED ON/OFF
//set module for control led
var wpi = require('wiring-pi');
//init gpio
wpi.setup('gpio');
wpi.wiringPiSetup();
//init pinMode
var pin = 4;
wpi.pinMode(pin, wpi.OUTPUT);
//on/off led
var isOn = 1;
setInterval(function(){
wpi.digitalWrite(pin, isOn);
isOn = +!isOn;
}, 1000);
1초에 한 번씩 LED가 ON/OFF되도록 해보자!
54. 7-Segment 연결하기
startup 동작 모드 시작
setDecodeNone Bit 단위의 데이터로 보여줌
setDedcodeAll 인코딩하여 보여줌 (“0”~”9”, “E”, “H”, “L”, “P”, “-”, “ ”만)
setDigitSegments Bit단위로 계산하여 정보를 표시(setDecodeNone)
setDigitSymbol 인코딩 가능한 값만 정보를 표시(setDecodeAll)
setScanLimit 화면에 출력할 글자 개수 제한 (MAX: 8)
setDisplayIntensity 화면 밝기 제한(MAX : 15)
55. 7-Segment 연결하기
//set module for segment
var MAX7219 = require('max7219');
var disp = new MAX7219("/dev/spidev0.0");
//init
disp.setDecodeNone();
disp.setScanLimit(8);
disp.startup();
disp.setDisplayIntensity(15);
//display
disp.setDigitSegments(0, [0, 0, 0, 0, 1, 1, 0, 1]);
disp.setDigitSegments(1, [1, 0, 1, 1, 0, 1, 1, 1]);
disp.setDigitSegments(2, [1, 0, 0, 1, 1, 1, 1, 1]);
disp.setDigitSegments(3, [0, 1, 0, 0, 1, 1, 0, 1]);
//set module for segment
var MAX7219 = require('max7219');
var disp = new MAX7219("/dev/spidev0.0");
//init
disp.setDecodeAll();
disp.setScanLimit(8);
disp.startup();
disp.setDisplayIntensity(15);
//display
disp.setDigitSymbol(0, "H", true);
disp.setDigitSymbol(1, "-");
disp.setDigitSymbol(2, "L");
disp.setDigitSymbol(3, "-", true);
DigitSegments 방식 출력하기 DigitSymbol 방식 출력하기
56. 7-Segment에 출력하기
//set module for segment
var MAX7219 = require('max7219');
var disp = new MAX7219("/dev/spidev0.0");
//init
disp.setDecodeAll();
disp.setScanLimit(8);
disp.startup();
disp.setDisplayIntensity(15);
//display
disp.setDigitSegments(0, [0, 0, 1, 1, 0, 1, 1, 0]);
disp.setDigitSegments(1, [0, 0, 1, 1, 0, 1, 1, 1]);
disp.setDigitSegments(2, [0, 0, 1, 1, 0, 1, 1, 0]);
disp.setDigitSegments(3, [0, 0, 1, 1, 0, 1, 1, 1]);
//set module for segment
var MAX7219 = require('max7219');
var disp = new MAX7219("/dev/spidev0.0");
//init
disp.setDecodeAll();
disp.setScanLimit(8);
disp.startup();
disp.setDisplayIntensity(15);
//display
disp.setDigitSymbol(0, 0);
disp.setDigitSymbol(1, 3);
disp.setDigitSymbol(2, 1);
disp.setDigitSymbol(3, 4);
DigitSegments 방식 출력하기 DigitSymbol 방식 출력하기
76. 메이킹 과정
아이디어
서비스 기획
프로토 타이핑
하드웨어 구성
소프트웨어 구성
3D 프린팅
결과 공유
만들고자 하는 아이디어를 떠올리는 단계이다.
아이디어를 서비스로 구체화 한다. 이 단계에서는 보여질 모습 뿐만 아
니라, 보이지는 않지만 사용자에게 어떤 가치를 제공할지도 염두 해 둔
다.
블록 등으로 만들어질 하드웨어 모습을 구성해 보고, 이를 사용할 모바
일 어플리케이션이 있다면 종이에 그 이미지를 구성해 본다.
오픈소스 하드웨어로 만들고자 한 내용을 구성해 본다. 프로토 타이핑및
최종적으로 보여질 외관을 고려하여 센서 및 각종 하드웨어의 배치도 고
려한다.
하드웨어를 제어할 소프트웨어와 리모콘 용도로 사용될 소프트웨어, 그
리고 서비스 제공을 위한 소프트웨어를 구성한다.
Making 한 제품의 외관과 인쇄 가능 한 부속들을 3D 모델링하고, 결과물
을 3D 프린팅하여 하드웨어를 최종 완성한다.
제품을 완성하여 외부에 공개한다. 만일 판매를 목적으로 한 제품이라면
소셜 펀딩을 이용하여 판매 가능성을 확인해 본다.
81. W www.circul.us G group.circul.us
S social.circul.us C cafe.circul.us
CONTACT.US circulus@circul.us
EXPAND YOUR DIMENSION
생각에 머무는 THINKER 에서
직접 만드는 MAKER 시대
CIRCULUS 가 함께 합니다
SINCE 2013