micro:bit Gatewayの紹介
ビットデバイス:このアプリは2つのマイクロ間のチャネルを確立します。チャネルは、UART通信としてhandeledされます。 UARTの転送とビットデバイス:あなたは、各マイクロ上のプログラムの開発を開発する必要があります。
表示aktive:BLE表示(デフォルト)
表示inaktive:BLE通知
サイレントaktive:いいえ視覚ロギング
サイレントinaktive:ロギング
要件:
- ミン。アンドロイド4.4
- Bluetoothの低エネルギー(BLE)
- デバイスの組み合わせ
- マイクロ:(自分が開発した)ビットのプログラムの開発
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){// whileループ
場合((!接続)||(!uart-> isReadable())){
uBit.sleep(50)。 // 50ミリ秒待ってから再度確認してください
持続する; //ループ;
}
//そうでなければ、私たちは、接続されていると読み取るためにいくつかの入力があります
場合(uart-> isReadable()){
しばらく(uart-> isReadable()){
int型はcharCount = uart->読み(READBUF、22、ASYNC)。
場合(はcharCount!= 0){
以下のために(int型私= 0; iははcharCountを<;私は++)
uBit.display.scroll((char型)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
- Bluetoothの低エネルギー(BLE)
- デバイスの組み合わせ
- マイクロ:(自分が開発した)ビットのプログラムの開発
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){// whileループ
場合((!接続)||(!uart-> isReadable())){
uBit.sleep(50)。 // 50ミリ秒待ってから再度確認してください
持続する; //ループ;
}
//そうでなければ、私たちは、接続されていると読み取るためにいくつかの入力があります
場合(uart-> isReadable()){
しばらく(uart-> isReadable()){
int型はcharCount = uart->読み(READBUF、22、ASYNC)。
場合(はcharCount!= 0){
以下のために(int型私= 0; iははcharCountを<;私は++)
uBit.display.scroll((char型)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()。
}
表示