Aquesta aplicació es comunica entre Android i un dispositiu micro: bit. Podeu transmetre i rebre text en mode "notificació" o "indicació". La comunicació UART també s'ha d’implementar al dispositiu micro: bit (Block, Javascript, MBED).
Opcions:
- Indicació: mode micro: bit per defecte (en cas contrari, mode de notificació)
- LF: Linefeed afegit
- CR: retorn de carro afegit
Requisits:
- Min. Android 5
- Bluetooth Low Energy (BLE)
- Dispositius aparellats
- micro: bit program (desenvolupat per vosaltres mateixos)
V 2.1: copiar al porta-retalls (menú d'opcions)
V 2.2: llista de neteja (menú d'opcions), sense opció de registre
V 2.5: Mode hexadecimal
Exemple de MBED:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
#include "BMP180.h"
MicroBit uBit;
MicroBitUARTService * uart;
BMP180 bmp180 (P0_30, P0_0);
buffer char [80];
pressió de flotació, temperatura;
int connectat = 0;
void onConnected (MicroBitEvent e)
{
uBit.display.scroll ("C");
connectat = 1;
}
void onDesconnected (MicroBitEvent e)
{
uBit.display.scroll ("D");
connectat = 0;
}
void onButtonA (MicroBitEvent e)
{
uBit.display.scroll (buffer);
}
void onButtonB (MicroBitEvent e)
{
uBit.display.scroll ("SK");
}
/ *
IMPORTANT !!!
En cas contrari, es quedarà sense memòria!
Recomanem inhabilitar els serveis DFU i Esdeveniments a MicroBitConfig.h, ja que no són necessaris aquí:
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 ()
{
bmp180.Initialize (64, BMP180_OSS_ULTRA_LOW_POWER);
pressió = -1;
temperatura = -1;
if (bmp180.ReadData (i temperatura, i pressió))
sprintf (buffer, ".2f C% 4.0f hPa", temperatura, pressió);
més
sprintf (buffer, "NOK");
// Inicialitzeu el temps d'execució micro: bit.
uBit.init ();
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, aConnected);
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, a Desconnectat);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, a ButtonA);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, aButtonB);
uart = new MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll (":)");
mentre (1)
{
pressió = -1;
temperatura = -1;
if (bmp180.ReadData (i temperatura, i pressió))
sprintf (buffer, ".2f C% 4.0f hPa", temperatura, pressió);
més
sprintf (buffer, "NOK");
si (! connectat) {
uBit.sleep (500);
}
més
{
uart-> send (buffer);
uBit.sleep (1000);
}
}
release_fiber ();
}
Data d'actualització:
26 de maig 2019