Direct BLE Communication on NXP FRDM‑MCXW71 Using Windows PC

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Direct BLE Communication on NXP FRDM‑MCXW71 Using Windows PC

87 次查看
Rudy25
Contributor I

Hi all,

Development Environment:
Hardware & tools
Board: NXP FRDM-MCXW71
SDK: 25.09.00
IDE: MCUXpresso v25.6.136
Starting example: eatt_peripheral_bm (Bluetooth Wireless)
NBU firmware/binaries (from middleware/wireless/ble_controller/bin):
- mcxw71_nbu_ble_hosted.sb3
- mcxw71_nbu_ble_hadm_hosted.sb3
- mcxw71_nbu_ble_xp_hosted.sb3
I’m unsure which one is correct and currently use mcxw71_nbu_ble_hosted.sb3. Please explain the differences and which I should pick.

Goal:
I want a Windows PC to use its built-in Bluetooth (no USB serial intermediaries) to talk directly to the MCXW71 over BLE and ultimately perform OTA firmware updates.
To test the feasibility, I modified eatt_peripheral_bm to add a custom service for PC to BLE device data and BLE device to PC notifications, then wrote a simple Python client (Bleak/WinRT) that:
1. Connects (works)
2. Enables notifications (works)
3. Receives BLE device to PC notification data (works)
4. Writes data PC to BLE device (not working). I don’t see gEvtAttributeWrittenWithoutResponse_c or gEvtAttributeWritten_c in my callback.

Questions:
1. Is my goal achievable on MCXW71?
2. If yes, where should I look so gEvtAttributeWrittenWithoutResponse_c / gEvtAttributeWritten_c are triggered?
3. Is eatt_peripheral_bm a good base, or is there a more suitable example for building my application?

 

Thank you very much!

 

 

0 项奖励
回复
1 回复

56 次查看
sofiaurueta
NXP Employee
NXP Employee

Hello,
Hope you are doing well.

 

Regarding the binaries found in the SDK path (middleware/wireless/ble_controller/bin):

"mcxw71_nbu_ble_hosted" is the standard BLE 5.3 controller firmware that supports general BLE features.

"mcxw71_nbu_ble_hadm_hosted" stack includes support for Channel sounding features.

"mcxw71_nbu_ble_xp_hosted" stack enables experimental features such as DBAF and ACS.

 

You can read more about supported stack features and capabilities on Wireless connectivity middleware overview. If your application does not use any of the experimental features, "mcxw71_nbu_ble_hosted.sb3" file is correct.

 

As a starting point, I would recommend to first run the OTAP client example. You can follow the process in 5.11 Over the Air Programming (OTAP) from the Bluetooth Low Energy Demo Applications User’s Guide.

 

Also, AN14396 provides the steps and process for integrating the OTAP Client Service into a BLE peripheral device. This document uses the wireless_UART example, but can also be implemented in a custom application by incorporating the OTA client files following the methodology described in section 4.1

 

Please let me know if this information is helpful!

