對于這種方案的應用場景,一般是應用在集成商上面,比如戶外環境,燃氣管道監控等,需要上傳一些數據和圖片到指定的服務器,這個時候,一款低功耗的圖片數據抓拍機就是很迫切的需求了。
對比了很多4G模塊,想流暢地把數據和圖片上傳到服務器,帶寬,速率這些都要考慮在里面,目前很多廠商用的方案是CAT1,但是我們在實踐發現,CAT1還是滿足不了圖片和數據的快速上傳,而且還要考慮到功耗問題,所以選了合方圓的低功耗4G模塊G8100B為主控,這款可以直接支持USB接口,高速率接口,能快速上傳圖片和數據。能做到實時的視頻傳輸。
具體的實現方案如圖:
應用場景-4G低功耗攝像頭
該方案中,Module為G8100B,HOST為海思攝像頭(Linux or LiteOS),G8100B的USB可以在Host端虛擬出串口和
網卡,G8100B符合以下條件進入休眠:
1) 用戶AT+CSCLK=1命令使能睡眠功能,關于CSCLK更多參數和作用請參考用戶手冊
(可以配置喚醒時長,是否保存睡眠參數);
2)拉高DTR管腳(該管腳默認啟動為拉高);
3)通過GPIO拉低連接的模塊VBUS管腳(USB斷電)。
發生以下事件時會喚醒整個系統:
1)拉高VBUS管腳即可喚醒模塊。
2)主機拉低DTR可以喚醒模塊,大概需要100毫秒以上喚醒模塊;
3)當G8100模塊有TCP喚醒包或URC需要上報時,RI信號將會喚醒主機,此時RI產生100毫秒脈沖(可以用
AT+RIMODE指令配置RI工作模式為“喚醒一直拉高”)
怎么上傳圖片和數據到服務器?
通信方式及異常處理
1. 長連接使用 TCP 協議實現,啟動指令:AT+CIPSTART="CAM","host or ip", port,2,保存指
令:
AT+CIPCFG=1,180,0,0,0,600
AT+CIPSCONT=0,"CAM","host or ip", port,2
2. 設備與服務器建立長連接并一直保持連接,間隔 1 - 5 分鐘發送一次心跳包,服務端收到
心跳包返回心跳響應數據。
3. 服務器下發命令,設備根據下發命令進行相應操作后返回數據
4、數據以“C28C0DB26D39331A“作為起始標志 15B86F2D013B2618 作為結束標志
例:
C28C0DB26D39331A{"msg_type":4,"command":"image","timestamp":1585884815415}15B8
6F2D013B2618
協議內容
用戶在多臺公網服務器上運行支持 TCP 長連接的服務器程序,等待 4GCAM100 設備連接到
服務器監聽端口,4GCAMx00 可以配置為 1 - 5 分鐘一個心跳包的發送間隔,4GCAM100 每
次發送給服務器上行請求,服務器都應該響應,相反,服務器發送到設備的下行指令,設備2
也需要做出應答響應。本協議主要實現以下功能:
? 定時上報設備運行信息到服務器;
? 通過服務器下發抓拍在長鏈接直接返回圖像數據;
? 通過服務器下發抓拍在 HTTP POST 方式發送到指定 URL;
? 遠程升級 4GCAMx00 的 APP 固件;
下面為通訊協議具體細節定義格式:
1.設備定時心跳請求(上行)
數據請求方向:設備 ---? 服務器
請參數名稱
參數類型
是否必須
描述
err
int
是
錯誤號
msg_type
Int
是
1:心跳數據
firmware_version
String
是
固件版本
device_id
String
是
設備 ID
timestamp
Int
是
時間戳
battery
Float
是
電池電壓
signal
String
是
4G 信號強度,范圍:-30 到
-110,-30 為最強。
temp_env
int
是
環境溫度
temp_cpu
int
是
CPU 溫度
icharge
float
否
充電電流(帶充電模塊支持)
iload
float
否
負載電流(帶充電模塊支持)
vcharge
float
否
充電電壓(帶充電模塊支持)
2.服務器心跳響應(下行)
數據請求方向:服務器 ---? 設備
參數名稱
參數類型
是否必須
描述
msg_type
Int
是
2:心跳響應數據
timestamp
Int
是
時間戳
審核編輯 黃宇
-
4G
+關注
關注
15文章
5507瀏覽量
118799 -
服務器
+關注
關注
12文章
9021瀏覽量
85183 -
低功耗
+關注
關注
10文章
2362瀏覽量
103594
發布評論請先 登錄
相關推薦
評論