Ця програма підтримує зв'язок між Android і пристроєм micro: bit. Ви можете передавати та отримувати текст у режимі «сповіщення» або «індикація». Зв'язок UART також повинна бути реалізована на мікро: бітовому пристрої (Block, Javascript, MBED).
Параметри:
- Індикація: стандартний режим: бітовий режим (інакше режим сповіщення)
- LF: додавання ліній
- CR: Додано повернення вантажу
Вимоги:
- Хв. Android 5
- Bluetooth з низьким енергоспоживанням (BLE)
- Парні пристрої
- micro: bit programm (розроблено самостійно)
V 2.1: копіювання в буфер обміну (меню параметрів)
V 2.2: Очистити список (Меню опцій), Немає опції журналу
V 2.5: Шестнадцятковий режим
Приклад:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
#include "BMP180.h"
MicroBit uBit;
MicroBitUARTService * uart;
BMP180 bmp180 (P0_30, P0_0);
char буфер [80];
тиск поплавця, температура;
int linked = 0;
недійсний на підключенні (MicroBitEvent e)
{
uBit.display.scroll ("C");
linked = 1;
}
недійсний на Disconnected (MicroBitEvent e)
{
uBit.display.scroll ("D");
приєднаний = 0;
}
недійсний наButtonA (MicroBitEvent e)
{
uBit.display.scroll (буфер);
}
недійсний наButtonB (MicroBitEvent e)
{
uBit.display.scroll ("SK");
}
/ *
ВАЖЛИВО !!!
У руїні вам не вистачить пам'яті!
Рекомендуємо вимкнути служби DFU та Event у MicroBitConfig.h, оскільки вони тут не потрібні:
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);
тиск = -1;
температура = -1;
if (bmp180.ReadData (& температура, & тиск))
sprintf (буфер, "% .2f C% 4.0f hPa", температура, тиск);
інше
sprintf (буфер, "NOK");
// Ініціалізувати мікро: біт виконання.
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 (":)");
в той час (1)
{
тиск = -1;
температура = -1;
if (bmp180.ReadData (& температура, & тиск))
sprintf (буфер, "% .2f C% 4.0f hPa", температура, тиск);
інше
sprintf (буфер, "NOK");
if (! connected) {
uBit.sleep (500);
}
інше
{
uart-> send (буфер);
uBit.sleep (1000);
}
}
release_fiber ();
}