micro:bit Gateway - Google Play
You'll be able to see results in few seconds.
Official Google Play Link
We do not host micro:bit Gateway on our servers. We did not scan it for viruses, adware, spyware or other type of malware. This app is hosted by Google and passed their terms and conditions to be listed there. We recommend caution when installing it.
The Google Play link for micro:bit Gateway is provided to you by soft112.com without any warranties, representations or guarantees of any kind, so access it at your own risk.
If you have questions regarding this particular app contact the publisher directly. For questions about the functionalities of soft112.com contact us.
Publisher Description
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();
}