使用nb模組建立tcp連線傳送資料,受蜂窩網路波動的影響,tcp連線不穩定,時常容易斷開,但是模組存在無法感知連線狀態的情況,導致較長時間的資料中斷(模組沒有上報斷開連線指示,傳送資料沒有報錯,但是資料沒有傳送到伺服器)。以下對nb模組tcp\udp的使用做總結,並針對tcp資料中斷的情況給出了解決方案。
適用於m5310-a、bc28等海思模組。
nb模組會自動註冊平台,使用前最好關閉平台註冊功能。當然不關閉也是可以使用的。
at+mlwm2menable=0 //0-禁止lwm2m 1-使能
at+qregswt=2
at+nsocr="dgram",17,6003,0
返回建立的socket id。
6003表示監聽埠,可設定為0,表示任意埠;
正常傳送
at+nsost=0,121.36.7.137,1990,3,303132
帶rai傳送at+nsostf=0,121.36.7.137,1990,0x200,3,303132
傳送完成後模組馬上進入idle狀態,否則會等到20s的不活動定時器超時後才進入idle。
如:
[16:36:13.873]發→◇at+nsostf=0,121.36.7.137,1990,0x200,3,303132
[16:36:13.936]收←◆
0,3ok
[16:36:14.837]收←◆
+cscon:1
[16:36:15.040]收←◆
+cscon:0 //馬上進入了idle
at+nsorf=0,255
模組會將收到的資料逐條快取在記憶體中,傳送該指令後,模組返回快取在記憶體中的第一條資料;繼續傳送,則繼續返回剩下的資料。
0表示socke id,255表示讀取的訊息長度;
若建立socket時設定接收提醒
模組收到資料時主動上報: +nsonmi:0,2;
若模組中已經快取有資料還未讀取,則收到新的下發資料後,模組並不會上報+nsonmi:0,2指示;
//1.傳送at+nsorf=0,255 返回第一條訊息
at+nsorf=0,255 //傳送
+nsorf:0,121.36.7.137,1990,2,1133,2
ok+nsonmi:0,2 //表示還有2位元組資料可讀
//2.繼續傳送at+nsorf=0,255
at+nsorf=0,255
+nsorf:0,121.36.7.137,1990,2,1133,0
ok//3.繼續傳送at+nsorf=0,255
at+nsorf=0,255
ok//只返回了ok,說明已經沒有資料可讀了
建立socket時設定無接收提醒
模組收到下發資料時無任何指示資訊
//1.傳送at+nsorf=0,255 返回第一條訊息
at+nsorf=0,255 //傳送
+nsorf:0,121.36.7.137,1990,2,1133,2
ok//2.繼續傳送at+nsorf=0,255
at+nsorf=0,255
+nsorf:0,121.36.7.137,1990,2,1133,2
ok//3.繼續傳送at+nsorf=0,255
at+nsorf=0,255
ok //沒有資料可讀,只返回了ok
at+nsocr="stream",6,0,0
同建立udp時一樣,第乙個0表示監聽任意埠,也可指定埠;
最後乙個0設定無接收提醒,1則表示有接收提醒。
建立成功,返回socket id
0
ok
at+nsoco=1,121.36.7.137,22
連線成功後返回:
connect ok
正常傳送,不指定傳送序號at+nsosd=0,4,fefefefe
模組返回:
0,4
ok
0-socket id;4-傳送的資料長度
帶序號傳送
傳送時指定傳送序號,模組會返回資料傳送狀態
+nsostr:,,//status:0表示錯誤,1表示已傳送
傳送格式如下:
at+nsosd=0,4,01020304,0,66
//引數為:socket id,長度,內容,flag(固定值0),序號(可為固定值)
模組返回:
0,4
ok+nsostr:0,66,1 //模組上報傳送狀態
說明:
在上述tcp連線斷開的情況下,需要關閉socket、重新建立、連線才可。
tcp傳送帶rai的方式目前不生效。
同udp時一樣
建立socket時設定無接收提醒
//第一條資料
+nsorf:0,121.36.7.137,22,5,6461666473,5
ok//第二天資料
+nsorf:0,121.36.7.137,22,5,6461666473,0
ok//沒有資料可讀取了,僅返回ok
ok
另外:新版本的海思韌體中加入了nsostatus指令,可以查詢socket的狀態,推測該指令應該也可以解決連線斷開的情況,需要測試驗證(2020-4-5)。 GAN訓練不穩定原因
1 很難使得g和d同時收斂 大多深度模型的訓練都使用優化演算法尋找損失函式比較低的值。優化演算法通常是個可靠的 下山 過程。生成對抗神經網路要求雙方在博弈的過程中達到勢均力敵 均衡 每個模型在更新的過程中 比如生成器 成功的 下山 但同樣的更新可能會造成博弈的另乙個模型 比如判別器 上山 甚至有時候...
著手查出牛頓法不穩定的原因
今天把測試hessian的 加進去了,但是發現hessian並無大的問題。測試例子 一根圓柱向指定方向彎曲。下面對比,在有彎曲方向引數,與無方向引數 該引數被被乘以0 的情況下,各幀迭代的函式值。無方向引數 幀號1 2345 第1次迭代 073777.396480 615269.331763 156...
網路不穩定是什麼原因 液壓站壓力不穩定的原因
液壓站壓力不穩定主要表現在以下三個方面 第 一 沒有壓力 通常的檢查排除法就是,開啟油幫浦與管路連線處,開機看看有沒有油幫浦出,正常的話,電機和幫浦就是好的,排除,否則拆幫浦檢查 接著把溢流閥 單向閥 節流閥等開度調整到中間位置,換向看看,換向閥倆燈不是同時亮的,若沒有只是一閃,換一頭的電磁繼電器,...