基于4G Cat.1的內(nèi)網(wǎng)穿透實(shí)踐
點(diǎn)擊上方「嵌入式大雜燴」,選擇「置頂公眾號(hào)」第一時(shí)間查看嵌入式筆記!
上一篇分享了:《小熊派4G開發(fā)板初體驗(yàn)》,對小熊派4G開發(fā)板進(jìn)行了一個(gè)簡要的介紹及進(jìn)行簡單的實(shí)驗(yàn)體驗(yàn)。
這一篇繼續(xù)BearPi-4G開發(fā)板實(shí)踐:內(nèi)網(wǎng)穿透實(shí)踐。
基本TCP的socket通信測試
之前我們學(xué)習(xí)WiFi模塊時(shí),與PC進(jìn)行TCP協(xié)議的socket通信測試我們只要在我們的PC上通過網(wǎng)絡(luò)助手建立一個(gè)TCP Server就可以進(jìn)行測試,我們的開發(fā)板當(dāng)作客戶端與網(wǎng)絡(luò)助手進(jìn)行通信。
WiFi模組能直接與我們的PC通信(前提是兩者能互ping得通)是因?yàn)樗鼈儍蓚€(gè)在同一個(gè)局域網(wǎng)內(nèi),我們的路由器給我們的WiFi模組與電腦各動(dòng)態(tài)分配一個(gè)內(nèi)網(wǎng)IP。場景大概如下:
而我們這里要使用4G模組與我們的PC進(jìn)行通信,需要進(jìn)行內(nèi)網(wǎng)穿透
。因?yàn)?G模組用的是公網(wǎng)/外網(wǎng)IP地址,而我們的PC用得是一個(gè)內(nèi)網(wǎng)IP地址。
所以需要借助一臺(tái)具有公網(wǎng)IP的服務(wù)器進(jìn)行中轉(zhuǎn)。場景大概如下:
可見,我們的4G模組要與我們的PC機(jī)進(jìn)行一個(gè)TCP的socket通信測試的話,必須要進(jìn)行一個(gè)內(nèi)網(wǎng)穿透
。進(jìn)行內(nèi)網(wǎng)穿透可借用一些內(nèi)網(wǎng)穿透的產(chǎn)品及工具。網(wǎng)絡(luò)上大家常用的有:
-
ngrok
http://www.ngrok.cc/
-
花生殼
https://www.oray.com/
-
NATAPP
https://natapp.cn/
我們這里使用ngrok來進(jìn)行內(nèi)網(wǎng)穿透實(shí)驗(yàn)。具體步驟可閱讀《BearPi-4G實(shí)戰(zhàn)開發(fā)指南_V1.0.pdf》。
1、開通隧道
2、配置隧道
查看本地IP的方法:
3、查看隧道
查看隧道,記錄隧道ID、贈(zèng)送域名及端口等信息。
4、下載Ngrok客戶端并啟動(dòng)
上面是搭建一個(gè)內(nèi)網(wǎng)穿透的條件。搭建好了內(nèi)網(wǎng)穿透環(huán)境之后,我們就可以進(jìn)行一個(gè)socket通信測試實(shí)驗(yàn)了。
4G模組sdk開發(fā)包已經(jīng)有給我們準(zhǔn)備了一個(gè)tcp_client的demo,我們直接使用這個(gè)demo進(jìn)行測試。
相關(guān)代碼在路徑:ql-sdk\ql-application\threadx\interface\network\sockets\example
下的example_sockets_tcp_client.c
:
我們需要打開最后一行的注釋,啟動(dòng)相關(guān)tcp_client測試任務(wù)。
同時(shí),需要修改ql-sdk\ql-application\threadx
下的Makefile文件,添加example_sockets_tcp_client.c
所在的路徑:
最后,編譯、生成固件、下載驗(yàn)證:
最后
以上就是本次的實(shí)踐分享,感謝閱讀與支持。如有錯(cuò)誤,歡迎指出。謝謝!
若覺得文章不錯(cuò),轉(zhuǎn)發(fā)分享、在看,也是我們繼續(xù)更新的動(dòng)力。
在公眾號(hào)內(nèi)回復(fù)更多資源,可免費(fèi)獲取嵌入式資料。期待你的關(guān)注~
猜你喜歡
C語言、嵌入式應(yīng)用:TCP通信實(shí)例分析
一些不可不知的計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)
AT指令測試ESP8266通信模組并獲取天氣數(shù)據(jù)
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請聯(lián)系我們,謝謝!