micro:bit Gateway


1.2 oleh Ferdinand Stueckler
Dec 30, 2020 Versi Lama

Mengenai micro:bit Gateway

pertukaran data Bluetooth untuk mikro: Peranti bit

Aplikasi ini menetapkan saluran antara dua mikro: peranti bit. Saluran ini akan handeled komunikasi UART. Anda perlu membangunkan satu programm pada setiap mikro: bit peranti dengan pemindahan UART.

Petunjuk aktive: petunjuk BLE (Default)

Petunjuk inaktive: Pemberitahuan BLE

aktive Silent: Tiada pembalakan visual

inaktive Silent: Logging

syarat-syarat:

- Min. Android 4.4

- Bluetooth Tenaga Rendah (BLE)

- Peranti yang berpasang

- Mikro: bit programm (dibangunkan sendiri)

contoh MBED:

#include "MicroBit.h"

#include "MicroBitUARTService.h"

MicroBit Ubit;

MicroBitUARTService * UART;

int disambungkan = 0;

tidak sah onConnected (MicroBitEvent e)

{

    uBit.display.scroll ( "C");

    disambungkan = 1;

}

tidak sah onDisconnected (MicroBitEvent e)

{

    uBit.display.scroll ( "D");

    disambungkan = 0;

}

tidak sah onButtonA (MicroBitEvent e)

{

    jika (yang berkaitan == 0) {

        uBit.display.scroll ( "JP");

        kembali;

    }

    uart-> menghantar ( "Ya");

    uBit.display.scroll ( "Y");

}

tidak sah onButtonB (MicroBitEvent e)

{

    jika (yang berkaitan == 0) {

        uBit.display.scroll ( "JP");

        kembali;

    }

    uart-> menghantar ( "Tidak");

    uBit.display.scroll ( "N");

}

tidak sah onButtonAB (MicroBitEvent e)

{

    jika (yang berkaitan == 0) {

        uBit.display.scroll ( "JP");

        kembali;

    }

    uart-> menghantar ( "SK");

    uBit.display.scroll ( "SK");

}

tidak sah processBLEUart () {

    uint8_t readBuf [22];

    manakala (1) {// gelung selama-lamanya

        jika ((! berkaitan) || (! uart-> isReadable ())) {

            uBit.sleep (50); // Menunggu 50ms dan periksa sekali lagi

            terus; // Gelung;

        }

        // Lagi yang kita disambungkan DAN terdapat beberapa input untuk membaca

        jika (uart-> isReadable ()) {

            manakala (uart-> isReadable ()) {

                int charCount = uart-> membaca (readBuf, 22, Async);

                jika (charCount! = 0) {

                    untuk (int i = 0; i                         uBit.display.scroll ((char) readBuf [i]);

                }

            }

        }

    }

}

/ *

PENTING !!!

Oherwise anda akan kehabisan memori!

Mengesyorkan melumpuhkan perkhidmatan DFU dan acara MicroBitConfig.h kerana mereka tidak diperlukan di sini:

microbit-> microbit-dal-> inc-> core-> MicroBitConfig.h

# menentukan MICROBIT_BLE_DFU_SERVICE 0

# menentukan MICROBIT_BLE_EVENT_SERVICE 0

# menentukan MICROBIT_SD_GATT_TABLE_SIZE 0x500

* /

int main ()

{

    // Initialise mikro: bit runtime.

    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 baru (* uBit.ble, 32, 32);

    uBit.display.scroll ( "Go");

    create_fiber (& processBLEUart); // Mewujudkan serat dan menjadualkan.

    release_fiber ();

}

Apa yang baru dalam versi terkini 1.2

Last updated on Jan 22, 2021
Android 11

Maklumat APLIKASI tambahan

Versi Terbaru

1.2

Dimuat naik oleh

Suman Raj Suman Raj

Memerlukan Android

Android 5.0+

Available on

Tunjukkan Lagi

micro:bit Gateway Alternatif

Dapatkan lebih banyak daripada Ferdinand Stueckler

Cari