Nordic DevZone:Testing Long Range (Coded PHY) with Nordic solution (It Simply Works)
一、準備工作
- nRF52840 DK PCA10056 * 2
- Hex文件:不連接/連接測試_信號強度.hex
main.c
裏CONNECT_TO_ADV_REPORT
爲0
時測試不連接時的廣播和掃描的距離,爲1
時測試連接的距離;RADIO_TX_POWER
設置信號強度,0
表示0dBm。
可直接使用現有Hex文件或者重新根據需求編譯工程。
- 安裝nRF Connect For PC
使用nRF Connect APPS裏的Programmer給DK燒錄SoftDevice和Application。
二、測試方法
- 程序說明
外設 | 說明 |
---|---|
LED1 | 常亮:廣播或者掃描;閃爍:收到scan request或者adv report |
LED2 | 常亮:連接 |
LED3 | 常亮:使用1M PHY連接 |
LED4 | 常亮:使用Coded PHY連接 |
BUTTON1 | 斷連,使用可連接廣播 |
BUTTON2 | 斷連,使用不可連接廣播 |
BUTTON3 | 復位後首次按鍵設置爲Peripheral;其他時候設置PHY爲1M |
BUTTON4 | 復位後首次按鍵設置爲Central;其他時候設置PHY爲Coded |
- 不連接測試(1M / Coded PHY)
- 燒錄
CONNECT_TO_ADV_REPORT
爲0
的程序。 - DK1設置爲
adv
:按復位鍵,按兩次Button3,廣播間隔爲50ms,PHY爲1M;LED1閃爍(收到任何scan request)。 - DK2設置爲
scan
:按復位鍵,按一次Button4,掃描間隔爲100ms,PHY爲1M;LED1閃爍(收到設備名稱爲sdk_config.h配置的DEVICE_NAME的adv數據包)。 adv
會收到<info> app: Received Scan request packet with RSSI -59 from from Device "Nordic_ATT_MTU"
。scan
會收到<info> app: Received ADV report packet with RSSI -29 from from Device "Nordic_ATT_MTU"
。- 距離判斷方法:將兩個DK天線正面相對,逐步在視距上拉遠距離,直到
scan
收不到adv
的數據包,scan
的LED1不再閃爍(adv
如果被其他設備掃描的話LED1會閃爍)。 - 在兩個DK上按Button4,將PHY切換到Coded。
scan
LED1閃爍,而adv
LED1不閃爍(不可掃描廣播包)。(未測試成功) - 可以燒錄其他信號強度的程序對比距離。
- 連接測試(1M / Coded PHY)
- 燒錄
CONNECT_TO_ADV_REPORT
爲1
的程序。 - DK1設置爲
adv
:按復位鍵,按兩次Button3,廣播間隔爲50ms,PHY爲1M;LED1閃爍(收到任何scan request)。 - DK2設置爲
scan
:按復位鍵,按一次Button4,掃描間隔爲100ms,PHY爲1M;LED1常亮;連接adv
後,兩個DK的LED2和LED3常亮。 - 距離判斷方法:將兩個DK天線正面相對,逐步在視距上拉遠距離,直到兩個DK斷開連接且在幾秒鐘內也無法重新連接(
adv
LED1閃爍;scan
LED1常亮)。 - 在兩個DK上按Button4,將PHY切換到Coded。
scan
LED1閃爍,而adv
LED1不閃爍(不可掃描廣播包)。(未測試成功) - 可以燒錄其他信號強度的程序對比距離。