micro:bit Gateway

1K+
Okudawunilodiwe
Isilinganiselwa sokuqukethwe
Wonke umuntu
Isithombe sesithombe-skrini
Isithombe sesithombe-skrini
Isithombe sesithombe-skrini
Isithombe sesithombe-skrini

Mayelana nalolu hlelo lokusebenza

Lolu hlelo lokusebenza usungula isiteshi phakathi ezimbili ezincane: amadivayisi bit. Isiteshi uzobe handeled njengoba UART zokuxhumana. Kufanele develope a sohlelo on ngalinye micro: bit idivayisi ngokudluliselwa UART.

Okubonisa aktive: Okubonisa nakali (Okuzenzakalelayo)
Okubonisa inaktive: Isaziso nakali

aktive Silent: Ayikho ukugawulwa kwemithi sibonwa
inaktive Silent: Imithi

Izidingo:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- Imishini ebhangqiwe
- Micro: bit sohlelo (lakhiwa ngokwakho)


Isibonelo MBED:

#include "MicroBit.h"
#include "MicroBitUARTService.h"

MicroBit uBit;
MicroBitUARTService * uart;

int axhunyiwe = 0;

yize onConnected (MicroBitEvent e)
{
    uBit.display.scroll ( "C");
    
    exhunywe = 1;
}

yize onDisconnected (MicroBitEvent e)
{
    uBit.display.scroll ( "D");
    exhunywe = 0;
}

yize onButtonA (MicroBitEvent e)
{
    uma (== exhunywe 0) {
        uBit.display.scroll ( "NC");
        buyela emuva;
    }
    uart-> thumela ( "Yebo");
    uBit.display.scroll ( "Y");
}

yize onButtonB (MicroBitEvent e)
{
    uma (== exhunywe 0) {
        uBit.display.scroll ( "NC");
        buyela emuva;
    }
    uart-> thumela ( "Cha");
    uBit.display.scroll ( "N");
}

yize onButtonAB (MicroBitEvent e)
{
    uma (== exhunywe 0) {
        uBit.display.scroll ( "NC");
        buyela emuva;
    }
    uart-> thumela ( "SK");
    uBit.display.scroll ( "SK");
}

zintula processBLEUart () {
    uint8_t readBuf [22];
    kanti (1) {// loop kuze kube phakade
        uma ((! exhunyiwe) || (! uart-> isReadable ())) {
            uBit.sleep (50); // Ulinde 50mS ubuye ukhangele njalo
            qhubeka; // Loop;
        }
        // Futhi sisuke axhunyiwe KANYE kukhona abanye input ukufunda
        uma (uart-> isReadable ()) {
            kanti (uart-> isReadable ()) {
                int charCount = uart-> ukufunda (readBuf, 22, Vumelanisa);
                uma (charCount! = 0) {
                    ngoba (int i = 0, i                         uBit.display.scroll ((Isakare) readBuf [i]);
                }
            }
        }
    }
}


/ *
OKUBALULEKILE !!!
Oherwise uyobe uphelelwa inkumbulo!

Ncoma ivimbele DFU kanye Izinkundla namasevisi e MicroBitConfig.h ngoba alidingeki lapha:
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 micro: sokusebenza bit.
    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 entsha (* uBit.ble, 32, 32);
    uBit.display.scroll ( "Hamba");
    create_fiber (& processBLEUart); // Ukudala fibre futhi ukuhlela it.

    release_fiber ();
}
Kubuyekezwe ngo-
Dis 30, 2020

Ukuphepha kwedatha

Ukuphepha kuqala ngokuqonda ukuthi onjiniyela baqoqa futhi babelane kanjani ngedatha yakho. Ubumfihlo bedatha nezinqubo zokuphepha zingahluka kuye ngokusebenzisa kwakho, isifunda, nobudala. Unjiniyela unikeze lolu lwazi futhi angalubuyekeza ngokuhamba kwesikhathi.
Ayikho idatha eyabiwe nezinkampani zangaphandle
Funda kabanzi mayelana nendlela onjiniyela abaveza ngayo ukwabelana
Ayikho idatha eqoqiwe
Funda kabanzi mayelana nokuthi onjiniyela bakuveza kanjani ukuqoqwa
Uzimisele ukulandela Inqubomgomo Yemindeni ye-Google Play

Yini entsha

Android 11