Page 1 of 2

【已解决】请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Jul 19日 14:33
by 小螃海

PHY6222 3.9.0的beacon如何实现,有没有参照的demo


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Jul 31日 10:56
by NICE

什么样的beacon上报场景,BLE的开发框架通过ble beacon上报dp数据吗?


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 5日 19:22
by 小螃海

蓝牙连上网关后通过becaon定时上报数据


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 5日 19:23
by 小螃海

是的,是通过BLE框架上报DP数据


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 5日 20:09
by 逻辑的院子

蓝牙漫游功能是基于BLE Beacon开发的,所以两者的接口是一样的,只是配置不同(TAL_BLE_BEACON_ROAMING_FLAG=0)。
具体请参考:https://developer.tuya.com/cn/docs/iot- ... dnl90rjyfu


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 8日 10:07
by 小螃海

我参照demo来上报,网关没有收到是什么原因
测试代码如下
/*

*/
void test_code(void)
{
static u8 buff[4];
u8 net_state=0;
static u8 flag=0;
OPERATE_RET rt=0;
static u8 set_10s_5s=0;
TAL_PR_DEBUG("---test_code---");

Code: Select all

flag=~flag;
if(flag)
{
    buff[0]=1;
}
else
{
    buff[0]=0;
}
app_dp_report(temp_alarm_dp,buff,SIZEOF(u8));
net_state=tuya_ble_connect_status_get();
switch(net_state)
{
    case    UNBONDING_UNCONN:
            TAL_PR_DEBUG("----UNBONDING_UNCONN----");
        break;
    case    BONDING_UNCONN:
            if(set_10s_5s==1)
            {
                set_10s_5s=0;
                tal_sw_timer_start(test_id,10000, TAL_TIMER_CYCLE);
            }
            TAL_PR_DEBUG("----BONDING_UNCONN----");
        break;
    case    BONDING_CONN:
            if(set_10s_5s==0)
            {
                set_10s_5s=1;
                tal_sw_timer_start(test_id,5000, TAL_TIMER_CYCLE);
            }
            TAL_PR_DEBUG("----BONDING_CONN----");                                  
        break;
    default:
        break;
}

}

/*

*/
void bc_test_code(void)
{
static u8 buff[4];
static u8 flag=0;
u8 net_state=0;
flag=flag;
if(flag)
{
buff[0]=1;
}
else
{
buff[0]=0;
}
app_dp_report(temp_unit_convert_dp,buff,SIZEOF(u8));
net_state=tuya_ble_connect_status_get();
switch(net_state)
{
case UNBONDING_UNCONN:
TAL_PR_DEBUG("----UNBONDING_UNCONN----");
break;
case BONDING_UNCONN:
TAL_PR_DEBUG("----BONDING_UNCONN----");
break;
case BONDING_CONN:
TAL_PR_DEBUG("----BONDING_CONN----");
break;
default:
break;
}
}

/*
*/
void my_app_init(void)
{
#if 1
// tal_ble_beacon_init(TY_ADV_INTERVAL, NULL);
tal_sw_timer_create(test_code,NULL,&test_id);
tal_sw_timer_start(test_id,5000, TAL_TIMER_CYCLE);

--------------------------------------------------------tuya_sdk_callback.c中初始调用 bc_test_code
OPERATE_RET tuya_init_last(VOID_T)
{
tal_uart_init(TUYA_UART_NUM_0, &tal_uart_cfg);
tal_uart_rx_reg_irq_cb(TUYA_UART_NUM_0, tuya_uart_irq_rx_cb);

Code: Select all

tuya_ble_protocol_init();

#if defined(TUYA_SDK_TEST) && (TUYA_SDK_TEST == 1)
tal_sdk_test_init();
#endif

Code: Select all

app_roaming_init();
tal_ble_beacon_init(TY_ADV_INTERVAL, bc_test_code);

Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 8日 10:13
by 逻辑的院子

请问是如何判断网关没有收到的呢?


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 8日 10:23
by 小螃海

网关绑定蓝牙子设备后,蓝牙子设备断边打印日志BONDING_UNCONN后看IOT平台日志上面没有相应的日志记录


Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 8日 10:50
by 逻辑的院子

可以检查下以下两个点:

  1. 设备是否关联到网关吗;
  2. 设备是否处于未连接状态;

Re: 请教一下PHY6222 Tuya_os 3.9.0 beacon上报的例程有吗

Posted: 2024年 Aug 8日 11:04
by 小螃海

1.子设备己关联到网关
2.子设备串口打出来的信息表示己处于未连接状态