bluetooth2 2.0.0.0
Main Page

Bluetooth2 click

‍Bluetooth 2 Click features WT41u, a long range class 1, Bluetooth® 2.1 + EDR module. WT41u is a highly integrated and sophisticated Bluetooth® module, containing all the necessary elements from Bluetooth® radio and a fully implemented protocol stack. Therefore WT41u provides an ideal solution for developers who want to integrate Bluetooth® wireless technology into their design with limited knowledge of Bluetooth® and RF technologies. WT41u optimized for long range applications is available with an integrated chip antenna. By default, the WT41u module is equipped with powerful and easy-to-use iWRAP firmware which enables users to access Bluetooth® functionality with simple ASCII commands delivered to the module over serial interface - it's just like a Bluetooth® modem.

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Jun 2021.
  • Type : UART type

Software Support

We provide a library for the Bluetooth2 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

‍This library contains API for Bluetooth2 Click driver.

Standard key functions :

Example key functions :

Example Description

‍This example reads and processes data from Bluetooth2 clicks.

The demo application is composed of two sections :

Application Init

‍Initializes the driver, then performs a factory reset, removes all pairings, and sets the local device name.

void application_init ( void )
{
log_cfg_t log_cfg;
bluetooth2_cfg_t bluetooth2_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
Delay_ms ( 100 );
log_info( &logger, " Application Init " );
// Click initialization.
bluetooth2_cfg_setup( &bluetooth2_cfg );
BLUETOOTH2_MAP_MIKROBUS( bluetooth2_cfg, MIKROBUS_1 );
err_t init_flag = bluetooth2_init( &bluetooth2, &bluetooth2_cfg );
if ( UART_ERROR == init_flag )
{
log_error( &logger, " Application Init Error. " );
log_info( &logger, " Please, run program again... " );
for ( ; ; );
}
bluetooth2_default_cfg ( &bluetooth2 );
bluetooth2_process( );
bluetooth2_clear_app_buf( );
log_printf( &logger, " - Factory Reset -\r\n" );
bluetooth2_factory_reset ( &bluetooth2 );
bluetooth2_display_rsp ( 2000 );
log_printf( &logger, " - Enable OK response -\r\n" );
bluetooth2_display_rsp ( 1000 );
log_printf( &logger, " - Remove Pairings -\r\n" );
bluetooth2_remove_pairings ( &bluetooth2 );
bluetooth2_display_rsp ( 1000 );
log_printf( &logger, " - Set Device Name -\r\n" );
bluetooth2_display_rsp ( 1000 );
log_info( &logger, " Application Task " );
}
#define BLUETOOTH2_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition bluetooth2.h:109
err_t bluetooth2_remove_pairings(bluetooth2_t *ctx)
Bluetooth2 remove pairings function.
err_t bluetooth2_enable_ok_response(bluetooth2_t *ctx)
Bluetooth2 enable OK response function.
void application_init(void)
Definition main.c:94
#define DEVICE_NAME
Definition main.c:43

Application Task

‍Logs all the received messages/responses on the USB UART, and if there's any device connected to the click board the module sends a desired message every 5 seconds back to it.

void application_task ( void )
{
bluetooth2_process();
if ( app_buf_len > 0 )
{
Delay_ms ( 200 );
bluetooth2_process();
if ( strstr( app_buf, RSP_RING ) )
{
connection_flag = 1;
send_cnt = 0;
}
if ( strstr( app_buf, RSP_NO_CARRIER ) )
{
connection_flag = 0;
send_cnt = 0;
}
log_printf( &logger, "%s", app_buf );
bluetooth2_clear_app_buf( );
}
if ( connection_flag == 1 && send_cnt++ > SENDING_FREQ )
{
send_cnt = 0;
}
Delay_ms ( 1 );
}
#define RSP_RING
Definition main.c:39
void application_task(void)
Definition main.c:149
#define TEXT_TO_SEND
Definition main.c:46
#define SENDING_FREQ
Definition main.c:49
#define RSP_NO_CARRIER
Definition main.c:40

Note

‍We have used the Serial Bluetooth Terminal smartphone application for the test. A smartphone and the click board must be paired in order to exchange messages with each other.

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.Bluetooth2

Additional notes and informations

Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.