單道通道Lora UDP數據包轉發器非常適合開發或測試目的。雙向接收和傳輸。該項目非常適合DIY的最便宜的Lora“網關”之一,該項目由單板計算機和4美元的Lora模塊組成。
該項目的目的是為:
除了您的單板計算機(WiFi,以太網...)上的網絡連接外,必須分配設備上的以下引腳:
請參閱命令gpio readall (也要檢查下一個部分),以獲取更多特定董事會的信息。還要查看WireingPI號碼,因為配置文件期望該編號方案。
例如:
+------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+
| GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
+------+-----+----------+------+---+----++----+---+------+----------+-----+------+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 12 | 0 | SDA.0 | ALT2 | 0 | 3 || 4 | | | 5V | | |
| 11 | 1 | SCL.0 | ALT2 | 0 | 5 || 6 | | | 0v | | |
| 6 | 2 | PA6 | OFF | 0 | 7 || 8 | 0 | OFF | TxD3 | 3 | 13 |
| | | 0v | | | 9 || 10 | 0 | OFF | RxD3 | 4 | 14 |
| 1 | 5 | RxD2 | OFF | 0 | 11 || 12 | 1 | OUT | PD14 | 6 | 110 |
| 0 | 7 | TxD2 | OFF | 1 | 13 || 14 | | | 0v | | |
| 3 | 8 | CTS2 | OFF | 0 | 15 || 16 | 0 | IN | PC04 | 9 | 68 |
| | | 3.3v | | | 17 || 18 | 1 | IN | PC07 | 10 | 71 |
| 64 | 11 | MOSI | ALT3 | 0 | 19 || 20 | | | 0v | | |
| 65 | 12 | MISO | ALT3 | 0 | 21 || 22 | 0 | OFF | RTS2 | 13 | 2 |
| 66 | 14 | SCLK | ALT3 | 0 | 23 || 24 | 0 | ALT3 | CE0 | 15 | 67 |
| | | 0v | | | 25 || 26 | 0 | OFF | PA21 | 16 | 21 |
| 19 | 17 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 18 | 18 |
| 7 | 19 | PA07 | OFF | 0 | 29 || 30 | | | 0v | | |
| 8 | 20 | PA08 | OFF | 0 | 31 || 32 | 0 | OFF | RTS1 | 21 | 200 |
| 9 | 22 | PA09 | OFF | 0 | 33 || 34 | | | 0v | | |
| 10 | 23 | PA10 | OFF | 0 | 35 || 36 | 0 | OFF | CTS1 | 24 | 201 |
| 20 | 25 | PA20 | OFF | 0 | 37 || 38 | 0 | OFF | TxD1 | 26 | 198 |
| | | 0v | | | 39 || 40 | 0 | OFF | RxD1 | 27 | 199 |
| 4 | 28 | PA04 | ALT2 | 0 | 41 || 42 | 0 | ALT2 | PA05 | 29 | 5 |
+------+-----+----------+------+---+----++----+---+------+----------+-----+------+
| GPIO | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | GPIO |
+------+-----+----------+------+---+OrangePiH3+---+------+----------+-----+------+
___
_/ SX1278 module
| --------------
--- | ANT GND |===== Pin #20 [OrangePiH3 Physical]
| GND DIO1 |===== Pin #18 [OrangePiH3 Physical] / [a.k.a WiringPi pin ## 10]
| DIO2 |
| DIO3 |
| VCC |===== Pin # 1 [OrangePiH3 Physical]
| MISO |===== Pin #21 [OrangePiH3 Physical] / [[a.k.a WiringPi pin ## 12]]
| MOSI |===== Pin #19 [OrangePiH3 Physical] / [[a.k.a WiringPi pin ## 11]]
| SLCK |===== Pin #23 [OrangePiH3 Physical] / [[a.k.a WiringPi pin ## 14]]
| NSS |===== Pin #12 [OrangePiH3 Physical] / [a.k.a WiringPi pin ## 6]
| DIO0 |===== Pin #16 [OrangePiH3 Physical] / [a.k.a WiringPi pin ## 9]
| REST |===== optional, if it isn't used leave floating or connect to VCC
| GND |
--------------
git clone --recurse-submodules https://github.com/zhgzhg/LoRaPacketForwarder.git
已在Armbian v5.90上測試了以下步驟。但是,建議使用其最新版本。
./build命令PLATFORM=orangepipc ./build )或留下構建腳本以自動確定它。spi-spidev覆蓋層。此外,在/boot/armbianenv.txt中,您需要添加參數param_spidev_spi_bus=1或param_spidev_spi_bus=0取決於板模型。例如:param_spidev_spi_bus=1如果我們考慮以下活動覆蓋層: i2c0 i2c1 pps-gpio pwm spi-add-cs1 spi-spidev uart1 usbhost2 usbhost3param_spidev_spi_bus=0spidev驅動程序,但指示這可能是缺失/dev/spidev*目錄。這種情況的臨時解決方法正在切換到較舊的內核。gpio readall命令還將顯示一個略有不同的表,隱藏或顯示一些行。gpio readall以查看板引腳方案表make編譯這個項目make編譯這個項目通過複製config.json.template來創建config.json:
gpio readall命令的後綴sudo ls /dev/spi*的輸出,其中例如“/dev/spidev1.0”的結果對應於/dev/spidev <spichannelnumber> 。 <spiportNumer>SX1261 , SX1262或SX1268LLCC68SX1272 , SX1273 , SX1276 , SX1277 , SX1278或SX1279RFM95 , RFM96 , RFM97或RFM98gpio readall以檢查需要指定需要指定的WiringPi PIN號)。請注意, PIN_REST是可選的。如果不使用它,則應將其設置為-1,並將收發器的銷浮動或連接到VCC;執行該應用程序:
./LoRaPktFwrd執行應用程序並指定用於ID生成的網絡接口:
./LoRaPktFwrd wlan0要獲得受支持的CLI選項:
./LoRaPktFwrd -h可以將該項目安裝為SystemD服務(請參閱文件LoRaPktFwrd.service ),該服務可以在系統啟動後自動啟動。作為先決條件,請確保(通過make命令)編譯了該項目,並且能夠使用您自己的config.json文件正確執行。
sudo make install installsudo make uninstallsudo systemctl enable LoRaPktFwrd.servicesudo systemctl disable LoRaPktFwrd.service sudo service LoRaPktFwrd start
sudo service LoRaPktFwrd restart
sudo service LoRaPktFwrd stop
sudo service LoRaPktFwrd status
sudo journalctl -n 100 -f -u LoRaPktFwrd.service Lora UDP數據包轉發器依賴以下程序和庫:
提供的是一個簡單的Lora Trasmitter示例Arduino Project,稱為“當前目錄”中的“ Transmit”。將您的ESP8266/arduino掛鉤/通過SPI到SX1278模塊的任何板,對其進行編譯,並將開始傳輸數據。在RF規格方面,使用“ config.json.template”內部的默認配置,轉發器應用程序應立即從發射機中選擇數據。
一個微小的溫度監視器程序,可以在後台運行並修改GPIO引腳以響應。
通過配備普通Lora收發器的普通單板計算機的組合,實現完美的下行鏈路變速箱正時似乎很困難。原因歸結為計算機的不精確硬件時鐘與Linux的非真實時間性質相結合。為了彌補這一點,該項目的目標是以很高(幾乎實時)的優先級運行,並增加了CPU使用率(約20%),以部分彌補不規則的OS延遲。
https://github.com/jgromes/radiolib
https://github.com/adafruit/single_chan_pkt_fwd
https://github.com/orangepi-xunlong/wiringop
https://github.com/xpertsavenue/wiringop-zero
https://github.com/lora-net/packet_forwarder
https://www.gw-openscience.org/static/js/gpstimeutil.js
https://github.com/tencent/rapidjson