Skip to content

mit app inventor + littleBits BLE

mit app inventor로 어플리케이션을 만들어 littleBits BLE모듈과 연결하고자 한다.

참고 littleBits forum: http://discuss.littlebits.cc/t/is-it-possible-to-control-a-w30-ble-bit-from-a-custom-made-app/25376/6

활용법

LittleBits_w30_BLE.aia.zip 위 app inventor 소스를 다운받아 app inventor에서 import 한 후, 각 프로젝트에 맞게 수정해 사용한다.

코드 분석

확대해서 보자

note: BLE extention의 버그: apk로 설치해 실행시 WriteByte 블록 에러 "Runtime error failed resolution Lcom/google/common/collect/List"발생. -> ble extention이 버전 업 (v.2.1)되면서 해결됨. extension의 버전을 확인하자!

writebyte block 버그 해결된 BLE extension 다운로드

참고: https://www.google.co.kr/search?q=failed+resolution+of:+Lcom/google/common/collect/Lists%3B+app+inventor&ei=VcGEWtv2OMzC0gSjxL3ICg&start=0&sa=N&biw=1920&bih=983 참고: https://groups.google.com/forum/#!msg/mitappinventortest/at_zp8d4E_w/P_nT8enqCAAJ 참고: https://groups.google.com/forum/#!searchin/mitappinventortest/failed$20resolution$20/mitappinventortest/zjnHBb_FK7c/3RG77w-gBgAJ

심화학습: littleBits BLE의 reverse-engineering

BLE scanner app으로 littleBits BLE 모듈이 어떻게 작동되는지 살펴보자

BLE scanner app으로 연결해 살펴보았다.

UUID

CUSTOM SERVICE UUID: 0705d0c0c8d841c9ae1552fad5358b8a Cstom Characteristic UUID: 0705d0c2c8d841c9ae1552fad5358b8a

appinventor 에서 littleBits BLE 로 데이터 보내기

Khanning의 scratchx용 BLE extention 코드를 참고하여... khanning의 scratchx-littleBits extension github

BLE bit에 write할 때는 byteWrite[ 0, 2, 전달하려는 값(0~255) ] 하면 된다.

littleBits BLE 에서 appinventor 로 데이터 보내기

BLE bit에 연결된 버튼을 누르면, 뭔지 잘 모르겠지만 하여간 HEX값 3번째 byte가 01 -> 255(0xFF)로 NOTIFY받는다.

app inventor BLE extension 참고

다운로드: http://appinventor.mit.edu/extensions/ 도큐먼트: http://iot.appinventor.mit.edu/#/bluetoothle/bluetoothleintro

warning: extension의 버전이 2.1 이상인지 확인! - 위쪽에 관련내용)