Tato aplikace komunikuje mezi systémem Android a zařízením micro: bit. Text můžete přenášet a přijímat v režimu „oznámení“ nebo „indikace“. Komunikace UART musí být také implementována na zařízení micro: bit (Block, Javascript, MBED).
Možnosti:
- Indikace: Výchozí režim mikro: bit (jinak režim oznámení)
- LF: Přidána linka
- CR: Vrácení vozíku
Požadavky:
- Min. Android 5
- Nízká spotřeba Bluetooth (BLE)
- Spárovaná zařízení
- program micro: bit (vyvinutý uživatelem)
V 2.1: Kopírování do schránky (nabídka možností)
V 2.2: Vymazání seznamu (nabídka možností), možnost bez protokolu
V 2.5: Hex Mode
Příklad MBED:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
#include "BMP180.h"
MicroBit uBit;
MicroBitUARTService * uart;
BMP180 bmp180 (P0_30, P0_0);
pufr pro char [80];
tlak v plováku, teplota;
int connected = 0;
void onConnected (MicroBitEvent e)
{
uBit.display.scroll ("C");
připojeno = 1;
}
void onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ("D");
connected = 0;
}
void onButtonA (MicroBitEvent e)
{
uBit.display.scroll (buffer);
}
void onButtonB (MicroBitEvent e)
{
uBit.display.scroll ("SK");
}
/ *
DŮLEŽITÉ !!!
V opačném případě vám dojde nedostatek paměti!
Doporučujeme zakázat služby DFU a Event v MicroBitConfig.h, protože zde nejsou potřeba:
mikrobit-> mikrobit-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 hlavní ()
{
bmp180.Initialize (64, BMP180_OSS_ULTRA_LOW_POWER);
tlak = -1;
teplota = -1;
if (bmp180.ReadData (& teplota a tlak))
sprintf (pufr, "% .2f C% 4,0f hPa", teplota, tlak);
jiný
sprintf (buffer, "NOK");
// Inicializujte runtime mikro: 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);
uart = new MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll (":)");
zatímco (1)
{
tlak = -1;
teplota = -1;
if (bmp180.ReadData (& teplota a tlak))
sprintf (pufr, "% .2f C% 4,0f hPa", teplota, tlak);
jiný
sprintf (buffer, "NOK");
if (! connected) {
uBit.sleep (500);
}
jiný
{
uart-> send (buffer);
uBit.sleep (1000);
}
}
release_fiber ();
}
Datum aktualizace
26. 5. 2019