iPhone의 가속도 센서 값을 BLE를 통해 Edison에 보내 컬러 LED를 빛나게 해 본다
간단하지만 움직이는 데 필요한 것이 무엇입니까?
Xcode8 (swift3)에서 조금 쓰는 방법이 바뀌기 때문에 그 근처도 포함.
LED와의 접속은 Intel Edison board for Arduino의 GPIO를 이용
구성
X축 Acceralation -> Red
Y축 Acceralation -> Green
Z축 Acceralation -> Blue
라고 하는 상태에, 3축을 색에 매핑 해 보아, 흔들어 놀 수 있도록 한다
컬러 LED는 수중에 있던 베스트 센서 모듈 킷의 것을 사용, Edison으로부터 GPIO를 이용해 빛나게 한다.
Edison의 GPIO 번호와 MRAA의 번호의 관련은, 이하의 사이트를 참고에.
htp // 이오 tdk. 그렇다면 l. 이 m/도 cs/마s r/m 라아/에아 응. HTML
연결은 다음과 같은 구성
(최종 동영상에서는 10k 저항을 넣고 풀다운합니다 .. 직접 연결하면 너무 밝습니다)
Edison 측 프로그램
컬러 LED를 무작위로 빛나게 한다
우선, Edison측은 PWM을 3개 사용해, 접속한 칼라 LED를 랜덤하게 빛낸다.
BLE 경유로 iPhone으로부터 받은 것을 이용하는 것은 다음.
Edison측의 프로그램은 XDK를 사용해 개발. 컬러 LED를 빛낸다.
새 프로젝트를 만들고 main.js를 다음과 같이 만들었습니다.
main.jsvar mraa = require('mraa'); //require mraa
var r = new mraa.Pwm(5);
var g = new mraa.Pwm(3);
var b = new mraa.Pwm(6);
r.enable(true);
r.period_us(2000);
r.write(0.5);
g.enable(true);
g.period_us(2000);
g.write(0.5);
b.enable(true);
b.period_us(2000);
b.write(0.5);
periodicActivity();
var count = 0;
function periodicActivity()
{
setTimeout(periodicActivity,100);
// 乱数で適当に色を生成して設定
var rcolor = (count*Math.random()*10)%255 / 255;
var gcolor = (count*Math.random()*10)%255 / 255;
var bcolor = (count*Math.random()*10)%255 / 255;
r.write(rcolor);
g.write(gcolor);
b.write(bcolor);
count ++;
}
edison에서 컬러 LED 피 c. 라고 r. 코 m / TFgl 뻬 W — Motokazu Nishimura (@motokazu) 2016년 10월 22일
BLE로 기다려 컬러 LED를 빛나게
이 사이트가 매우 도움이됩니다.
h tp : // 에아 음- b. jp/bぉg/2015/07/ぇts-마케-에아 그런 p호네-bぇ. HTML
edison 측면 설정
bluez5-dev 설치
opkg update
opkg install bluez5-dev
블루투스 사용
블루투스 소프트웨어가 차단되어 차단 해제
rfkill list
rfkill unblock bluetooth
rfkill list
코드 설정
git clone https://github.com/motokazu/led-edison-ble.git
cd led-edison-ble
npm i
node main.js
stateChange : poweredOn
start advertising ...
계속해서 iOS 측 설정
iOS 측은 가속도 센서 값을 얻고 BLE를 통해 데이터를 보냅니다. 이번에는 간이적으로 텍스트를 쉼표로 구분하여 보내기로 했다.
timestamp,acceleration.x,acceleration.y,acceleration.z
코드는 여기
htps : // 기주 b. 코 m / 모토 카즈 /
Xcode로 빌드하고 실제 기기에 설치
컬러 LED를 무작위로 빛나게 한다
우선, Edison측은 PWM을 3개 사용해, 접속한 칼라 LED를 랜덤하게 빛낸다.
BLE 경유로 iPhone으로부터 받은 것을 이용하는 것은 다음.
Edison측의 프로그램은 XDK를 사용해 개발. 컬러 LED를 빛낸다.
새 프로젝트를 만들고 main.js를 다음과 같이 만들었습니다.
main.js
var mraa = require('mraa'); //require mraa
var r = new mraa.Pwm(5);
var g = new mraa.Pwm(3);
var b = new mraa.Pwm(6);
r.enable(true);
r.period_us(2000);
r.write(0.5);
g.enable(true);
g.period_us(2000);
g.write(0.5);
b.enable(true);
b.period_us(2000);
b.write(0.5);
periodicActivity();
var count = 0;
function periodicActivity()
{
setTimeout(periodicActivity,100);
// 乱数で適当に色を生成して設定
var rcolor = (count*Math.random()*10)%255 / 255;
var gcolor = (count*Math.random()*10)%255 / 255;
var bcolor = (count*Math.random()*10)%255 / 255;
r.write(rcolor);
g.write(gcolor);
b.write(bcolor);
count ++;
}
edison에서 컬러 LED 피 c. 라고 r. 코 m / TFgl 뻬 W — Motokazu Nishimura (@motokazu) 2016년 10월 22일
BLE로 기다려 컬러 LED를 빛나게
이 사이트가 매우 도움이됩니다.
h tp : // 에아 음- b. jp/bぉg/2015/07/ぇts-마케-에아 그런 p호네-bぇ. HTML
edison 측면 설정
bluez5-dev 설치
opkg update
opkg install bluez5-dev
블루투스 사용
블루투스 소프트웨어가 차단되어 차단 해제
rfkill list
rfkill unblock bluetooth
rfkill list
코드 설정
git clone https://github.com/motokazu/led-edison-ble.git
cd led-edison-ble
npm i
node main.js
stateChange : poweredOn
start advertising ...
계속해서 iOS 측 설정
iOS 측은 가속도 센서 값을 얻고 BLE를 통해 데이터를 보냅니다. 이번에는 간이적으로 텍스트를 쉼표로 구분하여 보내기로 했다.
timestamp,acceleration.x,acceleration.y,acceleration.z
코드는 여기
htps : // 기주 b. 코 m / 모토 카즈 /
Xcode로 빌드하고 실제 기기에 설치
opkg update
opkg install bluez5-dev
rfkill list
rfkill unblock bluetooth
rfkill list
git clone https://github.com/motokazu/led-edison-ble.git
cd led-edison-ble
npm i
node main.js
stateChange : poweredOn
start advertising ...
iOS 측은 가속도 센서 값을 얻고 BLE를 통해 데이터를 보냅니다. 이번에는 간이적으로 텍스트를 쉼표로 구분하여 보내기로 했다.
timestamp,acceleration.x,acceleration.y,acceleration.z
코드는 여기
htps : // 기주 b. 코 m / 모토 카즈 /
Xcode로 빌드하고 실제 기기에 설치
완성된 버전의 동영상
BLE 경유 L치카 피 c. 라고 r. 이 m/cPq2RqjpLK — Motokazu Nishimura (@motokazu) 2016년 10월 22일
도중에 만난 문제
개발 도중에, iOS로부터 BLE 경유로 writeValue 해 데이터를 보내고 있으면, 곧바로 송신이 정지해 Edison과의 접속이 Disconnect가 되어 버리는 문제가 발생.
writeValue : 4743982319333547688,-0.382124,-0.409589,-14.219012
writeValue : 4743982319333963817,-0.388445,-0.524466,-14.224679
Disconnect!
error: Optional(Error Domain=CBErrorDomain Code=7 "The specified device has disconnected from us." UserInfo={NSLocalizedDescription=The specified device has disconnected from us.})
갑자기 연결이 끊어집니다 ....
참고 페이지를 보고 있으면, "bluetoothd가 배후에서 기동하고 있으면 bleno에 간섭한다"라고 쓰고 있는데.. 이 순서를 날리고 있었다. 다음을 실행하면 연결이 끊어지지 않습니다.
killall bluetoothd
hciconfig hci0 up
Reference
이 문제에 관하여(iPhone의 가속도 센서 값을 BLE를 통해 Edison에 보내 컬러 LED를 빛나게 해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/motokazu/items/d3ee6959c10bdc271659
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
writeValue : 4743982319333547688,-0.382124,-0.409589,-14.219012
writeValue : 4743982319333963817,-0.388445,-0.524466,-14.224679
Disconnect!
error: Optional(Error Domain=CBErrorDomain Code=7 "The specified device has disconnected from us." UserInfo={NSLocalizedDescription=The specified device has disconnected from us.})
killall bluetoothd
hciconfig hci0 up
Reference
이 문제에 관하여(iPhone의 가속도 센서 값을 BLE를 통해 Edison에 보내 컬러 LED를 빛나게 해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/motokazu/items/d3ee6959c10bdc271659텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)