LoRa固件更新:ALOHA/SCPI

LoRa固件更新:ALOHA/SCPI_第1张图片
LoRaHAM-kc3bvl-12.jpg

图1: LoRaHAM, by Travis Goodspeed

LoRaHAM是建议在Arduino RadioHead LoRa分支上的,面向火腿一族的开源设计。该设计可以充分利用现有的业务电台资源,但是使用者必须有自己的呼号。

今天完成了两种固件的升级:

  1. SCPI/VI,程控仪表接口
  2. 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

两个模块文档设计得还算清晰,但有一定的工作量。

你可能感兴趣的:(LoRa固件更新:ALOHA/SCPI)