LoRa最基础的固件就是Radio PHY的PingPong测试。A/B两台设备之间互相试探着发送PING/PONG两个字符串,由于两者最终总会分出雌雄,Master发送Ping,而Slave返回Pong。
图1:两个TeraTerm终端打印的调试信息。
最初开发LoRa时开发板太贵了,所以下决心自己做了一批。当时,ARM mbed上的PingPong总是出错,最终确定这些问题多数与硬件有关联。但是整个开发调试过程中偏离了方向,产生了一个Rx/Tx版本,即使用上电时某个I/O电平来确定Master/Slave,但是我的开发板上却没有配置这个按键,需要短路到地或供电脚,太不方便了。所以,今天抽空将PingPong又再次实现了。
从TeraTerm终端可以看到,两者可以自行协商彼此角色。接下来,我需要升级固件来实现更多功能:
- UID
- F/W Version
- 故障排除(常见的故障几乎就那么几种)
- RSSI/SNR等