Tato aplikace vytváří kanál mezi dvěma micro: bitových zařízení. Kanál bude handeled jako UART komunikace. Musíte vyvinout si PROGRAM na každé mikro: Bit zařízení s přenosem UART.
Indikace Aktivní: BLE indikace (Výchozí)
Indikace inaktive: BLE Oznámení
Silent Aktive: Ne vizuální protokolování
Silent inaktive: protokolování
požadavky:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- Spárované přístroje
- Micro: bit program (vyvinuli sami)
MBED příklad:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * UART;
int připojen = 0;
void onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
připojený = 1;
}
void onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
připojen = 0;
}
void onButtonA (MicroBitEvent e)
{
if (připojeno == 0) {
uBit.display.scroll ( "NC");
vrátit se;
}
uart-> send ( "Yes");
uBit.display.scroll ( "Y");
}
void onButtonB (MicroBitEvent e)
{
if (připojeno == 0) {
uBit.display.scroll ( "NC");
vrátit se;
}
uart-> send ( "Ne");
uBit.display.scroll ( "N");
}
void onButtonAB (MicroBitEvent e)
{
if (připojeno == 0) {
uBit.display.scroll ( "NC");
vrátit se;
}
uart-> poslat ( "SK");
uBit.display.scroll ( "SK");
}
void processBLEUart () {
uint8_t readBuf [22];
while (1) {// smyčka navždy
if ((! připojený) || (! uart-> isReadable ())) {
uBit.sleep (50); // Čekat 50ms a znovu zkontrolujte
pokračovat; // Smyčka;
}
// Jinak jsme spojeni a tam je nějaký vstup slouží ke čtení
if (uart-> isReadable ()) {
while (uart-> isReadable ()) {
int charCount = uart-> přečíst (readBuf, 22, ASYNC);
if (charCount! = 0) {
for (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
Důležité !!!
Oherwise vám dojdou paměti!
Doporučujeme deaktivaci služby DFU a událostí v MicroBitConfig.h, protože zde nejsou potřeba:
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 ()
{
// Inicializace 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 (a processBLEUart); // Vytvoří vlákno a naplánovat.
release_fiber ();
}
Datum aktualizace
30. 12. 2020