LoRa傳輸?shù)膱D像加密方案
通過LoRa網絡從高比特率設備(例如圖像傳感器)傳輸數(shù)據(jù)非常慢。由于帶寬限制和LoRa約束為1%占空比(即36s/h),這種信息不適合用該技術傳輸,這意味著每傳輸一小時只能傳輸數(shù)據(jù)36s。LoRa MAC層通常負責將數(shù)據(jù)從節(jié)點傳輸?shù)骄W關。然而,由于典型的圖像大小和MAC層中使用的加密,它處理圖像數(shù)據(jù)的能力有限。因此,為了能夠傳輸圖像數(shù)據(jù),LoRa物理層將使用新的加密方法。
使用新方法,圖像由Adafruit TTL相機捕獲,然后以JPEG文件格式保存在SD存儲器中。從那里,它隨后被轉換為十六進制格式的文件。然后,Arduino處理器將十六進制文件拆分為包含84個十六進制字符的數(shù)據(jù)包,這是可以一次通過LoRa帶寬傳輸?shù)淖畲笪募笮?。為了開始串行數(shù)據(jù)傳輸,LoRa無線電傳輸命令'radio tx'被發(fā)送到接收器節(jié)點,然后是十六進制數(shù)據(jù)包。暫停數(shù)據(jù)傳輸,直到LoRa接收器節(jié)點發(fā)送確認已成功接收到初始數(shù)據(jù)包。然后,發(fā)送后續(xù)分組。
通過LoRa接收圖像
接收器節(jié)點中的LoRa無線電適配器偵聽傳輸?shù)男盘?,并在成功到達時發(fā)送確認收據(jù)。一旦收到所有十六進制包,它們就會被Arduino處理器收集到一個數(shù)據(jù)變量中,然后通過串行連接發(fā)送,以便在MATLAB中處理,以便從十六進制包中檢索圖像數(shù)據(jù)。
MATLAB對接收圖像的處理
MATLAB用于幫助控制通過LoRa適配器發(fā)送和接收數(shù)據(jù)的過程,并使用PSNR和MSE分析在通過LoRa網絡傳輸之前和之后的圖像質量。在傳輸之前,MATLAB代碼發(fā)送一條提示消息,要求用戶輸入1到6之間的數(shù)字以觸發(fā)傳輸。這些數(shù)字對應于SF的設置,在這種情況下,SF的設置從7到12變化。在此之后,啟動上述數(shù)據(jù)傳輸過程。突出顯示了用于觸發(fā)數(shù)據(jù)傳輸,檢索接收數(shù)據(jù)包以及保存和顯示重組圖像的MATLAB代碼。