可延長傳送距離之 LoRa 中繼轉傳機制
3.1 裝置名詞定義與運作模式
3.1.4 應用伺服器(Application Server)
應用伺服器目的在於儲存ED 所傳送過來的訊息,我們將以資料庫儲存。應用伺服 器架設在電腦或是開發板(例如:Raspberry Pi),應用伺服器要能夠與 GW 所設定的網路 伺服器連線,並且訂閱 GW 的主題。在我們提出的機制下,RN 訊息轉送時,ED 的位 置可能是在GW 與 RN 訊號涵蓋範圍,這樣會造成 GW 收到直接來自 ED 和由 RN 轉送 的重複訊息,因此應用伺服器必須過濾 GW 所接收到的訊息,以確保同一筆訊息不會 在資料庫中重複,並且當多個 ED 傳送時,能夠存入相對應的資料表中,因為每個 ED 所要記錄的資料個數與型態可能不一樣,譬如:有些ED 上可能是收集溫度,有些可能 GPS 經緯度與濕度。在本篇論文中,以圖 3.9 表示,並以 AS 簡稱。
圖3.9 應用伺服器
應用伺服器的運作模式是接收到由網路伺服器傳送過來的訊息後,將依這筆訊息的 檢查碼以及位址(Mac address)做過濾。過濾的原因是當 RN 在做訊息轉送時,ED 的位 置是在 GW 與 RN 訊號涵蓋範圍,這樣會造成 GW 收到重複訊息,而應用伺服器要過 濾重複訊息,在資料庫中只需留下一筆訊息,應用伺服器的程式流程圖如圖3.10 所示。
AS
20
21
應用伺服器程式運作方式如下:首先,針對每個ED,有一個專屬於它的資料結構,
裡面有2 個欄位:ma 和 sn,分別是用來紀錄從該 ED 所接收的上筆訊息的裝置位址(Mac address)以及檢查碼。檢查碼是由 2 個各為 4 位元的 16 進制數字所組成的,檢查碼從 00 開始,每次ED 傳送訊息時都會加 1。檢查碼的範圍為 00 到 FF,總共可使用 256 個數 值。每當應用伺服器收到訊息時,先判斷所有ED 資料結構的 ma 欄位內容,是否與此 訊息的Mac address 相同。如果沒有,則代表傳送此訊息的 ED 是第一次傳送訊息,需 將此訊息的Mac address 以及檢查碼,存入空的資料結構中所對應的欄位,作為下次收 到訊息時判斷是否可存入資料庫的依據,再將此訊息存入資料庫中。
若該筆訊息的 Mac address 與某個 ma 欄位的內容相同,代表傳送此訊息的 ED 有 傳送過訊息給應用伺服器。所以我們需要檢查與此資料結構中的 sn 欄位的內容,是否 與此筆訊息中的檢查碼相同。若是不同,則代表此訊息為新訊息,需將此ED 的資料結 構中的欄位更新,再將此訊息存入資料庫中。如果有多個感測資料,可以以辨別碼分離 出個別資料,再存入資料表的不同欄位中。
最後,若是該筆訊息的裝置位址(Mac address),與某個 ma 欄位內容相同,且該筆 訊息的檢查碼也與相對應sn 欄位中的內容相同,則代表此筆訊息是 GW 接收到重複多 餘的訊息,可能是RN 轉送時所造成的重複訊息,所以不需將此筆訊息存入資料庫。
22