版本6.2.0,數據:1月29日,2020年
作者:M。 Westenberg([email protected])
版權所有:M。 Westenberg([email protected])
版權所有。該程序和隨附的材料可根據本發行的MIT許可條款提供,可在https://opensource.org/licenses/mit-license.php上找到。
該程序的分佈是希望它將有用的,但沒有任何保修;即使沒有對特定目的的適銷性或適合性的隱含保證。
由Maarten Westenberg維護([email protected])
首先:請閱讀此文件和文檔,它應包含您需要獲取的大多數信息。不幸的是,我沒有時間跟進所有電子郵件,並且由於這些頁面上包含在內的大多數信息等信息,我希望您有時間閱讀它們並發布任何剩餘的問題。
我確實有10多個WEMOS D1迷你板運行,有些我自己建造了,在Hallard上有10個以上,在ComResult上有3個和4個ESP32板。它們在此代碼上都沒有問題。但是,我確實發現,良好的焊接接頭和佈線會帶來一切不同,因此,如果您得到無法解釋的重置/錯誤,請再次查看佈線。
該存儲庫包含ESP8266單個通道Lorawan網關的概念驗證實現。啟動版本5.2還支持TTGO(和其他)的ESP32。該軟件實現了標準的LORA網關,具有以下例外和更改:
該Lora網關不是一個完整的網關,而是僅實現一個通道/一個頻率網關。完整網關支持的最小頻率量為3,大多數支撐9或更多頻率。該軟件最初是作為概念驗證的,以證明在歐洲幾乎每個Lora節點中都存在的單個低成本RRFM95芯片可以用作使用SX1301芯片的廉價全門通道的便宜替代品。
由於該網關的軟件通常會在項目的開發階段或演示情況下使用,因此該軟件是靈活的,並且可以根據環境或客戶需求輕鬆配置。與軟件進行交互的方法有兩種:
單個通道網關的完整文檔位於Thess4U.github.io上,請查看網關章節下的硬件指南。
單個通道網關已使用Hoperf RFM95W收發器在帶有WEMOS D1 mini的網關上測試。對868版LORA進行了測試,並在433 MHz上進行了一些測試。該網關再次測試的Lora節點是:
該代碼已根據哈拉德(Hallard)和ComResult董事會在至少8個單獨的網關板上進行了測試。我仍在研究ESP32引腳和功能(預計很快)。
建議以盡可能少的修改來編譯並啟動單個通道網關。這意味著您應該盡可能多地使用2個配置文件中的默認設置,僅更改WiFi設置的SSID/密碼,以及在Loramodem.h中使用的ESP8266的PIN。本節描述了獲得工作網關所需的最低配置,該配置比使用網頁進一步配置了。
通過圖書館經理:
現在您的網關應該運行。使用網頁將“調試”設置為1,您應該能夠在串行顯示器上看到包裝。
有兩種更改單個通道網關配置的方法:
在您有選擇的地方,選項2更加友好和有用。
configgway.h文件包含用戶配置的網關設置。所有人都通過#Define語句設置其定義。通常,將#Define設置為1將啟用該功能並將其設置為0將將其禁用。
同樣,可以通過使用#Define設置其值來初始化某些設置,但可以在Web界面中的運行時更改。對於某些設置,用#Define禁用該函數也將從Web服務器中刪除該功能。
有關內存使用情況的注意:ESP8266具有可用於程序空間和SPIFFS文件系統的大量內存。但是,可用於堆和變量的內存僅限於約80K字節(對於ESP-32,這更高)。建議用戶關閉未使用的功能來節省內存使用情況。如果堆降至18個kbytes以下,則某些功能可能不會像預期的那樣行事(在極端情況下,該程序可能會崩潰)。
confignode.h文件用於將teh wifi接入點和已知傳感器的結構設置為1通道網關。必須在編譯時設置已知的WiFi訪問點(SSID和密碼)。
當網關不僅用作網關,還用作調試目的時,使用的不僅可以指定傳感器節點的名稱,而且還可以解密某些節點的消息。
用戶可以確定USB控制台是否用於輸出消息。當將_dusb設置為0時,禁用了串行的所有輸出(實際上串行語句不包含在代碼中)。
#define _dusb 1
定義網關支持的操作類別。支持A類並包含電池傳感器的基本操作。
B類包含信標/電池的操作模式。網關將向連接的傳感器發送OU信標,使其能夠同步下行鏈路Messagaging。
C類(連續)操作模式包含對可能無法電池操作的設備的支持,並且會始終聆聽網絡。結果,這些設備的延遲也比A類設備短。 C類設備不取決於電池電量,並且將擴展接收窗口,直到下一個傳輸窗口。實際上,只要這種轉移持續,只有傳輸才能使設備流產。 C類設備無法進行B類操作。
#define _class“ a”
所有設備都將從A類設備開始,並可能決定“升級”到B類或C。網關也可能支持B類,這是A類的超集。注意:僅支持A類
我們支持開箱即用的兩個引腳配置:hallard和Compresult。如果使用這兩個中的一個,只需將參數設置為正確的值即可。如果您的PIN定義不同,請更新Loramodem.h文件以反映這些設置。 1:哈拉德2:ComResult Pin ut 3:ESP32 PIN OUT 4:其他,在Loramodem.h中定義您自己的定義
#define _pin_out 1
在正常情況下,以下參數shoudl設置為0。它確實允許系統對SPIFFS文件系統進行格式化。
#define spiff_format 0
將_spreading因子設置為所需的SF7,SF8 -SF12值。請注意,此值與_CAD的值密切相關。如果啟用了_ cad,則網關未使用_spreading的值,因為它啟用了所有字樣因子。
#Define _Spreading SF9
請注意,使用的默認頻率為868.1 MHz,可以在loramodem.h文件中更改。建議用戶不要更改此ETTING,而僅使用默認的868.1 MHz頻率。
通道活動檢測(CAD)是LORA RFM95芯片的函數,以檢測傳入消息(活動)。這些傳入的消息可能會出現在任何廣為人知的傳播因素SF7-SF12上。通過啟用CAD,網關可以接收任何傳播因素的消息。
實際上,它用於正常操作中,告訴接收器另一個信號已經使用了通道。
CAD功能以(小)價格出現:芯片將無法接收非常弱的信號,因為CAD功能將使用芯片的RSSI寄存器設置來確定它是否收到信號(或僅是噪聲)。結果,未收到非常弱的信號,這意味著網關的範圍將在CAD模式下減小。
#define _cad 1
從4.0.6版本中,如果設置A_OTA打開,則網關允許在空氣上更新。 Over Air軟件需要一次設置4.0.6版本的USB到網關,然後該軟件啟用該軟件以供使用。
第一個版本僅使用IDE支持OTA函數,這在實踐中意味著IDE必須與網關相同的網絡段。
注意:您必須在某個地方網絡上使用Bonjour軟件(Apple)。大多數平台都可以使用版本(例如,iTunes for Windows發貨)。 Bonjour軟件使網關能夠使用MDNS解析OTA設置的網關ID,然後下載端口顯示在IDE中。
TODO:OTA軟件尚未(尚未)與Wifimanager軟件一起測試。
#define a_ota 1
此設置啟用Web服務器。儘管Web服務器本身需要大量內存,但它極大地有助於配置Gatewayat運行時並檢查其行為。它還提供了最後收到消息的統計信息。 A_REFRESH參數定義了Web服務器是否應每x秒續訂一次。
#define a_server 1 //僅在設置此定義時才定義本地Web服務器
#define a_refresh 1 // Web服務器是否可以刷新是/否? (是的,還可以)#define a_serverport 80 //本地網絡服務器端口
#define a_maxbufsize 192 //必須大於128,但足夠小以工作
A_REFRESH參數定義了我們是否可以在WebBrowser中設置刷新是/否設置。通常將WebBrowser中的設置作為默認設置,但我們可以將定義放在“ 1”上,以在WebBrowser中啟用該設置。
為了讓網關在預設擴展因子上發送下行鏈路消息,並且在默認頻率上,您必須將_strict_1CH參數設置為1。請注意,當未將其設置為1時,網關將使用後端服務器設置的頻率和擴展因子響應下行鏈路請求。目前,TTN響應RX2時段中SF9-SF12的下行鏈路消息,以及頻率為869.525MHz和SF12(根據LORA標准在RX2 TimesLot時,根據Lora標準)進行了響應。
#define _strict_1ch 0
建議您不要更改此參數的默認設置。
通過設置OLED,您將系統配置為在I2C上使用OLED面板。某些面板由SPI和I2C使用,其中I2C是Solwer。但是,由於SPI用於RFM95收發器通信,因此您會使用其中一種使用其中一種,因為它們無法與該軟件一起使用。而是選擇一個在I2C上工作的OLED解決方案。
#定義OLED 1
為OLED定義了以下值:
定義這一點(== 1)時,我們將收集每個消息的統計信息,並將其輸出到Spiffs文件系統。我們確保每個文件都使用許多文件,以固定數量的統計記錄。 REC號告訴我們每個統計文件中允許有多少條記錄。一旦REC號高於允許的記錄數,我們就會打開一個新文件。一旦文件數超過數量統計文件的數量,我們就會刪除最古老的文件並打開一個新文件。在GUI屏幕頂部選擇“日誌”按鈕時,所有rthe Log Files均為USB串行設備。這樣,我們可以檢查比安裝GUI屏幕或串行輸出的記錄要多得多。
#Define Stat_log 1
設置I2C SDA/SCL引腳是在OLED #Define之後在Configgway.h文件中完成的。標準ESP8266使用引腳D1和D2用於I2C總線SCL和SDA線,但用戶可以更改這些線路。通常沒有必要。 OLED功能可在_loramodem.ino文件中找到,並且可以調整以顯示其他字段。當收到消息時調用功能(!),因此電位會增加ESP的不穩定性,因為這些功能可能需要比預期更多的時間。如果是這樣,請關閉OLED函數或在用戶時間(而不是中斷)中顯示的主循環()中構建。
網關允許同時連接到2台服務器(大多數Lora Gateways Do BTW)。您必須連接到至少一個標準的LORA路由器,以防您使用Things Network(TTN),而不是確保設置:
#define _ttnserver“ router.eu.thethings.network”
#define _ttnport 1700
如果您設置自己的服務器,則可以使用自己的路由器URL和您自己的端口指定:
#define _thingserver“ your_server.com” // lora udp.js服務器程序的服務器URL
#define _thingport 1701 //您的UDP服務器應收聽此端口
為您的網關設置身份參數:
#Define _Description“ Esp-Gateway”
#define _email“ [email protected]”
#define _platform“ ESP8266”
#define _lat 52.00
#define _lon 5.00
#define _ alt 0
可以將網關用作節點。這樣,報告了本地/內部傳感器值。這是CPU和內存密集型功能,因為傳感器消息涉及EAS和CMAC功能。
#Define GatewayNode 0
在Ponfignode.h配置文件中以下下面,可以設置網關節點的地址和其他LORA信息。
在WiFi上配置網關的最簡單方法是使用WiFimanager函數。此功能可以從開箱即用。 Wifimanager將將網關置於訪問點模式,以便您可以作為WiFi AccessPoint連接到它。
#define _wifimanager 0
如果啟用了WiFi Manager,請確保如果網關處於訪問點模式和密碼,則確保定義訪問點的名稱。
#define ap_name“ ESP8266-GWAY-THINSES4U”
#define ap_passwd“ ttnautopw”
網關使用的標準訪問點名稱為“ ESP8266 GWAY”,其密碼為“ ttnautopw”。使用手機或計算機綁定到接入點後,請在瀏覽器中訪問htp://192.168.4.1,並告訴網關,您希望它要連接到哪個WiFi網絡,並指定密碼。
然後,網關將重置並綁定到給定的網絡。如果一切順利,您現在已經設置了,ESP8266將記住它必須連接的網絡。注意:只要網關綁定到存在的訪問點,網關將不再使用已知訪問點的WPA列表。如有必要,您可以刪除Web服務器中的當前訪問點,並在電源週期中迫使其再次讀取WPA數組。
#如果GatewayNode == 1
#define _devaddr {0x26,0x01,0x15,0x3d}
#define _appSkey {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
#define _nwkskey {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
#define _sensor_interval 300
#endif
內置網絡服務器可用於顯示狀態和調試信息。此外,網絡服務器允許用戶在運行時更改某些設置,例如調試級別或打開和關閉CAD功能。可以使用以下URL訪問:http://:80在啟動時,路由器給ESP8266的IP在哪裡。可能是192.168.1.xx Web服務器顯示各種配置設置以及為設置參數提供功能。
可以使用網絡服務器設置以下參數。
該軟件取決於多個軟件,ESP8266的Arduino IDE是最重要的。該程序還使用了其他幾個庫,請確保您將這些庫與IDE安裝:
為了方便起見,在庫目錄中的此GitHub存儲庫中也可以找到庫。請注意,它們不是ESP 1渠道網關的一部分,並且可能擁有自己的許可。但是,這些庫不是單渠道網關軟件的一部分。
有關構建和連接說明,請參見http://things4u.github.io。
以下依賴關係對於單個通道網關有效:
以下內容仍在我的願望列表中,要列入單個通道網關:
此存儲庫中網關草圖的源文件可根據MIT許可證提供。此存儲庫中包含的庫僅為方便起見,並且都有自己的許可證,也不是ESP 1CH網關代碼的一部分。