- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hello can you help me
I have a program that scans ble devices like cell phones and I can show them in uart but I want to send this data by ble mesh to a cybt-213043. mesh provision client
Can you tell me what examples can I use or give me some advice?
this image shows the application
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please have a look at the response in thread/234406 (Click Here).
(How can I send messages between 3 CYBT-213043-MESH devices? )
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
You can try modifying your mesh_provisioner_client application to receive the "scan data from the program" through UART.
And if you want to share this data over mesh you can create a vendor specific model (vendor_specific_app) and share the data using it.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For example
I have a card (A) CYBT-213043-MESH with a scan code that can be seen by the host of the cell phones I want this card to send a message from the host of the cell phone to card (B) CYBT-213043-MESH with the PRISIONT CLIENT code,
Do you recommend that I combine the scan code that I already have with the mesh_vendor code on card (A) CYBT-213043-MESH?
and then
Does card (A) CYBT-213043-MESH mesh send a message with the host of the cell phone to card (B) CYBT-213043-MESH with provisiont_cient program?
if this is correct, can you tell me what things I can modify and how I can combine my scan code with that of mesh-vendor
please
Can you send the premade codes with the modifications?
here is the scan code
------------------------------------------------------------------------------
#include "wiced_bt_ble.h"
#include "wiced_bt_gatt.h"
#include "wiced_bt_mesh_models.h"
#include "wiced_bt_trace.h"
#include "wiced_bt_cfg.h"
#include "wiced_bt_mesh_app.h"
#include "wiced_platform.h"
#include "wiced_bt_cfg.h"
#include "app_bt_cfg.h"
#include "sparcommon.h"
#include "wiced_bt_dev.h"
#include "wiced_hal_puart.h"
#include "wiced_bt_stack.h"
#include "wiced_rtos.h"
#include "string.h"
#include "cycfg.h"
#include "wiced_timer.h"
static void mesh_app_init(wiced_bool_t is_provisioned);
static void mesh_hsl_server_message_handler(uint8_t element_idx, uint16_t event, void *p_data);
static void mesh_light_hsl_process_set(uint8_t element_idx, wiced_bt_mesh_light_hsl_status_data_t *p_status);
extern const wiced_bt_cfg_settings_t wiced_bt_cfg_settings;
extern const wiced_bt_cfg_buf_pool_t wiced_bt_cfg_buf_pools[];
/******************************************************
* Constants
******************************************************/
/* Convenient defines for thread sleep times */
#define SLEEP_1MS (1) /* 1 segundo */
#define SLEEP_5MS (5) /* 5 segundos */
#define SLEEP_10MS (10) /* 10 segundos */
#define SLEEP_15MS (15) /* 15 segundos */
/* Globally define wiced_timer_t structure */
wiced_timer_t timer;
wiced_timer_t timer2;
uint8_t Scanning = 1;
uint8_t Stop = 0;
uint8_t i = 0;
/******************************************************
* Structures
******************************************************/
/******************************************************
* Function Prototypes
******************************************************/
wiced_bt_dev_status_t app_bt_management_callback ( wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data );
wiced_bt_gatt_status_t app_bt_gatt_callback ( wiced_bt_gatt_evt_t event, wiced_bt_gatt_event_data_t *p_event_data );
void timer_cback ( uint32_t data ); // TIEMPO DE ESCANEO
void timer2_cback ( uint32_t data2 ); // TIEMPO DE PARO
/******************************************************
* Variables Definitions
******************************************************/
/******************************************************
* Function Definitions
******************************************************/
void application_start( void )
{
#if ((defined WICED_BT_TRACE_ENABLE) || (defined HCI_TRACE_OVER_TRANSPORT))
/* Select Debug UART setting to see debug traces on the appropriate port */
wiced_set_debug_uart( WICED_ROUTE_DEBUG_TO_PUART );
#endif
WICED_BT_TRACE( "**** CYW20819 App Start **** \r\n\n" );
/* Initialize Stack and Register Management Callback */
wiced_bt_stack_init( app_bt_management_callback, &wiced_bt_cfg_settings, wiced_bt_cfg_buf_pools );
}
/*******************************************************************************
* Function Name: wiced_bt_dev_status_t app_bt_management_callback(
* wiced_bt_management_evt_t event,
* wiced_bt_management_evt_data_t *p_event_data )
********************************************************************************/
wiced_result_t app_bt_management_callback( wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data )
{
wiced_result_t status = WICED_BT_SUCCESS;
switch( event )
{
case BTM_ENABLED_EVT: // Bluetooth Controller and Host Stack Enabled
if( WICED_BT_SUCCESS == p_event_data->enabled.status )
{
WICED_BT_TRACE( "Bluetooth Enabled\r\n\n" );
/* Use Application Settings dialog to set BT_DEVICE_ADDRESS = random */
wiced_bt_device_address_t static_addr;
wiced_bt_dev_read_local_addr(static_addr );
WICED_BT_TRACE( "Local Bluetooth Device Address: [%B]\r\n", static_addr );
/* Start a periodic timer */
wiced_init_timer( &timer, timer_cback, 0, WICED_SECONDS_TIMER );
wiced_init_timer( &timer2, timer2_cback, 0, WICED_SECONDS_TIMER );
wiced_start_timer( &timer, SLEEP_1MS);
}
break;
case BTM_LOCAL_IDENTITY_KEYS_REQUEST_EVT:
break;
case BTM_BLE_SCAN_STATE_CHANGED_EVT:
switch( p_event_data->ble_scan_state_changed )
{
case BTM_BLE_SCAN_TYPE_NONE:
WICED_BT_TRACE( " DISPOSITIVOS ESCANEADOS: %d\r\n",i);
WICED_BT_TRACE( "Scanning stopped.\r\n\n" );
i=0;
break;
case BTM_BLE_SCAN_TYPE_HIGH_DUTY:
WICED_BT_TRACE( "High duty scanning.\r\n" );
break;
}
break;
default:
WICED_BT_TRACE( "Unhandled Bluetooth Management Event: 0x%x (%d)\n", event, event );
break;
}
return status;
}
wiced_bt_gatt_status_t app_bt_gatt_callback( wiced_bt_gatt_evt_t event, wiced_bt_gatt_event_data_t *p_event_data )
{
wiced_result_t status = WICED_BT_SUCCESS;
switch( event )
{
case GATT_CONNECTION_STATUS_EVT:
break;
default:
WICED_BT_TRACE( "Unhandled GATT Event: 0x%x (%d)\n", event, event );
break;
}
return status;
}
/*******************************************************************************
* Function Name: void myScanCallback(
* wiced_bt_ble_scan_results_t *p_scan_result,
* uint8_t *p_adv_data )
********************************************************************************/
void myScanCallback( wiced_bt_ble_scan_results_t *p_scan_result, uint8_t *p_adv_data )
{
WICED_BT_TRACE( "Hosty = %B RSSIy : %d\r\n", p_scan_result->remote_bd_addr,p_scan_result->rssi );
i+=1;
}
/*******************************************************************************
* Function Name: void timer_cback( uint32_t *data )
********************************************************************************/
void timer_cback( uint32_t data )
{
if(( Scanning==1) & (Stop==0 )) //LED AZUL
{
wiced_hal_gpio_set_pin_output(WICED_GPIO_PIN_LED_1,0);
wiced_hal_gpio_set_pin_output(WICED_GPIO_PIN_LED_2,1);
wiced_bt_ble_scan(BTM_BLE_SCAN_TYPE_HIGH_DUTY, WICED_TRUE, myScanCallback );
Scanning=0;
Stop=1;
wiced_start_timer( &timer2, SLEEP_1MS);
}
}
void timer2_cback( uint32_t data )
{
if(( Scanning==0) & (Stop==1 )) //LED ROJO
{
wiced_hal_gpio_set_pin_output(WICED_GPIO_PIN_LED_2,0);
wiced_hal_gpio_set_pin_output(WICED_GPIO_PIN_LED_1,1);
Scanning=1;
Stop=0;
wiced_start_timer( &timer, SLEEP_10MS);
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
You can modify and combine the mesh application.
Currently, mesh uses "wiced_bt_ble_observe()" for scanning advertisement in an observer role. Mesh provisioner is the node which is capable of scanning advertisement from other devices. Please check mesh_application.c for more information.
What do you mean by " host of the cell phones" ?
What application will be running on the cell phone which connect to meshkits other than the provisioner node?
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The CYBT-213043-MESH = A uses the code mesh_privision_client
and sends the message helloworld1 to the cards CYBT-213043-MESH = B AND CYBT-213043-MESH = C, This example already works
CYBT-213043-MESH = B and CYBT-213043-MESH = C boards use the example code mesh_vendor_specific_app
but i want this
I want CYBT-213043-MESH = B AND CYBT-213043-MESH = C boads reply or send a message hello world2 or another message to CYBT-213043-MESH = A
please help me
this pictour shows the aplication
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please have a look at the response in thread/234406 (Click Here).
(How can I send messages between 3 CYBT-213043-MESH devices? )
Thanks,
-Dheeraj