圖1: LoRaHAM, by Travis Goodspeed
LoRaHAM是建議在Arduino RadioHead LoRa分支上的蛉加,面向火腿一族的開源設(shè)計(jì)。該設(shè)計(jì)可以充分利用現(xiàn)有的業(yè)務(wù)電臺(tái)資源皆刺,但是使用者必須有自己的呼號(hào)。
今天完成了兩種固件的升級(jí):
- SCPI/VI凌摄,程控儀表接口
- ALOHA/SMAC羡蛾,數(shù)傳電臺(tái)基礎(chǔ)固件
SCPI
SCPI是Standard Command for Programmable Instrument的縮寫,被許多程控儀表所采用锨亏。Semtech的SCPI固件可以適配到自己開發(fā)的NUCLEO-F103RB + LoRa Arduino Shield痴怨。但是使用上有許多不便,甚至有Bug器予。需要把源碼重新整理一遍浪藻,同時(shí)增加了USB CDC/ACM接口后,ROM Size會(huì)超越64KB乾翔,所以比如采用CB/RB后綴的型號(hào)爱葵。
ALOHA/SMAC
ALOHA是夏威夷大學(xué)教授提出的,是無線電電臺(tái)通訊早期的通訊方式反浓。而SMAC是更新后的數(shù)據(jù)傳輸協(xié)議萌丈。
該數(shù)傳固件由某家匿名組織提供,沒有技術(shù)支持雷则,確切地說只是一個(gè)半成品浓瞪。缺乏主循環(huán),而且其采用的RingBuffer模板與mbed底層RingBuffer模板有沖突巧婶。折騰好長時(shí)間乾颁,總算可以編譯成功。雖然可利用現(xiàn)有的串口協(xié)議艺栈,一旦添加USB CDC/ACM驅(qū)動(dòng)和AT指令集英岭,也面臨同樣的問題:必須采用128KB型號(hào)。
ALOHA工程更新
開發(fā)這個(gè)固件更像是在Hack湿右,而非移植代碼诅妹。這家組織提供代碼后,禁止開發(fā)者聯(lián)絡(luò),留下一個(gè)殘局】越疲現(xiàn)在看來尖殃,他們把AlohaTransceiver和SerialInterfaceProtocol公開給大家,但是把高層應(yīng)用的main保留了划煮,此外還留下一個(gè)RingBuffer模板的坑送丰。所以我的工作就是在這兩者基礎(chǔ)上重新構(gòu)建一個(gè)數(shù)傳電臺(tái)。已經(jīng)添加了USB驅(qū)動(dòng)弛秋,但發(fā)現(xiàn)它的串口協(xié)議是某個(gè)變種的STX/ETX協(xié)議:
START | COMMAND(2B) | LENGTH(2B) | PAYLOAD(2...nB) | CHECKSUM(2B) | END
兩個(gè)模塊文檔設(shè)計(jì)得還算清晰器躏,但有一定的工作量。