Component: Bluetooth BLE (ESP32 SPP Server) (Wireless): Difference between revisions
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
|||
| (9 intermediate revisions by 2 users not shown) | |||
| Line 42: | Line 42: | ||
===CheckConnectionStatus=== | ===CheckConnectionStatus=== | ||
{| class="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 56: | Line 56: | ||
===Initialise=== | ===Initialise=== | ||
{| class="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 70: | Line 70: | ||
===ReceiveArray=== | ===ReceiveArray=== | ||
{| class="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 99: | Line 99: | ||
===ReceiveByte=== | ===ReceiveByte=== | ||
{| class="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 118: | Line 118: | ||
===ReceiveCount=== | ===ReceiveCount=== | ||
{| class="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 132: | Line 132: | ||
===ReceiveINTArray=== | ===ReceiveINTArray=== | ||
{| class="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 166: | Line 166: | ||
===ReceiveString=== | ===ReceiveString=== | ||
{| class="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" | | | 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 190: | Line 190: | ||
===SendArray=== | ===SendArray=== | ||
{| class="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 | | colspan="2" | Sends an array of bytes to the Bluetooth serial connection | ||
|- | |- | ||
|- | |- | ||
| Line 214: | Line 214: | ||
===SendByte=== | ===SendByte=== | ||
{| class="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 233: | Line 233: | ||
===SendINTArray=== | ===SendINTArray=== | ||
{| class="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" | | | colspan="2" | Sends an array of 16-bit integers to the Bluetooth serial connection | ||
|- | |- | ||
|- | |- | ||
| Line 246: | Line 246: | ||
| colspan="2" | Data Array to send | | colspan="2" | Data Array to send | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | NumValues | | width="90%" | NumValues | ||
|- | |- | ||
| colspan="2" | Number of | | colspan="2" | Number of bytes to send | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | ||
| width="90%" | | | width="90%" | MSBFirst | ||
|- | |- | ||
| colspan="2" | 0=Least significant byte first, 1=Most significant byte first | | colspan="2" | 0=Least significant byte first, 1=Most significant byte first | ||
| Line 262: | Line 262: | ||
===SendString=== | ===SendString=== | ||
{| class="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 274: | Line 274: | ||
|- | |- | ||
| colspan="2" | Data Array to send | | colspan="2" | Data Array to send | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 300: | Line 281: | ||
===Uninitialise=== | ===Uninitialise=== | ||
{| class="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 315: | Line 296: | ||
==Property reference== | ==Property reference== | ||
{| class="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 324: | Line 305: | ||
| width="90%" | Device Name | | width="90%" | Device Name | ||
|- | |- | ||
| colspan="2" | Sets the Bluetooth device friendly name | | colspan="2" | Sets the Bluetooth device friendly name. Max 19 characters. | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
| Line 331: | Line 312: | ||
| colspan="2" | Configures the size of the receive buffer in bytes to store incoming data until we are ready to receive it. | | colspan="2" | Configures the size of the receive buffer in bytes to store incoming data until we are ready to receive it. | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type- | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
| width="90%" | | | width="90%" | Service UUID | ||
|- | |||
| colspan="2" | 16-bit value that identifies the custom “Simple SPP” service so scanners know the device supports that feature. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Characteristic UUID | |||
|- | |- | ||
| colspan="2" | | | colspan="2" | 16-bit value that describes the single characteristic that carries the serial-like data flow (reads, writes, notifications). | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| width="90%" | | | width="90%" | Data Receive Interrupt | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 346: | 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