
aloha.jpg
圖1:ALOHA 競爭型MAC
LoRa Radio PHY 物理層有一定的距離優(yōu)勢,但是速率比較低,所以也不太適合做路由多跳之類的MAC層設(shè)計。而官方給出的LoRaMAC,即LoRaWAN是一種面向數(shù)據(jù)采集和星型拓?fù)涞腗AC設(shè)計,上傳采用ALOHA競爭協(xié)議,而下發(fā)采用TDD預(yù)分配方式。
我打算做的是上下傳均基于ALOHA的MAC協(xié)議。之前找到過Air9的開源代碼,但是整合后發(fā)現(xiàn)編譯時出現(xiàn)CircularBuffer報錯,最近才發(fā)現(xiàn)原來除了應(yīng)用層中導(dǎo)入了CircularBuffer模板,mbed/platofrom層里也有一個類似的,而且是同名的CircularBuffer。所以,將應(yīng)用層的CirularBuffer改名為RingBuffer解決此問題。
接下來,會持續(xù)進(jìn)行ALOHA協(xié)議的系統(tǒng)整合,測試完畢后交付給大家測試一下?;贏LOHA,可以在PC/Android等系統(tǒng)中完成一些相對完整的設(shè)計了。我會提供基于Python的二次開發(fā)代碼,至于C#/Java/JavaScript/Lua等就靠大家自己努力了。畢竟基于USB CDC開發(fā),和開發(fā)串口一樣容易。