图1: LoRaHAM, by Travis Goodspeed
LoRaHAM是建议在Arduino RadioHead LoRa分支上的,面向火腿一族的开源设计。该设计可以充分利用现有的业务电台资源,但是使用者必须有自己的呼号。
今天完成了两种固件的升级:
- SCPI/VI,程控仪表接口
- ALOHA/SMAC,数传电台基础固件
SCPI
SCPI是Standard Command for Programmable Instrument的缩写,被许多程控仪表所采用。Semtech的SCPI固件可以适配到自己开发的NUCLEO-F103RB + LoRa Arduino Shield。但是使用上有许多不便,甚至有Bug。需要把源码重新整理一遍,同时增加了USB CDC/ACM接口后,ROM Size会超越64KB,所以比如采用CB/RB后缀的型号。
ALOHA/SMAC
ALOHA是夏威夷大学教授提出的,是无线电电台通讯早期的通讯方式。而SMAC是更新后的数据传输协议。
该数传固件由某家匿名组织提供,没有技术支持,确切地说只是一个半成品。缺乏主循环,而且其采用的RingBuffer模板与mbed底层RingBuffer模板有冲突。折腾好长时间,总算可以编译成功。虽然可利用现有的串口协议,一旦添加USB CDC/ACM驱动和AT指令集,也面临同样的问题:必须采用128KB型号。
ALOHA工程更新
开发这个固件更像是在Hack,而非移植代码。这家组织提供代码后,禁止开发者联络,留下一个残局。现在看来,他们把AlohaTransceiver和SerialInterfaceProtocol公开给大家,但是把高层应用的main保留了,此外还留下一个RingBuffer模板的坑。所以我的工作就是在这两者基础上重新构建一个数传电台。已经添加了USB驱动,但发现它的串口协议是某个变种的STX/ETX协议:
START | COMMAND(2B) | LENGTH(2B) | PAYLOAD(2...nB) | CHECKSUM(2B) | END
两个模块文档设计得还算清晰,但有一定的工作量。
网友评论