從零開始搭建乙個LoRaWAN基站

2022-07-18 07:18:12 字數 2900 閱讀 3873

sx1301/sx1302是semtech公司推出的基站端射頻基帶晶元,其與sx127x/sx126x的主要區別在於:

只是個基帶晶元,使用時需要加射頻前端(sx125x/saw/...)

其具有比sx1278強大很多的基帶處理能力,可以同時解調8個通道的資料,並且每個通道可以同時監聽sf7-12(sx1302為sf5-12)

所以,從引數上可以看出,對於lorawan這樣的多節點網路來講,使用sx1301/sx1302才是正確的開啟方式。

接下來,我就分享一下我自己從零開始搭建lorawan基站的經驗。

raspberry 3/3b/4都可以

m-gw1302s模組

樹莓派轉接板

ssh工具(xshell,putty等都可以)

m-gw1302s的使用者手冊(描述使用方法)

m-gw1302s的硬體設計手冊(描述模組硬體設計時需要用到的資料),暫時還用不到

基站端**,見下方

git命令:

git clone .git
因為官方原始碼中使用了乙個溫度感測器,而在此版設計中,並沒有此感測器,所以需要將部分**注釋掉才能執行,這一步,m-gw1302s的廠家已經幫我們改好了。

git命令:

git clone
樹莓派製作好系統,連上網線,使用ssh與樹莓派連線

git clone .git

cd gw1302s

修改target.cfg中的target_dir為

target_dir=/home/pi/gw1302s/bin
make clean all ->此步驟會把**編譯成可執行檔案

make install -> 此步驟會用呼叫scp將編譯結果拷貝到target_dir所在目錄,所以可能需要輸入密碼(此處是將scp的dst設為localhost,所以會拷貝到本地),若不想輸密碼,可參考readme.md進行ssh秘鑰拷貝,後續就無需輸入密碼了

make install_conf ->至此,原始碼就編譯完成了,並且生成的已經在target_dir指定的目錄下了

接下來我們需要配置global_conf.json,配置得適用於我們的需要,此處我貢獻一下我的global_conf.json檔案,其中配置基站的接收頻點是通過配置兩個sx1250的中心頻點,外加8個偏移頻點來進行的,如下圖,我配置的為474.3~475.7的接收頻點範圍

,

"radio_0": ,

"tx_enable": true,

"tx_freq_min": 470000000,

"tx_freq_max": 510000000,

"tx_gain_lut":[,,

,,,,

,,,,

,,,,

,]},"radio_1": ,

"tx_enable": false

},"chan_multisf_0": ,

"chan_multisf_1": ,

"chan_multisf_2": ,

"chan_multisf_3": ,

"chan_multisf_4": ,

"chan_multisf_5": ,

"chan_multisf_6": ,

"chan_multisf_7": ,

"chan_lora_std": ,

"chan_fsk":

},"gateway_conf": ,

"debug_conf": ,

],"log_file": "loragw_hal.log"}}

最後,我們執行一下./lora_pkt_fwd,程式就會讀取global_conf.json檔案,啟動起來了。

至此,我們就擁有一台自己diy的lorawan基站了!!

這個配置檔案是lora_pkt_fwd程式執行的所有配置引數,其中有幾點是我們平時會比較常用到的:

如何修改基站的接收頻點

如何設定基站的id

如何設定基站的lorawan ns指向

如何設定基站的發射功率

設定接收頻點主要是通過設定radio_0和radio_1的中心頻點,並在此基礎上設定8個接收通道的偏移來進行的,比如上面的引數,其中radio_0.freq==474600000,radio_1.freq==475400000,這就是radio_0和radio_1的中心頻點,下面會根據設定的8個頻點的偏移情況來開啟8個接收通道,具體體現在

"chan_multisf_0": ,

"chan_multisf_1": ,

"chan_multisf_2": ,

"chan_multisf_3": ,

"chan_multisf_4": ,

"chan_multisf_5": ,

"chan_multisf_6": ,

"chan_multisf_7": ,

我們以第一條為例

gateway_conf.gateway_id即是

基站的發射功率

tx_freq_min,tx_freq_max設定的是發射的最大,最小頻點範圍

tx_gain_lut是tx power的乙個具體配置表,也就是說,當基站收到ns的下發命令時,會按照指定功率進行下發,若指定的功率不在這個表裡面,那麼可能就不會進行下發了,此表為什麼這配我也不清楚,一般情況下不要去改動它

從零開始搭建一套lorawan閘道器(二)

說明 內容基本都來自1301的資料手冊,根據大意進行翻譯。sx1301實際上應該算乙個調製解調的數字基帶晶元,需要外接前端射頻晶元sx1255或者sx1257實現無線訊號的收發。單獨並不能使用。晶元設計的目的就是在更多的通道內使用隨機的擴頻因子同時進行多個資料報的接收。圖中的gps的作用是對時,取時...

從零開始搭建一套lorawan閘道器(三)

網上的大多數教程都是用樹莓派作為主控板,因為官方提供例程是樹莓派的,但是樹莓派主控晶元不單賣,沒法完全做成自己的產品,而且樹莓派作為一款開源硬體,目標本來是民用極客,作為閘道器使用在環境惡劣情況下不一定能穩定執行,隨著 戰的公升級未來樹莓派是否禁止也不一定。所以我選擇了一款國產全志的h5作為主控,作...

從零開始用uniapp搭建乙個APP

做乙個專案就像玩積木一樣,專案中用到的東西就好像積木塊,你所要做的就是把這些小木塊拼成你想要的形狀。目錄 做任何事情最難的還是第一步,只要邁出第一步其他的就簡單了。直接開始 執行除錯簡單 可以直接選擇在瀏覽器執行或是執行到手機或模擬器 打包發布簡單 用hbuilderx一鍵雲打包 專案建立完成之後自...