Component: Bluetooth BLE (ESP32 SPP Server) (Wireless): Difference between revisions
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 44: | Line 44: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CheckConnectionStatus''' | ||
|- | |- | ||
| colspan="2" | Checks to see if the Bluetooth device is connected. Returns 1 if connected. | | colspan="2" | Checks to see if the Bluetooth device is connected. Returns 1 if connected. | ||
| Line 58: | Line 58: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Starts up the Bluetooth communications SPP service. | | colspan="2" | Starts up the Bluetooth communications SPP service. | ||
| Line 72: | Line 72: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveArray''' | ||
|- | |- | ||
| colspan="2" | Attempts to receive an array of bytes from the bluetooth serial port. Returns the number of bytes received. | | colspan="2" | Attempts to receive an array of bytes from the bluetooth serial port. Returns the number of bytes received. | ||
| Line 101: | Line 101: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveByte''' | ||
|- | |- | ||
| colspan="2" | Attempts to receive a byte from the bluetooth serial port. 0-255 = a valid received value 256 = a timeout has occured | | colspan="2" | Attempts to receive a byte from the bluetooth serial port. 0-255 = a valid received value 256 = a timeout has occured | ||
| Line 120: | Line 120: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveCount''' | ||
|- | |- | ||
| colspan="2" | Collects the number of bytes currently stored in the receive buffer. | | colspan="2" | Collects the number of bytes currently stored in the receive buffer. | ||
| Line 134: | Line 134: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveINTArray''' | ||
|- | |- | ||
| colspan="2" | Receives an array of 16-bit INT/UINT values and returns the number of values received. | | colspan="2" | Receives an array of 16-bit INT/UINT values and returns the number of values received. | ||
| Line 168: | Line 168: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReceiveString''' | ||
|- | |- | ||
| colspan="2" | Attempts to receive a string of characters from the Bluetooth SPP. Terminates on timeout, on receiving the MaxBytes or on receiving a '\n' character | | colspan="2" | Attempts to receive a string of characters from the Bluetooth SPP. Terminates on timeout, on receiving the MaxBytes or on receiving a '\n' character | ||
| Line 192: | Line 192: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendArray''' | ||
|- | |- | ||
| colspan="2" | Sends an array of bytes to the Bluetooth serial connection | | colspan="2" | Sends an array of bytes to the Bluetooth serial connection | ||
| Line 216: | Line 216: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendByte''' | ||
|- | |- | ||
| colspan="2" | Sends a byte to the Bluetooth serial connection | | colspan="2" | Sends a byte to the Bluetooth serial connection | ||
| Line 235: | Line 235: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendINTArray''' | ||
|- | |- | ||
| colspan="2" | Sends an array of 16-bit integers to the Bluetooth serial connection | | colspan="2" | Sends an array of 16-bit integers to the Bluetooth serial connection | ||
| Line 264: | Line 264: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SendString''' | ||
|- | |- | ||
| colspan="2" | Sends a string to the Bluetooth serial connection | | colspan="2" | Sends a string to the Bluetooth serial connection | ||
| Line 283: | Line 283: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Uninitialise''' | ||
|- | |- | ||
| colspan="2" | Shots down the Bluetooth communications SPP service. | | colspan="2" | Shots down the Bluetooth communications SPP service. | ||
| Line 298: | Line 298: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 332: | Line 332: | ||
| colspan="2" | When enabled debug messages will be placed onto UART CH1 which is generally connected to via a Serial to USB IC to pipe messages back to the host PC. | | colspan="2" | When enabled debug messages will be placed onto UART CH1 which is generally connected to via a Serial to USB IC to pipe messages back to the host PC. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | Wireless |
Bluetooth BLE (ESP32 SPP Server) component
Bluetooth BLE server component designed to run on a ESP32 providing GATT SPP functionality. BT BLE functionality must be switched on via the sdkconfig file.
Detailed description
This component requires the Bluetooth and Bluedroid libraries from the ESP32 IPE.
If you get this error when compiling: esp_bt.h: No such file or directory
Then you may not have Bluetooth enabled.
To fix this navigate to C:\FC_ESP\mtx<chiptype>_sdkconfig\
Then run menuconfig.bat to open the configuration editor.
Goto Component Config -> Bluetooth
Check the item Bluetooth.
Then go into Bluedroid Options and ensure the Enable BLE 4.2 features near the bottom is ticked.
Save and exit and then re-compile 🙂
Examples
No additional examples
Macro reference
CheckConnectionStatus
| CheckConnectionStatus | |
| Checks to see if the Bluetooth device is connected. Returns 1 if connected. | |
| Return | |
Initialise
| Initialise | |
| Starts up the Bluetooth communications SPP service. | |
| Return | |
ReceiveArray
ReceiveByte
| ReceiveByte | |
| Attempts to receive a byte from the bluetooth serial port. 0-255 = a valid received value 256 = a timeout has occured | |
| Timeout | |
| Number of ms to wait for incoming data | |
| Return | |
ReceiveCount
| ReceiveCount | |
| Collects the number of bytes currently stored in the receive buffer. | |
| Return | |
ReceiveINTArray
ReceiveString
SendArray
| SendArray | |
| Sends an array of bytes to the Bluetooth serial connection | |
| Data | |
| Data Array to send | |
| NumBytes | |
| Number of bytes to send | |
| Return | |
SendByte
| SendByte | |
| Sends a byte to the Bluetooth serial connection | |
| Data | |
| Return | |
SendINTArray
SendString
| SendString | |
| Sends a string to the Bluetooth serial connection | |
| Data | |
| Data Array to send | |
| Return | |
Uninitialise
| Uninitialise | |
| Shots down the Bluetooth communications SPP service. | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_Bluetooth_ESP32_BLE_GATT_SPP_Server.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_Bluetooth_ESP32_BLE_GATT_SPP_Server.fcfx