pxt-calliope/docs/reference/bluetooth/uart-read-until.md

53 lines
2.4 KiB
Markdown
Raw Normal View History

2016-06-24 10:35:31 +02:00
# UART Read
## ~hint
2016-06-24 10:35:31 +02:00
![](/static/bluetooth/Bluetooth_SIG.png)
2016-11-02 01:44:37 +01:00
For another device like a smartphone to use any of the Bluetooth "services" which the @boardname@ has, it must first be [paired with the @boardname@](/reference/bluetooth/bluetooth-pairing). Once paired, the other device may connect to the @boardname@ and exchange data relating to many of the @boardname@'s features.
2016-06-24 10:35:31 +02:00
## ~
2016-06-24 10:35:31 +02:00
2016-11-02 01:44:37 +01:00
The [Bluetooth UART service](/reference/bluetooth/start-uart-service) allows another device such as a smartphone to exchange any data it wants to with the @boardname@, in small chunks.
2016-06-24 10:35:31 +02:00
2016-11-02 01:44:37 +01:00
With the Bluetooth UART service running, this block allows a @boardname@ 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 @boardname@ and indicate that the complete message has been sent by appending the message with the delimiter character.
2016-06-24 10:35:31 +02:00
```sig
bluetooth.uartReadUntil("");
2016-06-24 10:35:31 +02:00
```
## Example: Starting the Bluetooth UART service and then reading data received from another device which is terminated by ":" character and then displaying it
2016-06-24 10:35:31 +02:00
```blocks
2016-07-19 12:42:42 +02:00
let uartData = "";
2016-06-24 10:35:31 +02:00
let connected = 0;
basic.showString("UART");
bluetooth.onBluetoothConnected(() => {
basic.showString("C");
connected = 1;
while (connected == 1) {
uartData = bluetooth.uartReadUntil(":");
2016-07-19 12:42:42 +02:00
basic.showString(uartData);
2016-06-24 10:35:31 +02:00
}
});
bluetooth.onBluetoothDisconnected(() => {
basic.showString("D");
});
```
## Video - UART service guessing game
2016-06-24 10:35:31 +02:00
https://www.youtube.com/watch?v=PgGeWddMAZ0
## Advanced
2016-06-24 10:35:31 +02:00
2016-11-02 01:44:37 +01:00
For more advanced information on the @boardname@ Bluetooth UART service including information on using a smartphone, see the [Lancaster University @boardname@ runtime technical documentation](http://lancaster-university.github.io/microbit-docs/ble/uart-service/)
2016-06-24 10:35:31 +02:00
## See also
2016-06-24 10:35:31 +02:00
2016-11-02 01:44:37 +01:00
[About Bluetooth](/reference/bluetooth/about-bluetooth), [@boardname@ Bluetooth profile overview ](http://lancaster-university.github.io/microbit-docs/ble/profile/), [@boardname@ Bluetooth profile reference](http://lancaster-university.github.io/microbit-docs/resources/bluetooth/microbit-profile-V1.9-Level-2.pdf), [Bluetooth on @boardname@ resources](http://bluetooth-mdw.blogspot.co.uk/p/bbc-microbit.html), [Bluetooth SIG](https://www.bluetooth.com)
2016-06-24 10:35:31 +02:00
```package
bluetooth
2016-06-24 10:35:31 +02:00
```