【树莓派】远程登录方法

My Raspberry Pi

Author: @kkl


开始

环境

  • 硬件:raspberry Pi 4B
  • 镜像版本:2022-09-22-raspios-bullseye-arm64.img

镜像烧录

  • 这步就是平常的烧录过程,推荐使用官方的烧录工具,这样前期可以排很多坑(这些坑后面我们会逐一提到)

登录

  • 初次登录的时,这个地方有个大坑!

最新版的树莓派系统(2022年4月以及以后发布的),没有了初始化的用户名和密码,以前用户名是pi,密码是raspberry,但是这次需要进系统之后才能设置。

意思就是,你如果初次登录,如果没有用图形化界面,无法创建你的个人用户,你也无法像以前一样直接使用默认账号密码进行登录。

解决方法

  • 使用官方的烧录工具,烧录的时候会让你配置初始账号密码。
  • 外接屏幕、键鼠,使用图形化界面开机配置。
  • 我们重点来了解一下第三种方法,使用串口无屏幕的登录
  1. 往烧录好镜像的SD卡根目录下新建一个文件userconf.txt
  2. 文件内写入pi:$6$/4.VdYgDm7RJ0qM1$FwXCeQgDKkqrOU3RIRuDSKpauAbBvP11msq9X58c8Que2l1Dwq3vdJMgiZlQSbEXGaY5esVHGBNbCxKLVNqZW1

    这一段意思就是告诉系统,新建一个用户
    用户名:pi
    密码:raspberry

  3. 最后把SD卡插回到树莓派上,重新上电,就可以用这个用户密码登录啦!

串口登录

  • 串口登录我们需要准备一个USB-TTL Link!

  • 排针连接图(此时TypeC口朝向我们时,即USB-A口朝向右手边时):

    / * * G T R * * * * * * * * * * * * * * /
    / * * * * * * * * * * * * * * * * * * * /
    G->GND / T->TXD / R->RXD

  • 接着检查烧录好镜像的SD卡根目录下的cmdline.txt

    如果没有console=serial0,115200就自己在最前面加上去,用一个空格隔开和其他的指令就行

  • 接着修改烧录好镜像的SD卡根目录下的config.txt

    在该文件的最后一行加上dtoverlay=pi3-miniuart-bt

  • 这时连接串口就会打印login页面信息啦,记得串口连接选择波特率为115200,无流控模式噢!

  • 如果没有任何东西显示出来,回去逐一检查,检查硬件是不是插错啦,要Link的Tx对Pi的Rx,Link的Rx对Pi的Tx

SSH登录

树莓派初次配置SSH登录其实也挺麻烦的,下面演示一下配置步骤。

  • 在烧录好镜像的SD卡根目录下新建文件ssh,空文件就行,命名好以后不用去动它

  • 同样的在根目录下再新建一个空文件wpa_supplicant.conf

  • 使用编译器打开,我这里使用Vscode

  • 打开以后输入以下配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1

    network={
    ssid="EMMA"
    psk="12345678"
    priority=1
    }

    network={
    ssid="HUGO"
    psk="12345678"
    priority=2
    }

    解释一下:
    ssid是将要连接的wifi的名字,不能有中文!
    psk是将要连接的wifi的密码
    priority是连接的优先级,优先级数字大的wifi优先连接
    你可以按照格式来记录多个wifi,注意优先级不要都相同。

  • 上述步骤完成以后,把SD卡插回树莓派中运行,sshwpa_supplicant.conf文件都会自动被写入系统,写入成功后再次用电脑打开SD卡这两个文件会消失不见。如果你要添加或者修改wifi,你需要把wpa_supplicant.conf文件重新写一遍,重复上述操作,新的文件会自动覆盖旧的;ssh不用重新创建,之前创建过了就可以了。

  • 重新给树莓派上电进入系统以后,你可能会发现以下问题警告Wi-Fi is currently blocked by rfkill. Use raspi-config to set the country before use.

  • 这是我们没有设置无线局域网所在国家,于是我们输入指令sudo raspi-config nonint do_wifi_country CN,顺利的话再输入指令ifconfig会查看到wlan0已经被分配了ip地址!

  • 如果平时在同一局域网下我们不知道树莓派ip地址是多少,我们可以在Windowswin+R输入cmd打开命令行,输入指令ping raspberrypi -4,可以查询同一局域网当中的树莓派的ip地址。

  • 拿到ip地址就可以愉快的远程访问啦!

1
2
login as: pi
password: raspberry

VNC远程桌面登录

  • 问题1:VNC Viewer显示Cannot currently show the desktop

问题分析

出现这个无法显示远程桌面的问题,其实是树莓派配置分辨率的关系,树莓派默认使用了最小分辨率,然后VNC不支持这么小的,咱改一下就行。

解决方法

  • sudo raspi-config打开设置界面
  • 按方向键向下选择到Display Options
  • 接着继续选择VNC Resolution
  • 接着选择除了640x480以外的分辨率
  • 然后回车确定,方向键左右选择finish退出,然后确认reboot重启,选择yes
  • 最后等待重启就行啦!

网络配置

请参照登录章节当中的SSH登录


【树莓派】远程登录方法
https://zhangkeliang0627.github.io/2023/12/28/MyRaspberryPiLearningGuide/树莓派的远程登录方法/树莓派的远程登录方法/
Author
Zhang-keliang
Posted on
December 28, 2023
Licensed under