使用VNC軟體與花生殼進行內網穿透實現在嵌入式平臺中進行廣域網下的遠端控制
阿新 • • 發佈:2019-01-14
- 在嵌入式平臺中如何實現廣域網下的遠端登入控制?
文章目錄
1 專案需要
- 在IM.X6q硬體平臺,Linux4.1.15核心版本中實現在廣域網下進行遠端登入控制。
- 主控機為Windows機器,被控機是IMX6平臺的Linux系統
- 被空機與主控機都必須能夠連線網際網路
2 解決方案
使用開源軟體VNC+花生殼進行內網穿透,連線外網。
- 內網與外網之間的通訊原理參考文章:五分鐘搞懂內網和外網之間的通訊的原理
- 如何使用VNC+花生殼進行內網穿透實現廣域網下的遠端控制?
參看下圖:
- 具體實現步驟如下:
- 首先使被控主機和主控機能夠聯網。並且將花生殼軟體移植到被控機器。
- 將開源軟體VNC的客戶端和服務端分別移植到主控機和被控機中。
- 申請花生殼免費域名,並註冊一個護照。
- 在被控機上,將花生殼的軟體登入到花生殼官網伺服器。並執行VNC服務端程式。
- 在主控端使用VNC客戶端或者直接使用瀏覽器登入之前註冊的域名
- 通過花生殼官網伺服器的中轉,主控機將連線到被控機,並通過VNC服務端獲取到的資料,通過花生殼伺服器將資料返回給主控機,達到主控機可以控制被控機的功能。
3 首先實現區域網下的VNC遠端控制
在實現廣域網下的遠端控制功能之前,我們這裡先實現區域網下的遠端控制功能。
首先下載X11VNC原始碼:點選下載
然後將原始碼拷貝到Linux系統解壓,並進入到原始碼目錄,然後使用下面的命令進行原始碼編譯:
$ tar -xjvf x11vnc-0.9.13.tar.gz
$ cd x11vnc-0.9.13
$CC=arm-fsl-linux-gnueabi-gcc CFLAGS=-O2 ./configure --host=arm-linux --without-x –
prefix=/home/zsl/work/system/x11vnc-0.9.13/_INSTALL/
$ make
$ make install
生成名為x11vnc的可執行程式。將該可執行程式拷貝到IMX6開發板使用下面命令即可:
./x11vnc -noipv6 -rawfb /dev/fb0 -pipeinput UINPUT:touch,tslib_cal=/etc/pointercal,direct_abs=/dev/input/event2,nouinput,dragskip=4 -clip
1024x768+0+0
最後在Windows主機上下載vnc客戶端,將Widows主機與Linux客戶機用網線進行連線,並置於同一區域網。然後再VNC客戶端中輸入Linux服務端中的IP地址,進行遠端登入即可控制服務端的介面。
4 總結
- 目前先實現在區域網內進行遠端控制,後面實現了在廣域網下的遠端控制後會繼續寫入部落格中
學習交流加左側聯絡方式