本文簡要介紹一下基於bc-95 b8的nb模組的udp聯網流程。本文通過串列埠對模組進行at指令的傳輸與控制。
1.串列埠的設定:
波特率為:9600;停止位:1位;奇偶校驗位:無;資料位:8位;流控:不進行流控
2、at指令的傳送流程
(1)先傳送at:先將指令「at\r\n」傳送給nb模組,待接收到「ok」,表示與模組同步成功;
(2)傳送指令(at+cgmr\r\n),可接收到模組內部的軟體版本號以及」ok「字元,用於確認模組的軟體版本是否符合所需求;
(3)傳送指令(at+nband?\r\n),用於確認模組的bands;
(4)傳送指令(at+cimi\r\n),便可獲得與模組上sim卡相關的imsi號碼,可用於確認sim卡情況;
(5)傳送指令(at+cfun?\r\n),用於詢問模組是否已開啟rf電路來進行無線資料傳輸,如果返回(+cfun:0),
則傳送指令(」at+cfun=1\r\n「)啟動模組的rf功能,再傳送一次指令(at+cfun?\r\n)。直到傳送指令(at+cfun?\r\n)後返回的是(+cfun:1)
(6)傳送指令(at+csq\r\n),用於確認當前的訊號強度;
(7)傳送指令(at+cgdcont=1,"ip","cmcc"\r\n),用於指定對應的apn(此處以移動的為例)
(8)傳送指令(at+cgatt?\r\n),用於詢問模組是否連上對應的運營商網路,如果返回(+cgatt:0),
則傳送指令(at+cgatt=1\r\n)用於啟動模組聯網功能,然後再傳送指令(at+cgatt?\r\n)詢問系統是否已啟動聯網功能(可每隔2s左右查詢多次,直到返回(+cgatt:1),一般重複20次左右)。
(9)傳送指令(at+cgpaddr\r\n),用於查詢模組被分配的ip,用於確認模組已連上運營商網路;
(10)成功連上運營商網路後,便可傳送指令(at+nsocr=dgram,17,」模組埠號「,1\r\n)來建立socket,等返回開啟的socket編號,這裡假設開啟的是0socket;
(11)傳送指令(at+nsost=0,」伺服器ip「,」伺服器端口號「,」要傳送的資料長度「,」要傳送的資料「\r\n)來進行資料的傳送;
(12)當模組接收到遠端的訊號後,模組會自動往串列埠輸出字串(」+nsonmi:0,」接收到的資料長度「);//0為接收資訊的socket
(13)根據先前接收到的字串,使用指令(at+nsorf=0,"接收的資料長度"\r\n)來接收資料;
(14)如果不使用網路功能,則可以選擇通過指令(at+nsocl=0\r\n)關閉socket。
以上便是nb聯網傳輸資料的大致流程。
儲存過程簡介
儲存過程是sql語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個單元處理。一 使用儲存過程的優勢 1 模組化程式設計 只需建立過程一次並將其儲存在資料庫中,以後即可在程式中呼叫該過程任意次。2 執行效率的優化 大批量資料操作或重複執行時,儲存過程的優勢將得到很好的體現。只需在首次執行時對其...
編譯過程簡介
被隱藏的過程 預編譯 處理所有的注釋,以空格代替 將所有的 define刪除刪除 並且展開所有的巨集定義 處理條件編譯指令 if,ifdef,elif,else,endif 處理 include 展開被包含的檔案 保留編譯器需要使用的 pragma指令指令 預處理指令 編譯 對預處理檔案進行一系列詞...
編譯過程簡介
程式編譯和連線的過程如下所示 編譯器的工作包括 預編譯 編譯 彙編 預編譯 處理所有的注釋,以空格代替 將所有的 define刪除,並且展開所有的巨集定義 處理條件編譯指令 if,ifdef,elif,else,endif 處理 include,展開被包含的檔案 保留編譯器需要使用的 pragma指...