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

上一篇分享了:小熊派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所在的路徑:

最後,編譯、生成固件、下載驗證:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章