(远程控制树莓派在文底)
套接字
客户端:套接字对象
服务端:套接字对象、服务器对象
服务端消息收发过程为监听一个端口,所以租赁的公网服务器要加一个站规则:例:自定义端口6060
服务端一次只能接受一个套接字连接,当服务端收到来自客户端A的消息,如果需要转发到客户端B,需要存客户端B的套接字缓存,并断开与客户端A的连接。例:多客户端与服务端连接,最好给客户端设置一个id标志,方便遍历查找
客户端连接:先查看服务器里的公网与私网ip(其中有细腻),在客户端里连接正确的公网ip和《没有被占用》的端口号(比如ssh占用了6000的端口号,你就不能使用端口6000了!)
在服务器启动服务端 ,软件打包,自启动
组协议:自定义协议,收发时转为字节数据包(如Qt::QByteArray)
解协议:解析字节数据包
推荐软件:MobaXterm
为什么推荐?:配置云服务器时,加上XServer(X11),具体叫什么名字我不清楚了,可以远程查看界面(例:在我ssh连接服务器后,输入qtcreator,可以弹出qtceator界面,而且不卡!)
推荐软件:Putty
也是一款远程连接软件
推荐软件:VNC
桌面远程控制软件,我所推荐的以上三款软件均是为了达到远程控制桌面的目的
初始化树莓派:
推荐软件:SD Card Formatter
推荐软件:SDFormatter
以上两款是烧写sd卡的前提工作,格式化sd卡
推荐软件:Win32DiskImager
推荐软件:balenaEtcher
推荐软件:树莓派官方烧写工具镜像者,官方下载,小白安全可靠稳定
以上三款是烧写系统的软件,前两款需要准备镜像,可以在官方下载,也可以去清华网下载
我弄个 树莓派 玩,若是局域网,可以直接在你的电脑上ping raspberrypi.local,可以ping到树莓派的地址(前提是你初始化了树莓派),然后ssh就可以控制了
但是跨局域网才是更舒服的选择,如果有这个方面的需求,你可以去github下载frp开源库,下载frp目录下已经releases好的,保持版本一致的情况下,先查看你的系统架构来选择下载frp
如何配置frp?:建议在网上搜如何配置frp
在你的云服务器上:配置frp_s(默认配置端口:7000)
在你的客户端电脑上(树莓派):配置frp_c(默认配置端口:6000,手动配置公网ip(你的云服务器的公网ip))
云服务器和树莓派都是linux,所以启用 frp.service 服务的方法都是一样的
命令:nohup一下,以后可以方便查看启动结果(每当树莓派启动后,会自动连接云服务器)
远程连接树莓派:ssh -p 6000 pi@xxx.xxx.xxx.xxx(6000是你选择配置的端口号,并在云服务器设置开放此自定义端口,pi 是你树莓派的名字(hostname),ip是公网ip)
回车即可