Esta aplicación comunícase entre Android e un dispositivo micro: bit. Pode transmitir e recibir texto en modo de "notificación" ou "indicación". A comunicación UART tamén debe ser implementada no dispositivo micro: bit (Block, Javascript, MBED).
Opcións:
- Indicación: Modo micro: bit por defecto (se non, modo de notificación)
- LF: engadiu Linefeed
- CR: retorno de carro engadido
Requisitos:
- Min. Android 5
- Bluetooth Low Energy (BLE)
- Dispositivos vinculados
- micro: bit program (desenvolvido por vostede mesmo)
V 2.1: Copiar no portarretallos (menú de opcións)
V 2.2: Lista de borrados (menú de opcións), sen opción de rexistro
V 2.5: Modo hexadecimal
Exemplo MBED:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
#include "BMP180.h"
MicroBit uBit;
MicroBitUARTService * uart;
BMP180 bmp180 (P0_30, P0_0);
buffer char [80];
presión de flutuación, temperatura;
int conectado = 0;
void onConnected (MicroBitEvent e)
{
uBit.display.scroll ("C");
conectado = 1;
}
void onDesconnected (MicroBitEvent e)
{
uBit.display.scroll ("D");
conectado = 0;
}
void onButtonA (MicroBitEvent e)
{
uBit.display.scroll (buffer);
}
void onButtonB (MicroBitEvent e)
{
uBit.display.scroll ("SK");
}
/ *
IMPORTANTE !!!
Aínda así, quedarás sen memoria!
Recomenda desactivar os servizos DFU e Eventos en MicroBitConfig.h xa que non son necesarios 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);
presión = -1;
temperatura = -1;
if (bmp180.ReadData (e temperatura, e presión))
sprintf (buffer, "% .2f C% 4.0f hPa", temperatura, presión);
máis
sprintf (buffer, "NOK");
// Inicializa o tempo de execución de micro: bit.
uBit.init ();
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDesconnected);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, enButtonA);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, en Botón);
uart = novo MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll (":)");
mentres (1)
{
presión = -1;
temperatura = -1;
if (bmp180.ReadData (e temperatura, e presión))
sprintf (buffer, "% .2f C% 4.0f hPa", temperatura, presión);
máis
sprintf (buffer, "NOK");
se (! conectado) {
uBit.sleep (500);
}
máis
{
uart-> send (buffer);
uBit.sleep (1000);
}
}
release_fiber ();
}
Última actualización
26 de maio de 2019