UART Read

For another device like a smartphone to use any of the Bluetooth “services” which the Calliope mini has, it must first be paired with the Calliope mini. Once paired, the other device may connect to the Calliope mini and exchange data relating to many of the Calliope mini’s features.

The Bluetooth UART service allows another device such as a smartphone to exchange any data it wants to with the Calliope mini, in small chunks.

With the Bluetooth UART service running, this block allows a Calliope mini to read data which has been received from a Bluetooth connected device, terminating reading and returning the value obtained as soon as a specified delimiter character is encountered. This means that connected devices can send data to the Calliope mini and indicate that the complete message has been sent by appending the message with the delimiter character.

bluetooth.uartReadUntil("");

Example: Starting the Bluetooth UART service and then reading data received from another device which is terminated by “:” character and then displaying it

let uartData = "";
let connected = 0;
basic.showString("UART");
bluetooth.onBluetoothConnected(() => {
    basic.showString("C");
    connected = 1;
    while (connected == 1) {
        uartData = bluetooth.uartReadUntil(":");
        basic.showString(uartData);
    }
});
bluetooth.onBluetoothDisconnected(() => {
    basic.showString("D");
});

Video - UART service guessing game

Advanced

For more advanced information on the Calliope mini Bluetooth UART service including information on using a smartphone, see the Lancaster University Calliope mini runtime technical documentation

See also

About Bluetooth, Calliope mini Bluetooth profile overview , Calliope mini Bluetooth profile reference, Bluetooth on Calliope mini resources, Bluetooth SIG

bluetooth