找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4224|回復(fù): 3
收起左側(cè)

基于GPRS和stm32的TCP透傳至網(wǎng)絡(luò)調(diào)試助手

[復(fù)制鏈接]
ID:345226 發(fā)表于 2018-6-6 14:27 | 顯示全部樓層 |閱讀模式
ATK-SIM900A 模塊內(nèi)嵌了 TCP/IP 協(xié)議,通過該模塊,我們可以很方便的進行 GPRS 數(shù)據(jù)
通信。本文檔例程我們將實現(xiàn)模塊與電腦的 TCP 和 UDP 數(shù)據(jù)傳輸。 將要用到的指令有:
AT+CGCLASS/AT+CGDCONT/ AT+CGATT/AT+CIPCSGP/AT+CIPHEAD /AT+CLPORT/AT+CIPSTART/
AT+CIPSEN/AT+CIPSTATUS/AT+CIPCLOSE/AT+CIPSHUT 等 11 條 AT 指令。
AT+CGCLASS,用于設(shè)置移動臺類別。 SIM900A 模塊僅支持類別"B"和"CC",發(fā)送:
AT+CGCLASS="B",設(shè)置移動臺臺類別為 B。即,模塊支持包交換和電路交換模式,但不能同
時支持。
AT+CGDCONT,用于設(shè)置 PDP 上下文。發(fā)送: AT+CGDCONT=1,"IP","CMNET",設(shè)置 PDP
上下文標(biāo)標(biāo)志為 1,采用互聯(lián)網(wǎng)協(xié)議(IP),接入點為"CMNET"。
AT+CGATT,用于設(shè)置附著和分離 GPRS 業(yè)務(wù)。發(fā)送: AT+CGATT=1,附著 GPRS 業(yè)務(wù)。
AT+CIPCSGP,用于設(shè)置 CSD 或 GPRS 鏈接模式。發(fā)送: AT+CIPCSGP=1, "CMNET",設(shè)置為
GPRS 連接,接入點為”CMNET”。
AT+ CIPHEAD,用于設(shè)置接收數(shù)據(jù)是否顯示 IP 頭。發(fā)送: AT+CIPHEAD=1,即設(shè)置顯示 IP
頭,在收到 TCP/UDP 數(shù)據(jù)的時候,會在數(shù)據(jù)之前添加如: +IPD:28,表示是 TCP/UDP 數(shù)據(jù),
數(shù)據(jù)長度為 28 字節(jié)。通過這個頭,可以方便我們在程序上區(qū)分?jǐn)?shù)據(jù)來源。
AT+CLPORT,用于設(shè)置本地端口號。發(fā)送: AT+CLPORT="TCP","8888",即設(shè)置 TCP 連接
本地端口號為 8888。
AT+CIPSTART,用于建立 TCP 連接或注冊 UDP 端口號。發(fā)送: AT+CIPSTART=
"TCP","113.111.214.69","8086",模塊將建立一個 TCP 連接,連接目標(biāo)地址為: 113.111.214.69,
連接端口為 8086(這個 IP 和端口得根據(jù)實際情況確定),連接成功會返回: CONNECT OK。
AT+CIPSEND,用于發(fā)送數(shù)據(jù)。在連接成功以后發(fā)送: AT+CIPSEND,模塊返回: >,此時
可以輸入要發(fā)送的數(shù)據(jù),最大可以一次發(fā)送 1352 字節(jié),數(shù)據(jù)輸入完后,同發(fā)短信一樣,輸
入十六進制的: 1A(0X1A),啟動發(fā)送數(shù)據(jù)。在數(shù)據(jù)發(fā)送完成后,模塊返回: SEND OK,表
示發(fā)送成功。
AT+CIPSTATUS,用于查詢當(dāng)前連接狀態(tài)。發(fā)送: AT+CIPSTATUS,模塊即返回當(dāng)前連接狀
態(tài)。
AT+CIPCLOSE,用于關(guān)閉 TCP/UDP 連接。發(fā)送:AT+CIPCLOSE=1,即可快速關(guān)閉當(dāng)前 TCP/UDP
連接。
AT+CIPSHUT,用于關(guān)閉移動場景。發(fā)送: AT+SHUT,則可以關(guān)閉移動場景,關(guān)閉場景后
連接狀態(tài)為: IP INITIAL,可以通過發(fā)送: AT+CIPSTATUS,查詢。另外,在連接建立后,如果
收到: +PDP: DEACT,則必須發(fā)送: AT+CIPSHUT,關(guān)閉場景后,才能實現(xiàn)重連。
以上就是 GPRS 通信(TCP/UDP) 將要用到的一些 AT 指令的簡介, 這些指令的使用示例
可以參考《ATK-SIM900A GSM(GPRS)模塊用戶手冊》 2.3.5 節(jié)。
另外, 要實現(xiàn)模塊與電腦的 GPRS 通信,需要確保所用電腦具有公網(wǎng) IP,否則無法實現(xiàn)
通信
,推薦在 ADSL 網(wǎng)絡(luò)下進行測試,并最好關(guān)閉防火墻/殺毒軟件。
對于 ADSL 用戶(沒用路由器),直接擁有 1 個公網(wǎng) IP,你可以通過百度,搜索: IP,第
一個條目,就是本機 IP,
該 IP 將與你的電腦 IP(雙擊本地連接圖標(biāo)支持選項卡,即可查看)是一致的。
對與使用了路由器的 ADSL 用戶,那么電腦 IP 與你百度到的公網(wǎng) IP 是不一樣的,如圖
可以看到,我們電腦 IP 為 192.168.1.107,與公網(wǎng) IP 不一致,此時我們需要對路由器進
行一下轉(zhuǎn)發(fā)規(guī)則設(shè)置:登錄路由器控制頁面,然后選擇轉(zhuǎn)發(fā)規(guī)則DMZ 主機,如圖 1.2.4.3
所示:
然后設(shè)置啟用 DMZ 主機,并設(shè)置 DMZ 主機 IP 地址為所用電腦的 IP 地址,本機 IP 為:
192.168.1.107
然后保存。這樣,我們就把內(nèi)網(wǎng) IP(192.168.1.107)映射到了外網(wǎng),相當(dāng)于經(jīng)過路由器
的電腦,擁有了一個公網(wǎng) IP。
最后,我們在電腦上,還需要用到一個軟件: 網(wǎng)絡(luò)調(diào)試助手,來協(xié)助驗證 GPRS 通信,
該軟件啟動界面
軟件的使用非常簡單,我們將在第四節(jié)配合我們的例程向大家介紹該軟件的使用。



回復(fù)

使用道具 舉報

ID:79874 發(fā)表于 2018-6-22 12:18 | 顯示全部樓層
謝謝分享學(xué)習(xí)
回復(fù)

使用道具 舉報

ID:701882 發(fā)表于 2020-3-4 19:37 | 顯示全部樓層
明天卡到了試試
回復(fù)

使用道具 舉報

ID:90353 發(fā)表于 2020-3-24 22:29 | 顯示全部樓層
thank you very much
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表