micro:bit Gateway

Ferdinand Stueckler
Jan 22, 2021

Trusted App

  • 90.8 KB

    File Size

  • Everyone

  • Android 5.0+

    Android OS

About micro:bit Gateway

Bluetooth data exchange for micro:bit devices

This app establishes a channel between two micro:bit devices. The channel will be handeled as UART communication. You have to develope a programm on each micro:bit device with UART transfer.

Indication aktive: BLE Indication (Default)

Indication inaktive: BLE Notification

Silent aktive: No visual logging

Silent inaktive: Logging

Requirements:

- Min. Android 4.4

- Bluetooth Low Energy (BLE)

- Paired devices

- micro:bit programm (developed by yourself)

MBED example:

#include "MicroBit.h"

#include "MicroBitUARTService.h"

MicroBit uBit;

MicroBitUARTService *uart;

int connected = 0;

void onConnected(MicroBitEvent e)

{

uBit.display.scroll("C");

connected = 1;

}

void onDisconnected(MicroBitEvent e)

{

uBit.display.scroll("D");

connected = 0;

}

void onButtonA(MicroBitEvent e)

{

if (connected == 0) {

uBit.display.scroll("NC");

return;

}

uart->send("Yes");

uBit.display.scroll("Y");

}

void onButtonB(MicroBitEvent e)

{

if (connected == 0) {

uBit.display.scroll("NC");

return;

}

uart->send("No");

uBit.display.scroll("N");

}

void onButtonAB(MicroBitEvent e)

{

if (connected == 0) {

uBit.display.scroll("NC");

return;

}

uart->send("SK");

uBit.display.scroll("SK");

}

void processBLEUart() {

uint8_t readBuf[22];

while (1) { // loop for ever

if ((!connected) || (!uart->isReadable())) {

uBit.sleep(50); // wait 50mS and check again

continue; // loop;

}

//else we are connected AND there is some input to read

if (uart->isReadable()) {

while (uart->isReadable()) {

int charCount = uart->read(readBuf, 22, ASYNC);

if (charCount != 0) {

for (int i = 0; i < charCount; i++)

uBit.display.scroll((char) readBuf[i]);

}

}

}

}

}

/*

IMPORTANT !!!

Oherwise you will run out of memory !

Recommend disabling the DFU and Event services in MicroBitConfig.h since they are not needed here:

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

#define MICROBIT_BLE_DFU_SERVICE 0

#define MICROBIT_BLE_EVENT_SERVICE 0

#define MICROBIT_SD_GATT_TABLE_SIZE 0x500

*/

int main()

{

// Initialise the micro: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 = new MicroBitUARTService(*uBit.ble, 32, 32);

uBit.display.scroll("Go");

create_fiber(&processBLEUart); // create fiber and schedule it.

release_fiber();

}

Show MoreShow Less

What's new in the latest 1.2

Last updated on 2021-01-23
Android 11

micro:bit Gateway APK Information

Latest Version
1.2
Android OS
Android 5.0+
File Size
90.8 KB
Available on
Content Rating
Everyone
Safe & Fast APK Downloads on APKPure
APKPure uses signature verification to ensure virus-free micro:bit Gateway APK downloads for you.

Old Versions of micro:bit Gateway

Super Fast and Safe Downloading via APKPure App

One-click to install XAPK/APK files on Android!

Download APKPure
Security Report

micro:bit Gateway

1.2

The Security Report will be available soon. In the meantime, please note that this app has passed APKPure's initial safety checks.

SHA256:

eb6b8c6863800e6a0916ea7ade6d90660463a92033cc402d46d578438b158438

SHA1:

1d530221aaed0eca1d1e9bc57afaaa3594fed2f1