micro:bit Gateway 소개
비트 디바이스 :이 응용 프로그램은 두 개의 마이크로 사이의 채널을 설정합니다. 채널은 UART 통신으로 handeled됩니다. UART 전송과 비트 디바이스 : 각 마이크로에을 programm을 개발할해야합니다.
표시 AKTIVE : BLE 표시 (기본값)
표시 inaktive : BLE 알림
자동 AKTIVE : 없음 시각적 기록하지
자동 inaktive : 로그
요구 사항 :
- 최소. 안드로이드 4.4
- 블루투스 로우 에너지 (BLE)
- 페어링 된 기기
- 마이크로 (자신에 의해 개발) 비트 programm에
MBED 예 :
사용법 #include "MicroBit.h"
사용법 #include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService *의 UART;
INT 0 = 연결;
무효 onConnected (MicroBitEvent 전자)
{
uBit.display.scroll ( "C");
= 1 연결;
}
무효 onDisconnected (MicroBitEvent 전자)
{
uBit.display.scroll ( "D");
= 0 연결;
}
무효 onButtonA (MicroBitEvent 전자)
{
경우 (연결 == 0) {
uBit.display.scroll ( "NC");
반환;
}
uart-> ( "예") 보내;
uBit.display.scroll ( "Y");
}
무효 onButtonB (MicroBitEvent 전자)
{
경우 (연결 == 0) {
uBit.display.scroll ( "NC");
반환;
}
uart-> ( "아니오") 보내;
uBit.display.scroll ( "N");
}
무효 onButtonAB (MicroBitEvent 전자)
{
경우 (연결 == 0) {
uBit.display.scroll ( "NC");
반환;
}
uart-> ( "SK")을 보내;
uBit.display.scroll ( "SK");
}
무효 processBLEUart () {
uint8_t readBuf [22];
동안 영원히 (1) {// 루프
경우 ((! 연결) || (! uart->있다 IsReadable ())) {
uBit.sleep (50); // 50ms가 후에 다시 확인
잇다; // 루프;
}
// 다른 우리는 연결되어 읽을 수있는 몇 가지 입력이있다
경우 (uart->있다 IsReadable ()) {
동안 (uart->있다 IsReadable ()) {
INT에서 charCount = uart-> 읽기 (readBuf, 22, ASYNC);
경우 (에서 charCount! = 0) {
대한 (INT 전 = 0; i가에서 charCount을 <; 내가 ++)
uBit.display.scroll ((문자) readBuf [I]);
}
}
}
}
}
/ *
중요!
Oherwise 당신은 메모리가 부족합니다!
그들이 여기에 필요하지 않기 때문에 MicroBitConfig.h에서 DFU 및 이벤트 서비스를 사용하지 않도록 권장 :
microbit-> microbit-dal-> inc-> 코어 -> MicroBitConfig.h
의 #define MICROBIT_BLE_DFU_SERVICE 0
의 #define MICROBIT_BLE_EVENT_SERVICE 0
#DEFINE MICROBIT_SD_GATT_TABLE_SIZE의 0x500
* /
() 주요 int로
{
비트 런타임 : 마이크로를 초기화한다 //.
uBit.init ();
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB);
UART = 새로운 MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll는 ( "이동");
create_fiber (processBLEUart를); // 섬유를 생성하고 예약합니다.
release_fiber ();
}
표시 AKTIVE : BLE 표시 (기본값)
표시 inaktive : BLE 알림
자동 AKTIVE : 없음 시각적 기록하지
자동 inaktive : 로그
요구 사항 :
- 최소. 안드로이드 4.4
- 블루투스 로우 에너지 (BLE)
- 페어링 된 기기
- 마이크로 (자신에 의해 개발) 비트 programm에
MBED 예 :
사용법 #include "MicroBit.h"
사용법 #include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService *의 UART;
INT 0 = 연결;
무효 onConnected (MicroBitEvent 전자)
{
uBit.display.scroll ( "C");
= 1 연결;
}
무효 onDisconnected (MicroBitEvent 전자)
{
uBit.display.scroll ( "D");
= 0 연결;
}
무효 onButtonA (MicroBitEvent 전자)
{
경우 (연결 == 0) {
uBit.display.scroll ( "NC");
반환;
}
uart-> ( "예") 보내;
uBit.display.scroll ( "Y");
}
무효 onButtonB (MicroBitEvent 전자)
{
경우 (연결 == 0) {
uBit.display.scroll ( "NC");
반환;
}
uart-> ( "아니오") 보내;
uBit.display.scroll ( "N");
}
무효 onButtonAB (MicroBitEvent 전자)
{
경우 (연결 == 0) {
uBit.display.scroll ( "NC");
반환;
}
uart-> ( "SK")을 보내;
uBit.display.scroll ( "SK");
}
무효 processBLEUart () {
uint8_t readBuf [22];
동안 영원히 (1) {// 루프
경우 ((! 연결) || (! uart->있다 IsReadable ())) {
uBit.sleep (50); // 50ms가 후에 다시 확인
잇다; // 루프;
}
// 다른 우리는 연결되어 읽을 수있는 몇 가지 입력이있다
경우 (uart->있다 IsReadable ()) {
동안 (uart->있다 IsReadable ()) {
INT에서 charCount = uart-> 읽기 (readBuf, 22, ASYNC);
경우 (에서 charCount! = 0) {
대한 (INT 전 = 0; i가에서 charCount을 <; 내가 ++)
uBit.display.scroll ((문자) readBuf [I]);
}
}
}
}
}
/ *
중요!
Oherwise 당신은 메모리가 부족합니다!
그들이 여기에 필요하지 않기 때문에 MicroBitConfig.h에서 DFU 및 이벤트 서비스를 사용하지 않도록 권장 :
microbit-> microbit-dal-> inc-> 코어 -> MicroBitConfig.h
의 #define MICROBIT_BLE_DFU_SERVICE 0
의 #define MICROBIT_BLE_EVENT_SERVICE 0
#DEFINE MICROBIT_SD_GATT_TABLE_SIZE의 0x500
* /
() 주요 int로
{
비트 런타임 : 마이크로를 초기화한다 //.
uBit.init ();
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB);
UART = 새로운 MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll는 ( "이동");
create_fiber (processBLEUart를); // 섬유를 생성하고 예약합니다.
release_fiber ();
}
더 보기