코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2017-06-09 16:52:50
[관련 학습가이드]
Bluetooth는 우리 생활 주변에서 쉽게 볼 수 있는 무선 통신 중 하나로써,
스마트폰, 이어폰, 스피커, 자동차 등 다양한 생활가전에서 통신으로 쓰이고 있습니다.
기존에는 Classic bluetooth만 존재했다면 BLE는 Classic bluetooth의 경량화 버전을 목표로 출시되었습니다.
Classic bluetooth는 데이터 스트리밍, 대용량의 데이터 전송 서비스를 지원하며 최대 데이터 전송률이 높다는 특징이 있지만 그에 따라 전력소모도 같이 높다는 단점이 있어 한정적인 전력 공급 및 작은 데이터 전송을 위한 분야에서는 사용하기 힘들다는 특징이 있습니다.
이를 보완한 분야가 Bluetooth v4.0, BLE이며 Classic bluetooth와 다른 표준을 가지고 개인용 네트워크에서부터 산업용 혹은 사물인터넷(IoT)네트워크까지 방대하게 쓰일 수 범용 저전력 무선 표준입니다.
<BLE는 Bluetooth SMART라고 불리기도 한다>
블루투스 4.0(BLE) 기술은 3.0 이하를 대체하는 기술이 아닙니다. 블루투스 4.0은 저전력 관점에서 재설계되어, 배터리 소모를 최소화하는 대신에 데이터 전송 효율을 낮추었습니다. 그렇게 때문에 음성이나 오디오와 같은 실시간의 빠른 데이터 전송에는 적합하지 않습니다. (단, 4.2 이상에서는 4.0 대비 수배나 빨라져 그 활용도는 더욱 높아질 것입니다.)
아래 그림에서 보시는 것과 같이 기존 블루투스 클래식(3.0이하: Classic)과 블루투스 스마트(4.0: SMART or LOW ENERGY)와는 활용 범위가 다릅니다.
오렌지보드 BLE에 사용되는 BLE모듈은 초저전력 RF전문 기업인 Nordic사에서 만든 nRF51822칩을 사용하며
외부 모듈과의 블루투스 통신을 초전력상태에서도 사용할 수 있습니다.
이번 기본 예제에서는 오렌지보드 BLE를 사용하기 위한 기본 예제로 Nordic에서 만든 기본 어플을 사용하여 데이터를 전송해보도록 하겠습니다.
NO | 부품명 | 수량 | 상세설명 |
1 | 오렌지 보드 BLE | 2 | |
2 | LED | 1 | |
3 | 330옴 저항 | 1 | |
4 | 점퍼 케이블 | 2 | |
5 | 브레드 보드 | 1 |
부품명 | 오렌지 보드 BLE | LED | 330옴 저항 | 점퍼 케이블 | 브레드 보드 |
파트 |
아이폰의 앱스토어에서 nordic을 검색하여 나타나는 nRF Toolbox어플을 받습니다.
어플을 실행하면 아래와 같은 화면을 볼 수 있습니다.
여러개의 버튼 중 Universal Asynchronous Receiver/Transmitter(UART)라는 버튼을 클릭합니다.
UART를 클릭하면 Connect 버튼이 화면 가운데 나타납니다.
Connect버튼을 누른 후 자신의 보드를 선택하면,
9개의 정사각형이 화면 가운데 나타납니다.
9개의 정사각형은 각각 키값을 지정하면 버튼처럼 사용할 수 있습니다.
현재는 아무런 세팅이 되있지 않기 때문에 비어있는 상태입니다.
세팅을 하기 위해 원하는 위치에 있는 버튼을 선택해 줍니다.
원하는 위치의 버튼을 선택하면 아래 사진과 같이 버튼을 설정하는 메뉴가 나옵니다.
여기서 버튼의 icon 모양과 버튼을 클릭했을 경우 전송할 데이터 값을 지정합니다.
세팅이 끝내고 Create를 클릭하면 버튼이 생성됩니다.
이번 예제에서는 숫자 1, 2, 3을 전송하는 버튼 3개를 만들어보겠습니다.
버튼을 만든 후 클릭하면 스마트폰과 연결된 디바이스로 데이터가 전달됩니다.
// Bluetooth를 사용하기 위해 SoftwareSerial라이브러리를 사용합니다.
#include <SoftwareSerial.h>
// BLE모듈의 Tx, Rx핀은 아두이노의 디지털4, 5번 핀에 연결되어 있습니다.
SoftwareSerial BTSerial(4, 5);
void setup() {
Serial.begin(9600);
BTSerial.begin(9600);
pinMode(8,OUTPUT);
}
void loop() {
if (BTSerial.available()){
//스마트폰에서 전송된 데이터를 읽어 data변수에 저장합니다.
byte data = BTSerial.read();
Serial.write(data);
if (data == '1') { //'1'이 전달됐을 경우 8번핀에 연결된 LED를 켭니다.
digitalWrite(8,HIGH);
}
else if (data == '2') { //'2'이 전달됐을 경우 8번핀에 연결된 LED를 끕니다.
digitalWrite(8,LOW);
}
}
}
위의 코드는 스마트폰과의 연결을 통해 아두이노에 연결된 LED를 On, Off시킵니다.
코드를 업로드 시켰으면 오렌지보드BLE와 스마트폰의 Toolbox어플을 연결합니다.
어플 하단의 Connect를 클릭하면 연결할 수 있습니다.
※ 연결하기 전에 스마트폰의 bluetooth를 켜야 합니다.
(오렌지보드 BLE 이름 변경하기 - https://kocoafab.cc/tutorial/view/537)
오렌지보드 BLE를 활용하면 별도의 블루투스 모듈 연결 없이 편리하게 블루투스 프로젝트를 제작해볼 수 있습니다.
아무 사각형이나 클릭하면 Configure button이라는 창이 나타나고, 버튼의 모양과 버튼을 클릭했을 경우 전송할 키값을 지정합니다.
세팅이 끝내고 OK를 클릭하면 버튼이 생성됩니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!