adv_ali_light例程使用

在烧录adv_ali_light例程到开发板后,手机使用nrf_mesh配网时出现了错误。


[11:55:14.219]收←◆CH58x_BLE_LIB_V2.10

MESH_LIB_V1.76


[11:55:14.711]收←◆APP_DBG blemesh_on_sync> Bluetooth initialized

APP_DBG blemesh_on_sync> Mesh initialized


[11:55:26.909]收←◆APP_DBG link_open>  


[11:55:31.958]收←◆APP_DBG link_close> 


[11:55:32.083]收←◆APP_DBG prov_complete>  


[11:55:34.530]收←◆APP_DBG link_close> 


[11:55:37.105]收←◆APP_DBG app_silent_adv> 

APP_DBG send_support_attr> 

APP_DBG adv_ind_send> Unable send model message (err:-8)


这个要怎么修改?


报错-8是没有找到模型上绑定的APP KEY。

nrf mesh中,配网流程不会完成APP KEY的绑定,需要您点进设备后,手动绑定APP KEY。


还有个问题,在使用adv_ali_light_with_peripheral配网用nrf mesh时,提示输入密码,但是输入000000后就一直卡住了。

uint32_t passkey = 0; // passkey "000000"

? ? ? ? uint8_t? pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;

? ? ? ? uint8_t? mitm = TRUE;

? ? ? ? uint8_t? bonding = TRUE;

? ? ? ? uint8_t? ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;

? ? ? ? GAPBondMgr_SetParameter(GAPBOND_PERI_DEFAULT_PASSCODE, sizeof(uint32_t), &passkey);

? ? ? ? GAPBondMgr_SetParameter(GAPBOND_PERI_PAIRING_MODE, sizeof(uint8_t), &pairMode);

? ? ? ? GAPBondMgr_SetParameter(GAPBOND_PERI_MITM_PROTECTION, sizeof(uint8_t), &mitm);

? ? ? ? GAPBondMgr_SetParameter(GAPBOND_PERI_IO_CAPABILITIES, sizeof(uint8_t), &ioCap);

? ? ? ? GAPBondMgr_SetParameter(GAPBOND_PERI_BONDING_ENABLED, sizeof(uint8_t), &bonding);



是哪个阶段要求输入密码?如果是通过BLE调试助手/手机APP连接MCU,是走BLE协议,那默认是6个0。

如果是用的nef mesh配网过程中出现,是指带外密钥,如果代码里没配置应该不会出现,找找有没有跳过选项/无带外密钥选项。


现在发现的问题是CH582M烧录同一个程序到5块相同的开发板中,有3块开发板是正常的,但是有两块开发板使用BLE调试助手扫描出来的服务好像不太对,打开notify的时候就会提示操作失败,我用的是USB烧录的方式,这是芯片没擦除完全还是什么问题?

1723510598190679.png

1723510598158929.jpg

1723510598166027.jpg



如果是官方开发板,则可以查看是否有配对绑定的操作,如果是有,则可以删除绑定信息,重新进行配对连接。烧录代码的时候将flash清除。

或者可以代码中将MAC地址修改一下,然后再进行测试。

建议使用BLE调试助手也进行测试查看。


只有登录才能回复,可以选择微信账号登录