基於樹莓派的溫溼度獲取項目總結

目錄

 

項目目的

實現要求

項目實現基本流程圖

 實現過程中遇到問題及其解決方案

代碼地址


  • 項目目的

利用樹莓派採集某一特定環境的溫溼度,並上報服務器。可實現計時上報、定時採樣等功能。具體應用實例:只能溫控系統、車內溫度採樣、還可以利用3G或4G技術實現人煙稀少區域的溫度檢測等。

  • 實現要求

  1. 基於樹莓派的溫度獲取,並且能夠上包服務器;

  2. 如果上報失敗或客戶端與服務器斷線,要求要把本次採樣的數據存儲的數據庫;

  3. 能夠實現定時或計時採樣數據和發送數據;

  4. 支持斷線重連,如果連接將數據庫中保存的數據上報道服務器;

  5. 採樣的數據需轉換爲tlv格式,並且支持CRC校驗;

  6. 支持確認重傳機制;

  7. 支持日誌系統;

  8. 使用Git實現項目託管;

  9. 支持域名解析。

  • 項目實現基本流程圖

 

  •  實現過程中遇到問題及其解決方案

  1.  函數傳參太多,導致程序可讀性下降。解決方法: 使用結構體封裝。
  2. 數據庫使用外鍵來維護數據庫,外鍵的值難以確定。解決方法:使用內鍵來維護。
  3. main含數文件過於繁瑣。 解決方法: 將文件拆分開,爭取一個功能一個函數,一個模塊一個C文件,還有與之一一對應的頭文件。
  4. 實現日誌系統時,傳參數目不定。解決方法:使用可變參數宏來實現參數的傳遞。
  • 代碼地址

https://gitee.com/tjcshx/tlv_client

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章