ESP8266 LoRa網(wǎng)關(guān)第三步:物理層驅(qū)動(dòng)

ESP8266 LoRa網(wǎng)關(guān)第一步:SPIESP8266 LoRa網(wǎng)關(guān)第二步:寄存器讀寫之后,我們需要將SX127X的物理層驅(qū)動(dòng)集成到工程中。

驅(qū)動(dòng)代碼

先說結(jié)果,雖然將某些國(guó)內(nèi)作者提供的LoRa驅(qū)動(dòng)源碼集成后,程序沒有跑飛。但是根據(jù)SPI總線跟蹤的波形進(jìn)行分析,其總線驅(qū)動(dòng)工作不正常。所以,我不得不重新調(diào)試。所以,還需要做些基礎(chǔ)的工作。

更新

將SPI總線CLK從10MHz調(diào)低到2MHz,同時(shí)將邏輯分析儀的采樣頻率調(diào)高,發(fā)現(xiàn)驅(qū)動(dòng)源碼的SPI總線波形是正確的。所以,進(jìn)過適當(dāng)修正后,可以利用。

應(yīng)用代碼

選擇ESP8266/LoRa代碼基礎(chǔ)

國(guó)內(nèi)的產(chǎn)品或許因?yàn)楸阋?,所以買的人真不少。但是固件就差強(qiáng)人意了。之前,我著重調(diào)研基于ARM的相關(guān)代碼基礎(chǔ)。我基本上會(huì)以STM32/Keil MDK5/C代碼為基礎(chǔ),或者以ARM mbed C++為基礎(chǔ)。

ESP8266不是ARM內(nèi)核,所以采用Arduino/eLua/MicroPython比較合理。由于ESP8266聯(lián)網(wǎng)特性,所以用來做單通道網(wǎng)關(guān)更加合理,而不是作為設(shè)備終端。

找到兩個(gè)開源作者:

  1. Matthijs Kooijman,著作有Building Wireless Sensor Network with Arduino。開源作品:arduino-lmic/arduino-dsmr/arduino-max
  2. Thomas Telkamp,開源作品:single_chan_pkt-fwd/arduino-lmic/packet_forwarder/sx127x_tx_rx/

兩位作者圍繞著IBM LMIC(LoRaMAC In C)做了一大堆移植,同時(shí)對(duì)接TTN(The Things Networks)。TTN是LoRa聯(lián)盟成員,可以對(duì)接大量的報(bào)文轉(zhuǎn)發(fā)器網(wǎng)關(guān)。

所以,在SPI驅(qū)動(dòng),SX127X寄存器訪問完成的基礎(chǔ)上,配合Matthijs/Thomas的LMIC設(shè)計(jì),可以完成簡(jiǎn)單的單通道設(shè)計(jì)。但是還需要更多時(shí)間。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容