Best regards,
Ana Sofia.

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2255201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%94%A8%20Windows%20PC%20%E5%9C%A8%E6%81%A9%E6%99%BA%E6%B5%A6%20FRDM-MCXW71%20%E4%B8%8A%E7%9B%B4%E6%8E%A5%E8%BF%9B%E8%A1%8C%20BLE%20%E9%80%9A%E4%BF%A1%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2255201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%3C%2FSTRONG%3E%EF%BC%9A%3CBR%20%2F%3E%E7%A1%AC%E4%BB%B6%20%26amp%3B%20%E5%B7%A5%E5%85%B7%3CBR%20%2F%3E%E6%9D%BF%EF%BC%9A%E6%81%A9%E6%99%BA%E6%B5%A6%20FRDM-MCXW71%20%3CBR%20%2F%3E%20SDK%EF%BC%9A25.09.00%20%3CBR%20%2F%3EIDE%EF%BC%9AMCUXpresso%20v25.6.136%3CBR%20%2F%3E%E8%B5%B7%E5%A7%8B%E7%A4%BA%E4%BE%8B%EF%BC%9Aeatt_periperal_bm%EF%BC%88%E8%93%9D%E7%89%99%E6%97%A0%E7%BA%BF%EF%BC%89%3CBR%20%2F%3ENBU%20%E5%9B%BA%E4%BB%B6%2F%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%EF%BC%88%E6%9D%A5%E8%87%AA%E4%B8%AD%E9%97%B4%E4%BB%B6%2F%E6%97%A0%E7%BA%BF%2Fble_controller%2Fbin%EF%BC%89%EF%BC%9A-mcxw71_nbu_ble_hosted.sb3-mcxw71_nbu_ble_ble_hosted.sb3-mcxw71_nbu_ble_ble_hosted.sb3%20%E6%88%91%E4%B8%8D%E7%A1%AE%E5%AE%9A%E5%93%AA%E4%B8%80%E4%B8%AA%E6%98%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%EF%BC%8C%E7%9B%AE%E5%89%8D%E4%BD%BF%E7%94%A8%20mcxw71_nbu_ble_hosted.sb3%E3%80%82%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%E8%AF%B7%E8%A7%A3%E9%87%8A%E5%85%B6%E4%B8%AD%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E5%BA%94%E8%AF%A5%E9%80%89%E6%8B%A9%E5%93%AA%E4%B8%AA%E3%80%82%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E7%9B%AE%E6%A0%87%3C%2FSTRONG%3E%EF%BC%9A%3CBR%20%2F%3E%E6%88%91%E5%B8%8C%E6%9C%9B%E4%B8%80%E5%8F%B0%20Windows%20%E7%94%B5%E8%84%91%E4%BD%BF%E7%94%A8%E5%85%B6%E5%86%85%E7%BD%AE%E8%93%9D%E7%89%99%EF%BC%88%E6%B2%A1%E6%9C%89%20USB%20%E4%B8%B2%E8%A1%8C%E4%B8%AD%E4%BB%8B%EF%BC%89%E9%80%9A%E8%BF%87%20BLE%20%E7%9B%B4%E6%8E%A5%E4%B8%8E%20MCXW71%20%E9%80%9A%E4%BF%A1%EF%BC%8C%E5%B9%B6%E6%9C%80%E7%BB%88%E6%89%A7%E8%A1%8C%20OTA%20%E5%9B%BA%E4%BB%B6%E6%9B%B4%E6%96%B0%E3%80%82%3CBR%20%2F%3E%E4%B8%BA%E4%BA%86%E6%B5%8B%E8%AF%95%E5%8F%AF%E8%A1%8C%E6%80%A7%EF%BC%8C%E6%88%91%E4%BF%AE%E6%94%B9%E4%BA%86%20eatt_peripheral_bm%EF%BC%8C%E4%B8%BA%E7%94%B5%E8%84%91%E5%88%B0%20BLE%20%E8%AE%BE%E5%A4%87%E6%95%B0%E6%8D%AE%E5%92%8C%20BLE%20%E8%AE%BE%E5%A4%87%E5%90%91%20PC%20%E9%80%9A%E7%9F%A5%E6%B7%BB%E5%8A%A0%E4%BA%86%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9C%8D%E5%8A%A1%EF%BC%8C%E7%84%B6%E5%90%8E%E7%BC%96%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%20Python%20%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%88Bleak%2FWinRT%EF%BC%89%EF%BC%8C%E5%85%B6%E4%B8%AD%EF%BC%9A1.%20%3CBR%20%2F%3E%E8%BF%9E%E6%8E%A5%EF%BC%88%E6%9C%89%E6%95%88%EF%BC%89%3CBR%20%2F%3E2.%E5%90%AF%E7%94%A8%E9%80%9A%E7%9F%A5%EF%BC%88%E6%9C%89%E6%95%88%EF%BC%89%3CBR%20%2F%3E3.%E6%8E%A5%E6%94%B6%20BLE%20%E8%AE%BE%E5%A4%87%E5%88%B0%20PC%20%E7%9A%84%E9%80%9A%E7%9F%A5%E6%95%B0%E6%8D%AE%EF%BC%88%E6%9C%89%E6%95%88%EF%BC%89%3CBR%20%2F%3E4.%E5%B0%86%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5%20PC%20%E5%88%B0%20BLE%20%E8%AE%BE%E5%A4%87%EF%BC%88%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%EF%BC%89%E3%80%82%E6%88%91%E5%9C%A8%E5%9B%9E%E8%B0%83%E4%B8%AD%E6%B2%A1%E6%9C%89%E7%9C%8B%E5%88%B0%20gEvtAttributeWrittenWithoutResponse_c%20%E6%88%96%20gEvtAttributeWritten_c%E3%80%82%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E9%97%AE%E9%A2%98%EF%BC%9A%3CBR%20%2F%3E%3C%2FSTRONG%3E1.%E5%9C%A8%20MCXW71%20%E4%B8%8A%E6%88%91%E7%9A%84%E7%9B%AE%E6%A0%87%E5%8F%AF%E4%BB%A5%E5%AE%9E%E7%8E%B0%E5%90%97%EF%BC%9F%3CBR%20%2F%3E2%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%EF%BC%8C%E6%88%91%E5%BA%94%E8%AF%A5%E5%8E%BB%E5%93%AA%E9%87%8C%E7%9C%8B%E6%89%8D%E8%83%BD%E8%A7%A6%E5%8F%91%E4%BF%A1%E5%8F%B7%20gEvtAttributeWrittenWithoutResponse_c%20%2F%20gEvtAttributeWritten_c%EF%BC%9F%3CBR%20%2F%3E3.eatt_peripheral_bm%20%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BE%88%E5%A5%BD%E7%9A%84%E5%9F%BA%E7%A1%80%EF%BC%8C%E8%BF%98%E6%98%AF%E6%9C%89%E6%9B%B4%E9%80%82%E5%90%88%E6%9E%84%E5%BB%BA%E6%88%91%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%A4%BA%E4%BE%8B%EF%BC%9F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%EF%BC%81%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2255201%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E5%BC%80%E5%8F%91%E6%9D%BF%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EFRDM%20%E5%9F%B9%E8%AE%AD%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E5%8A%A8%E6%89%8B%E5%AE%9E%E8%B7%B5%E5%9F%B9%E8%AE%AD%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2255546%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Direct%20BLE%20Communication%20on%20NXP%20FRDM%E2%80%91MCXW71%20Using%20Windows%20PC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2255546%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%E5%B8%8C%E6%9C%9B%E4%BD%A0%E4%B8%80%E5%88%87%E9%83%BD%E5%A5%BD%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%85%B3%E4%BA%8E%20SDK%20%E8%B7%AF%E5%BE%84%EF%BC%88%E4%B8%AD%E9%97%B4%E4%BB%B6%2F%E6%97%A0%E7%BA%BF%2Fble_controller%2Fbin%EF%BC%89%E4%B8%AD%E6%89%BE%E5%88%B0%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%22mcxw71_nbu_ble_hosted%22%20%E6%98%AF%E6%A0%87%E5%87%86%20BLE%205.3%20%E6%8E%A7%E5%88%B6%E5%99%A8%E5%9B%BA%E4%BB%B6%EF%BC%8C%E6%94%AF%E6%8C%81%E4%B8%80%E8%88%AC%20BLE%20%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%22mcxw71_nbu_ble_hadm_hosted%22%20%E5%A0%86%E6%A0%88%E5%8C%85%E6%8B%AC%E5%AF%B9%E9%80%9A%E9%81%93%E5%A3%B0%E9%9F%B3%E5%8A%9F%E8%83%BD%E7%9A%84%E6%94%AF%E6%8C%81%E3%80%82%3C%2FP%3E%0A%3CP%3E%22mcxw71_nbu_ble_xp_hosted%22%20%E5%A0%86%E6%A0%88%E6%94%AF%E6%8C%81%20DBAF%20%E5%92%8C%20ACS%20%E7%AD%89%E5%AE%9E%E9%AA%8C%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2F24.12.00%2Fhtml%2Fboards%2Fmcxw72evk%2FreleaseNotes%2Ftopics%2Fwireless_connectivity_middleware_overview.html%23bluetooth-le-contoller%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E6%97%A0%E7%BA%BF%E8%BF%9E%E6%8E%A5%E4%B8%AD%E9%97%B4%E4%BB%B6%E6%A6%82%E8%BF%B0%3C%2FA%3E%E4%B8%AD%E9%98%85%E8%AF%BB%E6%9C%89%E5%85%B3%E6%94%AF%E6%8C%81%E7%9A%84%E5%A0%86%E6%A0%88%E7%89%B9%E6%80%A7%E5%92%8C%E5%8A%9F%E8%83%BD%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%82%A8%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%8D%E4%BD%BF%E7%94%A8%E4%BB%BB%E4%BD%95%E8%AF%95%E9%AA%8C%E6%80%A7%E5%8A%9F%E8%83%BD%EF%BC%8C%22mcxw71_nbu_ble_hosted.sb3%22%E6%96%87%E4%BB%B6%E6%98%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E4%BD%9C%E4%B8%BA%E8%B5%B7%E7%82%B9%EF%BC%8C%E6%88%91%E5%BB%BA%E8%AE%AE%E9%A6%96%E5%85%88%E8%BF%90%E8%A1%8C%20OTAP%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%A4%BA%E4%BE%8B%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%8C%89%E7%85%A7%205.11%20%E4%B8%AD%E7%9A%84%E6%B5%81%E7%A8%8B%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2Flatest%2Fhtml%2F_static%2Fwireless%2FBluetooth%2FBluetooth_Low_Energy_Demo_Applications_User's_Guide.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E4%BD%8E%E5%8A%9F%E8%80%97%E8%93%9D%E7%89%99%E6%BC%94%E7%A4%BA%E5%BA%94%E7%94%A8%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97%3C%2FA%3E%E4%B8%AD%E7%9A%84%E6%97%A0%E7%BA%BF%E7%BC%96%E7%A8%8B%20(OTAP)%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fdocs.nxp.com%2Fbundle%2FAN14396%2Fpage%2Ftopics%2Fintroduction.html%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAN14396%3C%2FA%3E%20%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%B0%86%20OTAP%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%9C%8D%E5%8A%A1%E5%86%85%E7%BD%AE%E5%88%B0%20BLE%20%E5%A4%96%E5%9B%B4%E8%AE%BE%E5%A4%87%E7%9A%84%E6%AD%A5%E9%AA%A4%E5%92%8C%E6%B5%81%E7%A8%8B%E3%80%82%E6%9C%AC%E6%96%87%E6%A1%A3%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20wireless_UART%20%E7%A4%BA%E4%BE%8B%EF%BC%8C%E4%BD%86%E4%B9%9F%E5%8F%AF%E5%9C%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%AD%E5%AE%9E%E6%96%BD%EF%BC%8C%E6%96%B9%E6%B3%95%E6%98%AF%E6%8C%89%E7%85%A7%E7%AC%AC%204.1%20%E8%8A%82%E6%89%80%E8%BF%B0%E6%96%B9%E6%B3%95%E6%95%B4%E5%90%88%20OTA%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%96%87%E4%BB%B6%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E8%BF%99%E4%BA%9B%E4%BF%A1%E6%81%AF%E5%AF%B9%E6%82%A8%E6%9C%89%E5%B8%AE%E5%8A%A9%EF%BC%8C%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EAna%20Sofia%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E