Documentation for Bluetooth IO Pin service block.
Addition of event handler blocks for Bluetooth connection state changes.
This commit is contained in:
parent
1df118fa19
commit
22c03dfd7a
32
docs/reference/bluetooth/start-io-pin-service.md
Executable file
32
docs/reference/bluetooth/start-io-pin-service.md
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
# Bluetooth IO Pin Service
|
||||||
|
|
||||||
|
![](/static/bluetooth/Bluetooth_SIG.png)
|
||||||
|
|
||||||
|
The Bluetooth IO pin service makes it possible for another device such as a smartphone to communicate with other electronic 'things' connected to a micro:bit's edge connector. You could for example, use your smartphone to switch on or off a light which is connected to the micro:bit or your smartphone could receive data collected from a sensor connected to the micro:bit. In fact you could do both of these things at the same time since the Bluetooth IO pin service lets you interact with multiple 'pins' on the edge conector in different ways all at the same time.
|
||||||
|
|
||||||
|
No additional code is needed on the micro:bit to use the Bluetooth IO pin service from another device.
|
||||||
|
|
||||||
|
### Example: Starting the Bluetooth IO pin service
|
||||||
|
|
||||||
|
The following code shows the Bluetooth IO pin service being started:
|
||||||
|
|
||||||
|
~~~~blocks
|
||||||
|
bluetooth.startIOPinService();
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
### Video - IO pin service demo starts at 3:49
|
||||||
|
|
||||||
|
[![micro:bit Bluetooth demo video](/static/bluetooth/microbit_pin_io.png)](
|
||||||
|
http://www.youtube.com/watch?v=aep_GVowKfs "Click to launch YouTube video"
|
||||||
|
)
|
||||||
|
|
||||||
|
### Advanced
|
||||||
|
|
||||||
|
For more advanced information on the micro:bit Bluetooth IO pin service including information on using a smartphone, see the [Lancaster University micro:bit runtime technical documentation](http://lancaster-university.github.io/microbit-docs/ble/iopin-service/)
|
||||||
|
|
||||||
|
### See also
|
||||||
|
|
||||||
|
[Bluetooth SIG](https://www.bluetooth.com)
|
||||||
|
|
||||||
|
[Bluetooth on micro:bit resources](http://bluetooth-mdw.blogspot.co.uk/p/bbc-microbit.html)
|
||||||
|
|
BIN
docs/static/bluetooth/Bluetooth_SIG.png
vendored
Executable file
BIN
docs/static/bluetooth/Bluetooth_SIG.png
vendored
Executable file
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
BIN
docs/static/bluetooth/microbit_pin_io.png
vendored
Executable file
BIN
docs/static/bluetooth/microbit_pin_io.png
vendored
Executable file
Binary file not shown.
After Width: | Height: | Size: 144 KiB |
@ -5,7 +5,7 @@ using namespace pxt;
|
|||||||
//% color=#0082FB weight=20
|
//% color=#0082FB weight=20
|
||||||
namespace bluetooth {
|
namespace bluetooth {
|
||||||
/**
|
/**
|
||||||
* Starts the Bluetooth IO pin service
|
* Starts the Bluetooth IO pin service.
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-io-pin-service
|
//% help=bluetooth/start-io-pin-service
|
||||||
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8
|
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8
|
||||||
@ -23,7 +23,7 @@ namespace bluetooth {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the temperature service
|
* Starts the Bluetooth temperature service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-temperature-service
|
//% help=bluetooth/start-temperature-service
|
||||||
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8
|
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8
|
||||||
@ -32,7 +32,7 @@ namespace bluetooth {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the magnetometer service
|
* Starts the Bluetooth magnetometer service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-magnetometer-service
|
//% help=bluetooth/start-magnetometer-service
|
||||||
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service" blockGap=8
|
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service" blockGap=8
|
||||||
@ -41,7 +41,7 @@ namespace bluetooth {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the accelerometer service
|
* Starts the Bluetooth accelerometer service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-accelerometer-service
|
//% help=bluetooth/start-accelerometer-service
|
||||||
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service" blockGap=8
|
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service" blockGap=8
|
||||||
@ -50,11 +50,33 @@ namespace bluetooth {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the button service
|
* Starts the Bluetooth button service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-button-service
|
//% help=bluetooth/start-button-service
|
||||||
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8
|
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8
|
||||||
void startButtonService() {
|
void startButtonService() {
|
||||||
new MicroBitButtonService(*uBit.ble);
|
new MicroBitButtonService(*uBit.ble);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register code to run when the micro:bit is connected to over Bluetooth
|
||||||
|
* @param body Code to run when a Bluetooth connection is established
|
||||||
|
*/
|
||||||
|
//% help=bluetooth/on-bluetooth-connected
|
||||||
|
//% blockId=bluetooth_on_connected block="on bluetooth connected"
|
||||||
|
void onBluetoothConnected(Action body) {
|
||||||
|
registerWithDal(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, body);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register code to run when a bluetooth connection to the micro:bit is lost
|
||||||
|
* @param body Code to run when a Bluetooth connection is lost
|
||||||
|
*/
|
||||||
|
//% help=bluetooth/on-bluetooth-disconnected
|
||||||
|
//% blockId=bluetooth_on_disconnected block="on bluetooth disconnected"
|
||||||
|
void onBluetoothDisconnected(Action body) {
|
||||||
|
registerWithDal(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, body);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,8 +15,18 @@
|
|||||||
"config": {
|
"config": {
|
||||||
"microbit-dal": {
|
"microbit-dal": {
|
||||||
"bluetooth": {
|
"bluetooth": {
|
||||||
"enabled": 1
|
"enabled": 1,
|
||||||
}
|
"pairing_mode": 1,
|
||||||
|
"private_addressing": 0,
|
||||||
|
"open": 0,
|
||||||
|
"whitelist": 1,
|
||||||
|
"advertising_timeout": 0,
|
||||||
|
"tx_power": 0,
|
||||||
|
"dfu_service": 1,
|
||||||
|
"event_service": 1,
|
||||||
|
"device_info_service": 1
|
||||||
|
},
|
||||||
|
"gatt_table_size": "0x700"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
26
libs/microbit-bluetooth/shims.d.ts
vendored
26
libs/microbit-bluetooth/shims.d.ts
vendored
@ -6,7 +6,7 @@
|
|||||||
declare namespace bluetooth {
|
declare namespace bluetooth {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the Bluetooth IO pin service
|
* Starts the Bluetooth IO pin service.
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-io-pin-service
|
//% help=bluetooth/start-io-pin-service
|
||||||
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8 shim=bluetooth::startIOPinService
|
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8 shim=bluetooth::startIOPinService
|
||||||
@ -20,32 +20,48 @@ declare namespace bluetooth {
|
|||||||
function startLEDService(): void;
|
function startLEDService(): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the temperature service
|
* Starts the Bluetooth temperature service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-temperature-service
|
//% help=bluetooth/start-temperature-service
|
||||||
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8 shim=bluetooth::startTemperatureService
|
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8 shim=bluetooth::startTemperatureService
|
||||||
function startTemperatureService(): void;
|
function startTemperatureService(): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the magnetometer service
|
* Starts the Bluetooth magnetometer service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-magnetometer-service
|
//% help=bluetooth/start-magnetometer-service
|
||||||
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service" blockGap=8 shim=bluetooth::startMagnetometerService
|
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service" blockGap=8 shim=bluetooth::startMagnetometerService
|
||||||
function startMagnetometerService(): void;
|
function startMagnetometerService(): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the accelerometer service
|
* Starts the Bluetooth accelerometer service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-accelerometer-service
|
//% help=bluetooth/start-accelerometer-service
|
||||||
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service" blockGap=8 shim=bluetooth::startAccelerometerService
|
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service" blockGap=8 shim=bluetooth::startAccelerometerService
|
||||||
function startAccelerometerService(): void;
|
function startAccelerometerService(): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the button service
|
* Starts the Bluetooth button service
|
||||||
*/
|
*/
|
||||||
//% help=bluetooth/start-button-service
|
//% help=bluetooth/start-button-service
|
||||||
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8 shim=bluetooth::startButtonService
|
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8 shim=bluetooth::startButtonService
|
||||||
function startButtonService(): void;
|
function startButtonService(): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register code to run when the micro:bit is connected to over Bluetooth
|
||||||
|
* @param body Code to run when a Bluetooth connection is established
|
||||||
|
*/
|
||||||
|
//% help=bluetooth/on-bluetooth-connected
|
||||||
|
//% blockId=bluetooth_on_connected block="on bluetooth connected" shim=bluetooth::onBluetoothConnected
|
||||||
|
function onBluetoothConnected(body: () => void): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register code to run when a bluetooth connection to the micro:bit is lost
|
||||||
|
* @param body Code to run when a Bluetooth connection is lost
|
||||||
|
*/
|
||||||
|
//% help=bluetooth/on-bluetooth-disconnected
|
||||||
|
//% blockId=bluetooth_on_disconnected block="on bluetooth disconnected" shim=bluetooth::onBluetoothDisconnected
|
||||||
|
function onBluetoothDisconnected(body: () => void): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auto-generated. Do not edit. Really.
|
// Auto-generated. Do not edit. Really.
|
||||||
|
Loading…
Reference in New Issue
Block a user