Ova aplikacija uspostavlja kanal između dva mikro: bit uređajima. Kanal će biti handeled kao UART komunikaciju. Morate razviti s programom na svakoj mikro: bitni uređaj s prijenosom UART.
Oznaka aktive: BLE Indikacija (zadano)
Oznaka inaktive: BLE Obavijest
Tiha aktive: Ne vizualno bilježenje
Tiha inaktive: Prijava
Zahtjevi:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- uparenih uređaja
- Mikro: malo PROGRAM (razvijen od sebe)
MBED primjer:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * UART;
int povezan = 0;
poništiti onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
spojeni = 1;
}
poništiti onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
spojeni = 0;
}
poništiti onButtonA (MicroBitEvent e)
{
if (povezano == 0) {
uBit.display.scroll ( "NC");
povratak;
}
uart-> poslati ( "Da");
uBit.display.scroll ( "Y");
}
poništiti onButtonB (MicroBitEvent e)
{
if (povezano == 0) {
uBit.display.scroll ( "NC");
povratak;
}
uart-> poslati ( "Ne");
uBit.display.scroll ( "N");
}
poništiti onButtonAB (MicroBitEvent e)
{
if (povezano == 0) {
uBit.display.scroll ( "NC");
povratak;
}
uart-> poslati ( "SK");
uBit.display.scroll ( "SK");
}
void processBLEUart () {
uint8_t readBuf [22];
dok je (1) {// petlja zauvijek
if ((! spojeni) || (! uart-> isReadable ())) {
uBit.sleep (50); // Čekati 50ms i ponovno provjeriti
nastaviti; // petlja;
}
// Drugo smo povezani i postoji neki ulaz za čitanje
if (uart-> isReadable ()) {
a (uart-> isReadable ()) {
int charCount = uart-> čitati (readBuf, 22, Async);
if (charCount! = 0) {
za (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
VAŽNO !!!
Oherwise ćete ponestane memorije!
Preporuči onemogućiti DFU i događaji usluge u MicroBitConfig.h jer nisu potrebni ovdje:
microbit-> microbit-dalmatinskih> 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 ()
{
// Inicijalizacija mikro: bitni 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); // Izradu vlakana i raspored je.
release_fiber ();
}