
LoRa傳輸的圖像加密方案
通過LoRa網絡從高比特率設備(例如圖像傳感器)傳輸數據非常慢。由于帶寬限制和LoRa約束為1%占空比(即36s/h),這種信息不適合用該技術傳輸,這意味著每傳輸一小時只能傳輸數據36s。LoRa MAC層通常負責將數據從節點傳輸到網關。然而,由于典型的圖像大小和MAC層中使用的加密,它處理圖像數據的能力有限。因此,為了能夠傳輸圖像數據,LoRa物理層將使用新的加密方法。
使用新方法,圖像由Adafruit TTL相機捕獲,然后以JPEG文件格式保存在SD存儲器中。從那里,它隨后被轉換為十六進制格式的文件。然后,Arduino處理器將十六進制文件拆分為包含84個十六進制字符的數據包,這是可以一次通過LoRa帶寬傳輸的最大文件大小。為了開始串行數據傳輸,LoRa無線電傳輸命令'radio tx'被發送到接收器節點,然后是十六進制數據包。暫停數據傳輸,直到LoRa接收器節點發送確認已成功接收到初始數據包。然后,發送后續分組。

通過LoRa接收圖像
接收器節點中的LoRa無線電適配器偵聽傳輸的信號,并在成功到達時發送確認收據。一旦收到所有十六進制包,它們就會被Arduino處理器收集到一個數據變量中,然后通過串行連接發送,以便在MATLAB中處理,以便從十六進制包中檢索圖像數據。
MATLAB對接收圖像的處理
MATLAB用于幫助控制通過LoRa適配器發送和接收數據的過程,并使用PSNR和MSE分析在通過LoRa網絡傳輸之前和之后的圖像質量。在傳輸之前,MATLAB代碼發送一條提示消息,要求用戶輸入1到6之間的數字以觸發傳輸。這些數字對應于SF的設置,在這種情況下,SF的設置從7到12變化。在此之后,啟動上述數據傳輸過程。突出顯示了用于觸發數據傳輸,檢索接收數據包以及保存和顯示重組圖像的MATLAB代碼。