micro:bit UART Terminal

แƒจแƒ”แƒ›แƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ แƒ”แƒ˜แƒขแƒ˜แƒœแƒ’แƒ˜
แƒงแƒ•แƒ”แƒšแƒ
10ย แƒแƒ—.+
แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ˜
แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜
แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜
แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜
แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜

แƒแƒ› แƒแƒžแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

แƒ”แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ Android- แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒ˜แƒ™แƒ แƒ- แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒ— แƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒขแƒ”แƒฅแƒกแƒขแƒ˜ "แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒจแƒ˜" แƒแƒœ "แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก" แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. UART แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก แƒ›แƒ˜แƒ™แƒ แƒแƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ” (แƒ‘แƒšแƒแƒ™แƒ˜, แƒฏแƒแƒ•แƒแƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, MBED).

แฒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜:
- แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ: แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒ˜แƒ™แƒ แƒแƒคแƒแƒœแƒ˜: แƒชแƒแƒขแƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ (แƒกแƒฎแƒ•แƒแƒ’แƒ•แƒแƒ แƒแƒ“ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜)
- LF: Linefeed แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ
- CR: แƒ’แƒแƒ“แƒแƒ–แƒ˜แƒ“แƒ•แƒ˜แƒก แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ

แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜:
- แƒ›แƒ˜แƒœ. Android 5
- Bluetooth แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ (BLE)
- แƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜
- แƒ›แƒ˜แƒ™แƒ แƒ: แƒชแƒแƒขแƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ (แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒแƒ•แƒก)

V 2.1: แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜ (แƒแƒคแƒชแƒ˜แƒ แƒ›แƒ”แƒœแƒ˜แƒฃ)
V 2.2: แƒฌแƒ›แƒ˜แƒœแƒ“แƒ แƒกแƒ˜แƒ (แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ›แƒ”แƒœแƒ˜แƒฃ), แƒแƒ  แƒจแƒ”แƒกแƒ•แƒšแƒ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜
V 2.5: Hex แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜

MBED แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜:

# แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก "MicroBit.h"
# แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก "MicroBitUARTService.h"
# แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก "BMP180.h"

MicroBit uBit;
MicroBitUARTService * uart;
BMP180 bmp180 (P0_30, P0_0);
char แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜ [80];
แƒฌแƒœแƒ”แƒ•แƒ, แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ;
ย ย ย ย ย ย ย ย 
int แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ = 0;

แƒ‘แƒแƒ—แƒ˜แƒšแƒ˜แƒ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ (MicroBitEvent e)
{
ย ย ย ย uBit.display.scroll ("C");
ย ย ย ย แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ = 1;
}

แƒซแƒแƒšแƒแƒ“แƒแƒ™แƒแƒ แƒ’แƒฃแƒšแƒ˜ onDisconnected (MicroBitEvent e)
{
ย ย ย ย uBit.display.scroll ("D");
ย ย ย ย แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ = 0;
}


แƒ‘แƒแƒ—แƒ˜แƒšแƒ–แƒ” (MicroBitEvent e)
{
ย ย ย ย uBit.display.scroll (แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜);
}

แƒ‘แƒแƒ—แƒ˜แƒšแƒ˜ BBB (MicroBitEvent e)
{
ย ย ย ย uBit.display.scroll ("SK");
}

/ *
แฒ›แฒœแฒ˜แฒจแฒ•แฒœแฒ”แฒšแฒแฒ•แฒแฒœแฒ˜ !!!
แƒ›แƒ”แƒแƒ แƒ”แƒก แƒ›แƒฎแƒ แƒ˜แƒ• แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ›แƒแƒ˜แƒฌแƒฃแƒ แƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ!

แƒ“แƒ”แƒ‘-แƒ˜แƒก แƒ“แƒ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ MicroBitConfig.h- แƒจแƒ˜, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒแƒฅ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ:
microbit-> microbit-dal-> inc-> core-> microBitConfig.h

# แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ MICROBIT_BLE_DFU_SERVICE 0
# แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ MICROBIT_BLE_EVENT_SERVICE 0
# แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /

