基於4G Cat.1的內網穿透例項分享

zhengnianli發表於2020-07-04

上一篇分享了:小熊派4G開發板初體驗

這一篇繼續BearPi-4G開發板實踐:內網穿透實驗

基本TCP的socket通訊測試

之前我們學習WiFi模組時,與PC進行TCP協議的socket通訊測試我們只要在我們的PC上通過網路助手建立一個TCP Server就可以進行測試,我們的開發板當作客戶端與網路助手進行通訊。WiFi模組能直接與我們的PC通訊(前提是兩者能互ping得通)是因為它們兩個在同一個區域網內,我們的路由器給我們的WiFi模組與電腦各動態分配一個內網IP。場景大概如下:

而我們這裡要使用4G模組與我們的PC進行通訊,需要進行內網穿透。因為4G模組用的是公網/外網IP地址,而我們的PC用得是一個內網IP地址。所以需要藉助一臺具有公網IP的伺服器進行中轉。場景大概如下:

可見,我們的4G模組要與我們的PC機進行一個TCP的socket通訊測試的話,必須要進行一個內網穿透。進行內網穿透可借用一些內網穿透的產品及工具。網路上大家常用的有:

  • ngrok

http://www.ngrok.cc/

  • 花生殼

https://www.oray.com/

  • NATAPP

https://natapp.cn/

我們這裡使用ngrok來進行內網穿透實驗。具體步驟可閱讀《BearPi-4G實戰開發指南_V1.0》。

1、開通隧道

2、配置隧道

檢視本地IP的方法:

3、檢視隧道

檢視隧道,記錄隧道ID、贈送域名及埠等資訊。

4、下載Ngrok客戶端並啟動


上面是搭建一個內網穿透的條件。搭建好了內網穿透環境之後,我們就可以進行一個socket通訊測試實驗了。4G模組sdk開發包已經有給我們準備了一個tcp_client的demo,我們直接使用這個demo進行測試。相關程式碼在路徑:ql-sdk\ql-application\threadx\interface\network\sockets\example下的example_sockets_tcp_client.c

我們需要開啟最後一行的註釋,啟動相關tcp_client測試任務。

同時,需要修改ql-sdk\ql-application\threadx下的Makefile檔案,新增example_sockets_tcp_client.c所在的路徑:

最後,編譯、生成韌體、下載驗證:

以上就是本次的實踐分享。如有錯誤,歡迎指出。謝謝

相關文章