使用VNC软件与花生壳进行内网穿透实现在嵌入式平台中进行广域网下的远程控制

版权声明:本文为博主原创文章,未经博主允许不得转载,转载请加博主qq:1126137994或者微信:liu1126137994 https://blog.csdn.net/qq_37375427/article/details/86323893
  • 在嵌入式平台中如何实现广域网下的远程登录控制?

1 项目需要

  • 在IM.X6q硬件平台,Linux4.1.15内核版本中实现在广域网下进行远程登录控制。
  • 主控机为Windows机器,被控机是IMX6平台的Linux系统
  • 被空机与主控机都必须能够连接互联网

2 解决方案

使用开源软件VNC+花生壳进行内网穿透,连接外网。

  • 如何使用VNC+花生壳进行内网穿透实现广域网下的远程控制?

参看下图:

在这里插入图片描述

  • 具体实现步骤如下:
  1. 首先使被控主机和主控机能够联网。并且将花生壳软件移植到被控机器。
  2. 将开源软件VNC的客户端和服务端分别移植到主控机和被控机中。
  3. 申请花生壳免费域名,并注册一个护照。
  4. 在被控机上,将花生壳的软件登录到花生壳官网服务器。并运行VNC服务端程序。
  5. 在主控端使用VNC客户端或者直接使用浏览器登录之前注册的域名
  6. 通过花生壳官网服务器的中转,主控机将连接到被控机,并通过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 总结

  • 目前先实现在局域网内进行远程控制,后面实现了在广域网下的远程控制后会继续写入博客中

学习交流加左侧联系方式

猜你喜欢

转载自blog.csdn.net/qq_37375427/article/details/86323893
今日推荐