int main ()
{
ย ย ย ย bmp180.Initialize (64, BMP180_OSS_ULTRA_LOW_POWER);
ย ย ย ย แƒ–แƒ”แƒฌแƒแƒšแƒ = -1;
ย ย ย ย แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ = -1;
ย ย ย ย แƒ—แƒฃ (bmp180.ReadData (แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ แƒ“แƒ แƒฌแƒœแƒ”แƒ•แƒ))
ย ย ย ย ย ย ย ย sprintf (แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜, ".2f C 4.0f hPa", แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ, แƒฌแƒœแƒ”แƒ•แƒ);
ย ย ย ย แƒกแƒฎแƒ•แƒแƒ’แƒแƒœ
ย ย ย ย ย ย ย ย sprintf (แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜, "NOK");
ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
ย ย ย ย / / แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒ›แƒ˜แƒ™แƒ แƒ: bit runtime.
ย ย ย ย uBit.init ();

ย ย ย ย uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ);
ย ย ย ย 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 = แƒแƒฎแƒแƒšแƒ˜ MicroBitUARTService (* uBit.ble, 32, 32);
ย ย ย ย uBit.display.scroll (":)");
ย 
ย ย ย ย แƒฎแƒแƒšแƒ (1)
ย ย ย ย {
ย ย ย ย ย ย ย ย แƒ–แƒ”แƒฌแƒแƒšแƒ = -1;
ย ย ย ย ย ย ย ย แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ = -1;
ย ย ย ย ย ย ย ย แƒ—แƒฃ (bmp180.ReadData (แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ แƒ“แƒ แƒฌแƒœแƒ”แƒ•แƒ))
ย ย ย ย ย ย ย ย ย ย ย ย sprintf (แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜, ".2f C 4.0f hPa", แƒขแƒ”แƒ›แƒžแƒ”แƒ แƒแƒขแƒฃแƒ แƒ, แƒฌแƒœแƒ”แƒ•แƒ);
ย ย ย ย ย ย ย ย แƒกแƒฎแƒ•แƒแƒ’แƒแƒœ
ย ย ย ย ย ย ย ย ย ย ย ย sprintf (แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜, "NOK");
ย ย ย ย ย ย ย ย ย ย ย ย 
ย ย ย ย ย ย ย ย แƒ—แƒฃ (! แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜)
ย ย ย ย ย ย ย ย ย ย ย ย uBit.sleep (500);
ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย แƒกแƒฎแƒ•แƒแƒ’แƒแƒœ
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย ย uart-> แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก (แƒ‘แƒฃแƒคแƒ”แƒ แƒฃแƒšแƒ˜);
ย ย ย ย ย ย ย ย ย ย ย ย uBit.sleep (1000);
ย ย ย ย ย ย ย ย }
ย 
ย ย ย ย }
ย ย ย ย 
ย ย ย ย release_fiber ();
}
Bluetooth Terminal แƒ›แƒ˜แƒ™แƒ แƒ: bit แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜
แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ:
26 แƒ›แƒแƒ˜. 2019

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ

แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒแƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒชแƒœแƒแƒ‘แƒ˜แƒ—. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ“แƒ”แƒœแƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก, แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก, แƒ แƒ”แƒ’แƒ˜แƒแƒœแƒ˜แƒก แƒ“แƒ แƒแƒกแƒแƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒก.
  • แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ–แƒ˜แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ”แƒ”แƒ‘แƒ—แƒแƒœ
    แƒจแƒ”แƒ˜แƒขแƒงแƒ•แƒ”แƒ— แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒžแƒฃแƒ‘แƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘
  • แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก
    แƒจแƒ”แƒ˜แƒขแƒงแƒ•แƒ”แƒ— แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘
  • แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒ›แƒ–แƒแƒ“แƒแƒ, Google Play-แƒก แƒกแƒแƒแƒฏแƒแƒฎแƒ แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒชแƒ•แƒแƒก

แƒกแƒ˜แƒแƒฎแƒšแƒ”

HEX mode

แƒแƒžแƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ

แƒ›แƒ”แƒขแƒ˜ Ferdinand Stueckler-แƒ˜แƒกแƒ’แƒแƒœ

แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒแƒžแƒ”แƒ‘แƒ˜