micro:bit Gateway

1K+
Téléchargements
Classification du contenu
Tout public
Capture d'écran
Capture d'écran
Capture d'écran
Capture d'écran

À propos de l'application

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();
}
Date de mise à jour
30 dsb 2020

Sécurité des données

La sécurité, c'est d'abord comprendre comment les développeurs collectent et partagent vos données. Les pratiques concernant leur confidentialité et leur protection peuvent varier selon votre utilisation, votre région et votre âge. Le développeur a fourni ces informations et peut les modifier ultérieurement.
Aucune donnée partagée avec des tiers
En savoir plus sur la manière dont les développeurs déclarent le partage
Aucune donnée collectée
En savoir plus sur la manière dont les développeurs déclarent la collecte
S'engage à respecter les règles pour les contenus familiaux de Play

Nouveautés

Android 11