查看: 1208|回复: 1

[原创] 电路城树莓派试用活动第二周:开发环境的搭建(二)

[复制链接]
  • TA的每日心情
    开心
    2019-10-29 13:29
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2019-7-28 22:43:24 | 显示全部楼层 |阅读模式
    分享到:
    电路城树莓派试用活动第二周:开发环境的搭建(二)  


    树莓派3B+开发板在Windows系统下进行开发的环境搭建(二)

    这里第二部分主要分享一下树莓派操作系统Raspbian的安装调试和在此过程中所遇到问题的解决处理办法。
    这段时间的调试经历让我对树莓派操作系统的安装有了一定的体会,现在大部分的资料介绍的树莓派操作系统一般安装步骤如下:
    1、软、硬件材料的准备(第一部分已讲过)
    2、树莓派操作系统存储介质TF卡的烧录准备(第一部分也涉及讲过)
    (1)将sd卡插入读卡器,连接在win系统的电脑上
    (2)打开SD卡格式化工具,选择内存卡,点击格式化完成操作
    (3)打开系统烧录工具,选择解压完成准备安装的树莓派操作系统镜像文件,点击Write,完成烧录写入(写入过程时间较长,请耐心等待)。
    (4)写入完成后,将sd卡取出,插入到树莓派背面的卡槽中,就完成了系统的安装准备工作,等待树莓派板卡上电开机后将继续完成后续的系统安装。
    3、硬件连接:将3A电源、USB电源线、HDMI连接线、电脑显示屏、键盘及鼠标与树莓派3B连接,标准连接示意图如下:(鉴于以后的应用场合没有显示器,主要是要替代原来单片机的应用场景的,故我的实际安装就未接入HDMI显示器及键鼠等外设,完全模拟实际应用环境,进行的是远程安装,近乎是盲安了,这在后面会讲到)
        clip_image001.jpg
    4、上电等待操作系统安装
    (1)将树莓派USB电源线连接电源,给树莓派上电,首次连接,系统会自动安装。
        clip_image003.png
    (2)点击next,开始系统安装设置
    clip_image005.png
    (3)选择:Country:china;Language:Chinese;Timezone:shanghai。选择完成,点击Next进入下一步
    clip_image007.png
    (4)设置开机密码
    clip_image009.png
    (5)wifi设置,可以直接跳过。不然系统会联网更新,安装很慢。
    clip_image011.png
    clip_image013.png
    (6)安装完成,点击reboot,完成设置更新。
                   clip_image014.gif
    (7)连接WIFI,点击右上角WIFI图标,进行wifi设置
    clip_image017.png
    选择相应wifi信号,点击连接
    clip_image019.png

    以上是标准的树莓派板接显示器的交互式系统安装方法,下面讲解一下我使用命令行方式进行远程系统安装的方法(ssh和Vnc的连接):
    我的硬件连接只接了一根电源线和一根网线(要求和调试计算机在同一个无线路由器下,后面树莓派的无线WiFi部分调通后就可以去掉这跟网线了),之前TF卡内树莓派操作系统镜像烧录完成后,已将TF卡装入到了树莓派3B+开发板的sd卡槽中,最后检查一下有无短路等安全隐患后就可以开机了。
    开机后,先观察树莓派开发板上的状态指示灯,除了电源指示的红灯常亮外,还有一个绿灯也间歇式的闪亮,说明工作基本正常,这时候就可以进行上电后的初次ssh连接调试了。
    这次使用的远程连接方式是SSH和VNC,首先要通过SSH来调试树莓派(电脑上需使用相关的调试工具,比如SecureCRT、PUTTY、xshell等,这在第一部分的软件工具准备里面有讲过。SSH访问可以借助Linux系统特有的一种服务SSH来完成;VNC访问是linux下面常用的远程桌面,用它可以在windows或者unix主机上方便的通过网络操作远程主机而不需要一个额外的显示器,非常实用),目的是对无线WiFi、VNC功能等进行使能。
    一、使用SecureCRT工具软件来连接树莓派开发板。
    (1)判断和查明树莓派开发板上网卡得到的IP地址:这可以直接在路由器里面的DHCP地址列表里面查看,我觉得这是最直截了当的方法,当初就是在这里走了很多弯路,按照资料介绍的用ARP –a命令和IP地址扫描工具查找了半天都没找见(可能和我使用的时机以及电脑上装的安全策略等设置有关,这说明这两种在本地查找使用的工具受限太多),摸索很长时间后发现,在处于第三方的路由器上查看最为方便,如下:
        clip_image022.jpg clip_image021.gif
    在这张DHCP地址分配表里面的第3条就是树莓派的IP地址:192.168.16.4,其中的客户端名称raspberrypi是树莓派开发板默认的计算机名称,我们查找的目标就是它。
    (2)由于树莓派系统默认没有开启SSH连接,所以在进行SSH连接前要做下面一步工作:将TF卡从树莓派取出连接到电脑上并打开,在根目录直接新建一个文件名为“SSH”的空文件,不带后缀,完成后再插到树莓派上重启即可开启SSH。之后即可使用SSH连接软件进行连接,IP是192.168.16.4,配置如下:
    clip_image024.png
    默认用户名:pi,密码:raspberry。确认连接后进入:
    clip_image026.png
    到这里说明树莓派已经成功启动并且运行了。这时可以用“ifconfig”看一下树莓派的网络配置,如下:
    pi@raspberrypi:~$ifconfig
    eth0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.16.4  netmask 255.255.255.0  broadcast 192.168.16.255
            inet6 fe80::b5b3:699:ced6:21b5  prefixlen 64 scopeid 0x20<link>
            ether b8:27:eb:18:2c:95  txqueuelen 1000  (Ethernet)
            RX packets 8122  bytes 707012 (690.4 KiB)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 7405  bytes 625059 (610.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    lo:flags=73<UP,LOOPBACK,RUNNING>  mtu65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128 scopeid 0x10<host>
            loop txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    wlan0:flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
            ether b8:27:eb:4d:79:c0  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
    这里eth0是有线网卡,wlan0是无线网卡,可以看到无线网卡上现在还没有接通。成功连接后,可以继续来配置WIfi,目的是使用无线直接连接SSH,更加方便!
      (3)首先要设置网络相关的文件配置,在SSH连接的树莓派开发板中,pi命令行状态下,分别执行以下2个命令:
    第一步先对wlan0端口进行定义,通过使用nano软件编辑修改树莓派开发板的网络接口文件“/etc/network/interfaces”的配置,指定端口采用动态获取DHCP的方式得到IP地址、无线连接的参数在文件“/etc/wpa_supplicant/wpa_supplicant.conf”中等,具体的命令是:sudo nano /etc/network/interfaces,执行后的操作如下:
    pi@raspberrypi:
    pi@raspberrypi:~$ sudo nano/etc/network/interfaces
      GNUnano 3.2                                /etc/network/interfaces                                            

    # interfaces(5) file used by ifup(8) andifdown(8)
    # Please note that this file is written to beused with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and'man dhcpcd.conf'
    # Include files from/etc/network/interfaces.d:

    source-directory /etc/network/interfaces.d
    auto wlan0
    inface wlan0 inet dhcp
    wpa_conf/etc/wpa_supplicant/wpa_supplicant.conf

    其中auto wlan0表示自动设置无线网络,增加这句后每次系统启动会自动连接网络,刚开始没有写,每次上电开机都要手动打开wifi网络,十分恼火,找了好久才查到这里的问题。
    第二步再对wlan0端口连接的对象等具体参数进行配置,通过使用nano软件编辑修改无线连接的参数文件“/etc/wpa_supplicant/wpa_supplicant.conf”来进行,具体的命令是:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf,执行后的操作如下:

    pi@raspberrypi:~$ sudo nano/etc/wpa_supplicant/wpa_supplicant.conf
    GNU nano 3.2       /etc/wpa_supplicant/wpa_supplicant.conf                                    

    ctrl_interface=DIR=/var/run/wpa_supplicantGROUP=netdev
    update_config=1
    country=CN

    network={
    ssid="xxxxxx1"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
    priority=1
    }

    network={
    ssid="xxxxxx2"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
    priority=2
    }

    network={
    ssid="xxxxxx3"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
    priority=3
    }
    pi@raspberrypi:~$

    注意:以上的配置文件内的一些代码千万不能写错,否则wlan0是打不开的,我在这里就走了弯路,因为有三个无线WiFi,分别对应办公室、家中和手机热点,所以就写了三段network部分,可就在最后一段时,将priority=3 错误写成了prioroty=3,结果不管怎么样都无法打开wlan0连接,后来分布运行才找到了问题所在。
    (4)配置文件都改好了后,就可以重启检验了。这里要注意,直接使用reboot命令重启时他会提示:权限不够,这时就要转换到root用户,才能继续reboot。或者,在pi用户下,执行sudoreboot命令,如:pi@raspberrypi:~ $ sudo rebootsudo reboot
    切换至root用户(超级用户)的经验和技巧:首先要重设置root用户的密码,使用下面的命令sudo passwd root,如:
    pi@raspberrypi:~ $ sudo passwd root
    输入2次密码就可以设置root用户的密码了。密码设好后,即可切换到root用户,输入命令:su,如下:
    pi@raspberrypi:~ $ su
    密码:
    root@raspberrypi:/home/pi#
    可以看到,这时已经变成root用户了。切换回一般用户使用一下命令su pi就可以了。
    root@raspberrypi:/home/pi# su pi
    pi@raspberrypi:~ $
    大家也许会疑惑为什么配置系统时要加sudo,因为在Linux系统root权限才能修改一些配置,不过对于不熟悉Linux的朋友,得谨慎使用root权限,防止出现系统崩溃。
        待树莓派系统重启后,可使用iwconfig命令查看验证无线WiFi连接上了没有:
    pi@raspberrypi:~ $ iwconfig
    lo       no wireless extensions.

    enxb827eb182c95  no wireless extensions.

    wlan0    IEEE 802.11  ESSID:"ChinaNet-J5xa"  
             Mode:Managed  Frequency:2.452GHz  Access Point: 98:F4:28:21:B38   
             Bit Rate=135 Mb/s   Tx-Power=31dBm   
             Retry short limit:7   RTSthrff   Fragment thrff
             Power Managementn
             Link Quality=70/70  Signallevel=-37 dBm  
             Rx invalid nwid:0  Rx invalidcrypt:0  Rx invalid frag:0
             Tx excessive retries:16  Invalidmisc:0   Missed beacon:0
    pi@raspberrypi:~$

    这段信息里面的ssid号就是你所连接的WiFi的ssid,说明无线已经联通了。这时可以继续使用命令:ifconfig查看验证无线WiFi得到的IP地址:
    pi@raspberrypi:~ $ ifconfig
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
           inet 127.0.0.1  netmask 255.0.0.0
           inet6 ::1  prefixlen 128  scopeid 0x10<host>
           loop  txqueuelen 1000  (Local Loopback)
           RX packets 2  bytes 78 (78.0 B)
           RX errors 0  dropped 0  overruns 0 frame 0
           TX packets 2  bytes 78 (78.0 B)
           TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    wlan0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
           inet 192.168.16.4  netmask 255.255.255.0  broadcast 192.168.16.255
           inet6 fe80::ba27:ebff:fe4d:79c0 prefixlen 64  scopeid0x20<link>
           ether b8:27:eb:4d:79:c0 txqueuelen 1000  (Ethernet)
           RX packets 640  bytes 75319 (73.5KiB)
           RX errors 0  dropped 0  overruns 0 frame 0
           TX packets 578  bytes 95169 (92.9KiB)
           TX errors 0  dropped 0 overruns0  carrier 0  collisions 0
    如上所示,这个树莓派开发板无线连接的IP地址是:192.168.16.4,这时就可以开始使用这个地址来以无线的方式来对树莓派开发板进行操作了。
    (5)拔掉网口上插的网线,在SSH软件里面新建一个树莓派无线连接,连接参数使用这个无线网卡的IP地址192.168.16.4(因为是动态获取,我这里示例的和之前有线网卡eth0得到的IP地址是一样的),重新连接一下树莓派开发板,至此,远程无线连接树莓派就算调通了。
    (6)开通VCN服务,利用VCN来连接树莓派开发板,从而进入我们比较熟悉的树莓派图形化的桌面工作方式。VNC连接的配置包含服务端和客户端两方面,服务端就是要开启树莓派开发板的VNC服务,现在最新的树莓派操作系统已经自带VPN服务了,只要使能它就可以了,此时要联网升级更新一下数据,使用命令sudoapt-get update即可,在此之前,先要更新一下数据源,因为树莓派软件官方源在国外,所以连接不稳定,且速度慢,所以安装初次进入系统后,一定要修改一下软件源。后续过程中,树莓派所有程序软件都能从此源中下载。在命令行状态输入:sudo nano /etc/apt/sources.list,点击回车,进入软件源编辑文档。在编辑器内将原来的都注释掉,按以下数据源添加:
    clip_image028.png
    #表示注解,程序不执行,主要就是添加中科大、清华、阿里的数据源,对应如下:
    debhttp://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    debhttp://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi


    debhttp://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
    编辑完成,Ctrl+o 然后回车,保存文档,Ctrl+X,退出文档。然后,在命令行界面依次输入以下两条命令,完成软件更新
    更新软件索引清单,使用:          pi@raspberrypi:~ $ sudo apt-getupdate
        比较索引清单更新依赖关系,使用:  pi@raspberrypi:~ $ sudo apt-get upgrade –y
           clip_image030.png
    软件更新过程需要一定的时间,请耐心等待。
    数据更新完成之后,如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。有两种方法可以使用,方法1,在树莓派命令行状态,输入:
    pi@raspberrypi:~ $ sudo apt-get installtightvncserver
    安装好之后请一定先使用此命令设置一个VNC密码:
    pi@raspberrypi:~ $ vncpasswd  
    然后启动vnc服务
    pi@raspberrypi:~ $ vncserver  
    若是初次启动,会有密码设置的初始化操作,类同与上面那个vncpasswd命令。
    (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要)。执行结果正常的话,会出现类似如下的提示:
    clip_image032.png
    关于工具软件puTTY与SecureCRT的比较:Putty不支持自动登录linux,而SecureCRT支持自动登录linux,这个区别显得Putty更安全,SecureCRT更方便;Putty不支持同时登录多个linux,而SecureCRT可以在每个tab page里面登录一个linux。以上两个区别使得SecureCRT更适合系统管理员使用。
    安装VNC的方法2,利用树莓派的配置工具界面进行。在命令行模式下运行以下命令,进行一个简单的配置,来使能VNC:
    pi@raspberrypi:~ $ sudo raspi-config
    clip_image034.png
    配置界面的内容简单说明:
    1、Change User Password  是用来改变默认pi用户的密码,按回车后输入pi用户的新密码。
    2、Network options  里面有三项,可以在此分别修改pi的主机名(Hostname)、WiFi接入的SSID名称和密码、网络接口的名称。
    3、Boot Options     启动时进入的环境选择。
    4、Localisation Options   国际化选项,可以更改默认语言。里面有4项:
    I1项、是Change Locale语言和区域设置,建议不要改,默认英文就好。想改中文,最好选安装了中文字体再进行这步,安装中文字体的方法:
    sudoapt-get installttf-wqy-zenheittf-wqy-microhei

    pi@raspberrypi:~ $ sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei正在读取软件包列表... 完成
    正在分析软件包的依赖关系树      
    正在读取状态信息... 完成      
    将会同时安装下列软件:  fonts-wqy-microhei fonts-wqy-zenhei
    下列【新】软件包将被安装:  fonts-wqy-microhei fonts-wqy-zenhei ttf-wqy-microhei ttf-wqy-zenhei
    升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
    需要下载 9,095 kB 的归档。
    解压缩后会消耗 22.2 MB 的额外空间。
    您希望继续执行吗? [Y/n] y
    获取:1 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf fonts-wqy-zenhei all 0.9.45-6 [7,475 kB]获取:2 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf fonts-wqy-microhei all 0.2.0-beta-2 [1,605 kB]
    获取:3 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf ttf-wqy-microhei all 0.2.0-beta-2 [5,386 B]
    获取:4 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf ttf-wqy-zenhei all 0.9.45-6 [9,226 B]
    已下载 9,095 kB,耗时 5秒 (1,907 kB/s)     
    正在选中未选择的软件包 fonts-wqy-zenhei。
    (正在读取数据库 ... 系统当前共安装有 132733 个文件和目录。)
    准备解压 .../fonts-wqy-zenhei_0.9.45-6_all.deb  ...
    正在解压 fonts-wqy-zenhei (0.9.45-6) ...
    正在选中未选择的软件包 fonts-wqy-microhei。
    准备解压 .../fonts-wqy-microhei_0.2.0-beta-2_all.deb  ...
    正在解压 fonts-wqy-microhei (0.2.0-beta-2) ...
    正在选中未选择的软件包 ttf-wqy-microhei。
    准备解压 .../ttf-wqy-microhei_0.2.0-beta-2_all.deb  ...
    正在解压 ttf-wqy-microhei (0.2.0-beta-2) ...
    正在选中未选择的软件包 ttf-wqy-zenhei。
    准备解压 .../ttf-wqy-zenhei_0.9.45-6_all.deb  ...
    正在解压 ttf-wqy-zenhei (0.9.45-6) ...
    正在设置 fonts-wqy-zenhei (0.9.45-6) ...
    正在设置 fonts-wqy-microhei (0.2.0-beta-2) ...
    正在设置 ttf-wqy-zenhei (0.9.45-6) ...
    正在设置 ttf-wqy-microhei (0.2.0-beta-2) ...
    正在处理用于 fontconfig (2.13.1-2) 的触发器 ...
    pi@raspberrypi:~ $

        在字库等准备工作完成后,再返回到此项的I1选择项,回车,光标移动到屏幕底部,用空格键选中zh-CN GB2312,zh-CN GB18030,zh-CN UTF-8,然后按回车,然后默认语言选中zh-cn然后回车,需要安装,等待一会儿。
    I2项 Change Timezone   设置时区,如果不进行设置,PI的时间就显示不正常。选择Asia(亚洲)再选择Shanghai(上海)即可。
    I3项 Change Keyboard Layout  改变键盘布局
    I4项 Change wi-fi Country    改变wi-fi 所属国家
    5、Interfacing Options    启动PI的各个模块,如果想启用,选择Enable,禁用选择Disable就行了 里面总共有8个模块,分别是P1-P8,其中VNC是P3项,在这里我们选择Enable,启用它。
    6、Overclock   
    7、Advanced Options    高级设置,里面有9项,分别是A1-A9:
    A1 Expand Filesystem   扩展文件系统
    A2 Overscan            是否让屏幕内容全屏显示
    A3 Memory Split        内存分配,选择给GPU多少内存
    A4 Audio               选择声音默认输出到模拟口还是HDMI口
    A5 Resolution        
    A6 Pixel Doubling   
    A7 GL Driver         
    A8 Compositor        
    A9 Pi 4 video output
    8、Update             把raspi-config这个工具自动升级到最新版本
    9、About raspi-config  关于raspi-config的信息。

    配置完成后确认会重启系统,选项即可生效。
    经过上面的配置,树莓派开发板的VNC服务就已经打开了,我们可以通过电脑登录,来验证一下了:
    首先,在电脑上安装VNC客户端软件,软件的下载地址是:
    https://pan.baidu.com/s/1JljMIuZ16qIsOAhglKNULA
    或者:下载Windows客户端RealVNC Viewer。
    也可使用Android版VNC客户端,下载地址:http://android.d.cn/software/19334.html
    待VNC客户端安装后,点击执行,在VNCServer:处,输入登录地址像“IP地址::控制台号码”这样的格式,0号控制台可不加号码,示例中的控制台号码是5901。
    每个用户可以启动多个VNCSERVER远程桌面,它们用ip加端口号:ip:1、ip:2、ip:3来标识、区分,使用同一端口会使另外登录的用户自动退出。
         命令行参数说明
    :1,指定控制台的号码。
    启动多个控制台,可以提供互不影响的多个桌面环境。(大多数人不用多用户操作所以没意义)可以不加此参数,tightvncserver会自动寻找从1开始的下一个空闲控制台。加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。
    特殊的0号控制台
    0号控制台就是连接真实显示器真正输出图像的那个桌面。对于VNC客户端,不输入端口号登录,默认就登录到0号控制台,方便。但是因为0号是真正的桌面,所以和开机启动桌面环境,或者自己用startx命令,都存在啰嗦的冲突。到头来是个麻烦。因此自动启动的配置教程中,一律使用1号控制台。
           clip_image036.png
    随后,输入树莓派用户名和密码就可以了
    clip_image038.png
    确认登录后,就进入了树莓派的桌面,如下所示:
    clip_image040.png
    到处为止,无线远程连接调试就全部完成了。今后的开发工作就在这个平台上开始了。
    在以上调试过程中,更新树莓派的数据时出现了点小插曲,TF卡的容量提示不够了,经过探索调整,最终解决了这个问题,在此也将这次的经验教训分享给大家,希望对碰到类似问题的小伙伴能够有所帮助。
    树莓派使用空间不足的处理办法:
    这次使用的16GB microSD卡,在Windows下使用Win32 Disk Imager下载刻录映像后,在Raspberry Pi中只能识别出2.9GB,如下图所示。
    clip_image042.png
    而TF卡的总容量有14+Gb的,下面我们就来看看怎么将剩余的空间还原出来。
    【1】查看当前磁盘大小,总大小只有2.9GB,使用命令:df –h
    pi@raspberrypi:~ $ $df –h
    【2】查看第二分区的起始地址, 使用命令:cat/sys/block/mmcblk0/mmcblk0p2/start
    pi@raspberrypi:~ $ cat/sys/block/mmcblk0/mmcblk0p2/start
    122880
    【3】进入fdisk模式, 使用命令:sudo fdisk/dev/mmcblk0
    pi@raspberrypi:~ $sudo fdisk /dev/mmcblk0
    【4】按下d键,删除分区
    Commandm for help:d
    【5】选择分区
    Partition number(2-4,default 2):2
    【6】按 n 键,重新创建Linux主分区
    Command(m for help):n
    【7】Partition Type(分类类型) 选 P (Primary)
    Select(default p):p
    【8】Partition Number (分区号) 选 2
    Partition number(2-4,default 2):2
    【9】First Sector(起始Sector) 一定要输入刚才记下来的Start Sector号(我的是122880)
    First Sector2048-31116287default 2048):122880回车
    【10】Last sector,回车默认
    Last Sector,+sectors or +size{K,M,G,T,P}122880-31116287default 31116287:回车
    【11】按w保存操作并退出
    Command(m for help):w
    【12】接下来,立即重启,不要做任何其它事情
    $sudo reboot
    【13】重启并登录后,立即用以下命令
    $sudo resize2fs /dev/mmcblk0p2
    该命令将把第二个分区扩展到新的空间中 。
    或者,使用命令:sudo raspi-config,进入树莓派配置工具里面,选第7项:Advanced options。
    在这里面的A1项就是扩充TF卡的空间。

    具体的命令行示例,如下
    clip_image044.png

    命令解释:
    ① 查看当前磁盘大小,总大小只有2.9GB
    ② 查看第二分区的起始地址,后面会用到
    ③ 使用fdisk操作磁盘
    ④ d,删除分区
    ⑤ 2,删除第二分区
    ⑥ 创建一个新分区
    ⑦ 创建主分区
    ⑧ 分区2
    ⑨ 输入第一次得到的第二分区起始扇区
    ⑩ 最后一个sector,默认即可
    将上面的操作写入分区表
    等待一会儿操作完成,再次使用df -h查看发现空间已变大成15GB。

    clip_image015.png
    clip_image025.jpg

    树莓派3B开发板在Windows系统下的安装和环境搭建(二).doc

    3.69 MB, 下载次数: 3

    电路城树莓派试用活动第二周:开发环境的搭建(二)

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-29 13:29
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

     楼主| 发表于 2019-8-1 19:52:48 | 显示全部楼层

    树莓派3B+开发板在Windows系统下进行开发的环境搭建(二)
    这里第二部分主要分享一下树莓派操作系统Raspbian的安装调试和在此过程中所遇到问题的解决处理办法。
    这段时间的调试经历让我对树莓派操作系统的安装有了一定的体会,现在大部分的资料介绍的树莓派操作系统一般安装步骤如下:
    1、软、硬件材料的准备(第一部分已讲过)
    2、树莓派操作系统存储介质TF卡的烧录准备(第一部分也涉及讲过)
    (1)将sd卡插入读卡器,连接在win系统的电脑上
    (2)打开SD卡格式化工具,选择内存卡,点击格式化完成操作
    (3)打开系统烧录工具,选择解压完成准备安装的树莓派操作系统镜像文件,点击Write,完成烧录写入(写入过程时间较长,请耐心等待)。
    (4)写入完成后,将sd卡取出,插入到树莓派背面的卡槽中,就完成了系统的安装准备工作,等待树莓派板卡上电开机后将继续完成后续的系统安装。
    3、硬件连接:将3A电源、USB电源线、HDMI连接线、电脑显示屏、键盘及鼠标与树莓派3B连接,标准连接示意图如下:(鉴于以后的应用场合没有显示器,主要是要替代原来单片机的应用场景的,故我的实际安装就未接入HDMI显示器及键鼠等外设,完全模拟实际应用环境,进行的是远程安装,近乎是盲安了,这在后面会讲到)
        clip_image001.jpg
    4、上电等待操作系统安装
    (1)将树莓派USB电源线连接电源,给树莓派上电,首次连接,系统会自动安装。
             clip_image003.png
    (2)点击next,开始系统安装设置
    clip_image005.png
    (3)选择:Country:china;Language:Chinese;Timezone:shanghai。选择完成,点击Next进入下一步
    clip_image007.png
    (4)设置开机密码
    clip_image009.png
    (5)wifi设置,可以直接跳过。不然系统会联网更新,安装很慢。
    clip_image011.png
    clip_image013.png
    (6)安装完成,点击reboot,完成设置更新。
                   clip_image015.png
    (7)连接WIFI,点击右上角WIFI图标,进行wifi设置
    clip_image017.png
    选择相应wifi信号,点击连接
    clip_image019.png
    以上是标准的树莓派板接显示器的交互式系统安装方法,下面讲解一下我使用命令行方式进行远程系统安装的方法(ssh和Vnc的连接):
    我的硬件连接只接了一根电源线和一根网线(要求和调试计算机在同一个无线路由器下,后面树莓派的无线WiFi部分调通后就可以去掉这跟网线了),之前TF卡内树莓派操作系统镜像烧录完成后,已将TF卡装入到了树莓派3B+开发板的sd卡槽中,最后检查一下有无短路等安全隐患后就可以开机了。
    开机后,先观察树莓派开发板上的状态指示灯,除了电源指示的红灯常亮外,还有一个绿灯也间歇式的闪亮,说明工作基本正常,这时候就可以进行上电后的初次ssh连接调试了。
    这次使用的远程连接方式是SSH和VNC,首先要通过SSH来调试树莓派(电脑上需使用相关的调试工具,比如SecureCRT、PUTTY、xshell等,这在第一部分的软件工具准备里面有讲过。SSH访问可以借助Linux系统特有的一种服务SSH来完成;VNC访问是linux下面常用的远程桌面,用它可以在windows或者unix主机上方便的通过网络操作远程主机而不需要一个额外的显示器,非常实用),目的是对无线WiFi、VNC功能等进行使能。
    一、使用SecureCRT工具软件来连接树莓派开发板。
    (1)判断和查明树莓派开发板上网卡得到的IP地址:这可以直接在路由器里面的DHCP地址列表里面查看,我觉得这是最直截了当的方法,当初就是在这里走了很多弯路,按照资料介绍的用ARP –a命令和IP地址扫描工具查找了半天都没找见(可能和我使用的时机以及电脑上装的安全策略等设置有关,这说明这两种在本地查找使用的工具受限太多),摸索很长时间后发现,在处于第三方的路由器上查看最为方便,如下:
        clip_image022.jpg clip_image021.gif
    在这张DHCP地址分配表里面的第3条就是树莓派的IP地址:192.168.16.4,其中的客户端名称raspberrypi是树莓派开发板默认的计算机名称,我们查找的目标就是它。
    (2)由于树莓派系统默认没有开启SSH连接,所以在进行SSH连接前要做下面一步工作:将TF卡从树莓派取出连接到电脑上并打开,在根目录直接新建一个文件名为“SSH”的空文件,不带后缀,完成后再插到树莓派上重启即可开启SSH。之后即可使用SSH连接软件进行连接,IP是192.168.16.4,配置如下:
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image025.jpg
    默认用户名:pi,密码:raspberry。确认连接后进入:
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image027.jpg
    到这里说明树莓派已经成功启动并且运行了。这时可以用“ifconfig”看一下树莓派的网络配置,如下:
    pi@raspberrypi:~$ifconfig
    eth0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.16.4  netmask 255.255.255.0  broadcast 192.168.16.255
            inet6 fe80::b5b3:699:ced6:21b5  prefixlen 64 scopeid 0x20<link>
            ether b8:27:eb:18:2c:95  txqueuelen 1000  (Ethernet)
            RX packets 8122  bytes 707012 (690.4 KiB)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 7405  bytes 625059 (610.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
    lo:flags=73<UP,LOOPBACK,RUNNING>  mtu65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128 scopeid 0x10<host>
            loop txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
    wlan0:flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
            ether b8:27:eb:4d:79:c0  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
    这里eth0是有线网卡,wlan0是无线网卡,可以看到无线网卡上现在还没有接通。成功连接后,可以继续来配置WIfi,目的是使用无线直接连接SSH,更加方便!
      (3)首先要设置网络相关的文件配置,在SSH连接的树莓派开发板中,pi命令行状态下,分别执行以下2个命令:
    第一步先对wlan0端口进行定义,通过使用nano软件编辑修改树莓派开发板的网络接口文件“/etc/network/interfaces”的配置,指定端口采用动态获取DHCP的方式得到IP地址、无线连接的参数在文件“/etc/wpa_supplicant/wpa_supplicant.conf”中等,具体的命令是:sudo nano /etc/network/interfaces,执行后的操作如下:
    pi@raspberrypi:
    pi@raspberrypi:~$ sudo nano/etc/network/interfaces
      GNUnano 3.2                                /etc/network/interfaces                                            
    # interfaces(5) file used by ifup(8) andifdown(8)
    # Please note that this file is written to beused with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and'man dhcpcd.conf'
    # Include files from/etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d
    auto wlan0
    inface wlan0 inet dhcp
    wpa_conf/etc/wpa_supplicant/wpa_supplicant.conf
    其中auto wlan0表示自动设置无线网络,增加这句后每次系统启动会自动连接网络,刚开始没有写,每次上电开机都要手动打开wifi网络,十分恼火,找了好久才查到这里的问题。
    第二步再对wlan0端口连接的对象等具体参数进行配置,通过使用nano软件编辑修改无线连接的参数文件“/etc/wpa_supplicant/wpa_supplicant.conf”来进行,具体的命令是:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf,执行后的操作如下:
    pi@raspberrypi:~$ sudo nano/etc/wpa_supplicant/wpa_supplicant.conf
    GNU nano 3.2       /etc/wpa_supplicant/wpa_supplicant.conf                                    
    ctrl_interface=DIR=/var/run/wpa_supplicantGROUP=netdev
    update_config=1
    country=CN
    network={
    ssid="xxxxxx1"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
    priority=1
    }
    network={
    ssid="xxxxxx2"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
    priority=2
    }
    network={
    ssid="xxxxxx3"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
    priority=3
    }
    pi@raspberrypi:~$
    注意:以上的配置文件内的一些代码千万不能写错,否则wlan0是打不开的,我在这里就走了弯路,因为有三个无线WiFi,分别对应办公室、家中和手机热点,所以就写了三段network部分,可就在最后一段时,将priority=3 错误写成了prioroty=3,结果不管怎么样都无法打开wlan0连接,后来分布运行才找到了问题所在。
    (4)配置文件都改好了后,就可以重启检验了。这里要注意,直接使用reboot命令重启时他会提示:权限不够,这时就要转换到root用户,才能继续reboot。或者,在pi用户下,执行sudoreboot命令,如:pi@raspberrypi:~ $ sudo rebootsudo reboot
    切换至root用户(超级用户)的经验和技巧:首先要重设置root用户的密码,使用下面的命令sudo passwd root,如:
    pi@raspberrypi:~ $ sudo passwd root
    输入2次密码就可以设置root用户的密码了。密码设好后,即可切换到root用户,输入命令:su,如下:
    pi@raspberrypi:~ $ su
    密码:
    root@raspberrypi:/home/pi#
    可以看到,这时已经变成root用户了。切换回一般用户使用一下命令su pi就可以了。
    root@raspberrypi:/home/pi# su pi
    pi@raspberrypi:~ $
    大家也许会疑惑为什么配置系统时要加sudo,因为在Linux系统root权限才能修改一些配置,不过对于不熟悉Linux的朋友,得谨慎使用root权限,防止出现系统崩溃。
        待树莓派系统重启后,可使用iwconfig命令查看验证无线WiFi连接上了没有:
    pi@raspberrypi:~ $ iwconfig
    lo       no wireless extensions.
    enxb827eb182c95  no wireless extensions.
    wlan0    IEEE 802.11  ESSID:"ChinaNet-J5xa"  
             Mode:Managed  Frequency:2.452GHz  Access Point: 98:F4:28:21:B38   
             Bit Rate=135 Mb/s   Tx-Power=31dBm   
             Retry short limit:7   RTSthrff   Fragment thrff
             Power Managementn
             Link Quality=70/70  Signallevel=-37 dBm  
             Rx invalid nwid:0  Rx invalidcrypt:0  Rx invalid frag:0
             Tx excessive retries:16  Invalidmisc:0   Missed beacon:0
    pi@raspberrypi:~$
    这段信息里面的ssid号就是你所连接的WiFi的ssid,什么无线已经联通了。这时可以继续使用命令:ifconfig查看验证无线WiFi得到的IP地址:
    pi@raspberrypi:~ $ ifconfig
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
           inet 127.0.0.1  netmask 255.0.0.0
           inet6 ::1  prefixlen 128  scopeid 0x10<host>
           loop  txqueuelen 1000  (Local Loopback)
           RX packets 2  bytes 78 (78.0 B)
           RX errors 0  dropped 0  overruns 0 frame 0
           TX packets 2  bytes 78 (78.0 B)
           TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0
    wlan0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
           inet 192.168.16.4  netmask 255.255.255.0  broadcast 192.168.16.255
           inet6 fe80::ba27:ebff:fe4d:79c0 prefixlen 64  scopeid0x20<link>
           ether b8:27:eb:4d:79:c0 txqueuelen 1000  (Ethernet)
           RX packets 640  bytes 75319 (73.5KiB)
           RX errors 0  dropped 0  overruns 0 frame 0
           TX packets 578  bytes 95169 (92.9KiB)
           TX errors 0  dropped 0 overruns0  carrier 0  collisions 0
    如上所示,这个树莓派开发板无线连接的IP地址是:192.168.16.4,这时就可以开始使用这个地址来以无线的方式来对树莓派开发板进行操作了。
    (5)拔掉网口上插的网线,在SSH软件里面新建一个树莓派无线连接,连接参数使用这个无线网卡的IP地址192.168.16.4(因为是动态获取,我这里示例的和之前有线网卡eth0得到的IP地址是一样的),重新连接一下树莓派开发板,至此,远程无线连接树莓派就算调通了。
    (6)开通VCN服务,利用VCN来连接树莓派开发板,从而进入我们比较熟悉的树莓派图形化的桌面工作方式。VNC连接的配置包含服务端和客户端两方面,服务端就是要开启树莓派开发板的VNC服务,现在最新的树莓派操作系统已经自带VPN服务了,只要使能它就可以了,此时要联网升级更新一下数据,使用命令sudoapt-get update即可,在此之前,先要更新一下数据源,因为树莓派软件官方源在国外,所以连接不稳定,且速度慢,所以安装初次进入系统后,一定要修改一下软件源。后续过程中,树莓派所有程序软件都能从此源中下载。在命令行状态输入:sudo nano /etc/apt/sources.list,点击回车,进入软件源编辑文档。在编辑器内将原来的都注释掉,按以下数据源添加:
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image029.jpg
    #表示注解,程序不执行,主要就是添加中科大、清华、阿里的数据源,对应如下:
    debhttp://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
    debhttp://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi
    debhttp://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
    编辑完成,Ctrl+o 然后回车,保存文档,Ctrl+X,退出文档。然后,在命令行界面依次输入以下两条命令,完成软件更新
    更新软件索引清单,使用:          pi@raspberrypi:~ $ sudo apt-getupdate
        比较索引清单更新依赖关系,使用:  pi@raspberrypi:~ $ sudo apt-get upgrade –y
          file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image031.jpg
    软件更新过程需要一定的时间,请耐心等待。
    数据更新完成之后,如果需要远程操作安装VNC,就必须通过SSH登录到命令行界面。有两种方法可以使用,方法1,在树莓派命令行状态,输入:
    pi@raspberrypi:~ $ sudo apt-get installtightvncserver
    安装好之后请一定先使用此命令设置一个VNC密码:
    pi@raspberrypi:~ $ vncpasswd  
    然后启动vnc服务
    pi@raspberrypi:~ $ vncserver  
    若是初次启动,会有密码设置的初始化操作,类同与上面那个vncpasswd命令。
    (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要)。执行结果正常的话,会出现类似如下的提示:
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image033.jpg
    关于工具软件puTTY与SecureCRT的比较:Putty不支持自动登录linux,而SecureCRT支持自动登录linux,这个区别显得Putty更安全,SecureCRT更方便;Putty不支持同时登录多个linux,而SecureCRT可以在每个tab page里面登录一个linux。以上两个区别使得SecureCRT更适合系统管理员使用。
    安装VNC的方法2,利用树莓派的配置工具界面进行。在命令行模式下运行以下命令,进行一个简单的配置,来使能VNC:
    pi@raspberrypi:~ $ sudo raspi-config
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image035.jpg
    配置界面的内容简单说明:
    1、Change User Password  是用来改变默认pi用户的密码,按回车后输入pi用户的新密码。
    2、Network options  里面有三项,可以在此分别修改pi的主机名(Hostname)、WiFi接入的SSID名称和密码、网络接口的名称。
    3、Boot Options     启动时进入的环境选择。
    4、Localisation Options   国际化选项,可以更改默认语言。里面有4项:
    I1项、是Change Locale语言和区域设置,建议不要改,默认英文就好。想改中文,最好选安装了中文字体再进行这步,安装中文字体的方法:
    sudoapt-get installttf-wqy-zenheittf-wqy-microhei
    pi@raspberrypi:~ $ sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei正在读取软件包列表... 完成正在分析软件包的依赖关系树       正在读取状态信息... 完成       将会同时安装下列软件:  fonts-wqy-microhei fonts-wqy-zenhei下列【新】软件包将被安装:  fonts-wqy-microhei fonts-wqy-zenhei ttf-wqy-microhei ttf-wqy-zenhei升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。需要下载 9,095 kB 的归档。解压缩后会消耗 22.2 MB 的额外空间。您希望继续执行吗? [Y/n] y获取:1 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf fonts-wqy-zenhei all 0.9.45-6 [7,475 kB]获取:2 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf fonts-wqy-microhei all 0.2.0-beta-2 [1,605 kB]获取:3 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf ttf-wqy-microhei all 0.2.0-beta-2 [5,386 B]获取:4 http://mirrors.ustc.edu.cn/raspbian/raspbian stretch/main armhf ttf-wqy-zenhei all 0.9.45-6 [9,226 B]已下载 9,095 kB,耗时 5秒 (1,907 kB/s)     正在选中未选择的软件包 fonts-wqy-zenhei。(正在读取数据库 ... 系统当前共安装有 132733 个文件和目录。)准备解压 .../fonts-wqy-zenhei_0.9.45-6_all.deb  ...正在解压 fonts-wqy-zenhei (0.9.45-6) ...正在选中未选择的软件包 fonts-wqy-microhei。准备解压 .../fonts-wqy-microhei_0.2.0-beta-2_all.deb  ...正在解压 fonts-wqy-microhei (0.2.0-beta-2) ...正在选中未选择的软件包 ttf-wqy-microhei。准备解压 .../ttf-wqy-microhei_0.2.0-beta-2_all.deb  ...正在解压 ttf-wqy-microhei (0.2.0-beta-2) ...正在选中未选择的软件包 ttf-wqy-zenhei。准备解压 .../ttf-wqy-zenhei_0.9.45-6_all.deb  ...正在解压 ttf-wqy-zenhei (0.9.45-6) ...正在设置 fonts-wqy-zenhei (0.9.45-6) ...正在设置 fonts-wqy-microhei (0.2.0-beta-2) ...正在设置 ttf-wqy-zenhei (0.9.45-6) ...正在设置 ttf-wqy-microhei (0.2.0-beta-2) ...正在处理用于 fontconfig (2.13.1-2) 的触发器 ...pi@raspberrypi:~ $
    在字库等准备工作完成后,再返回到此项的I1选择项,回车,光标移动到屏幕底部,用空格键选中zh-CN GB2312,zh-CN GB18030,zh-CN UTF-8,然后按回车,然后默认语言选中zh-cn然后回车,需要安装,等待一会儿。
    I2项 Change Timezone   设置时区,如果不进行设置,PI的时间就显示不正常。选择Asia(亚洲)再选择Shanghai(上海)即可。
    I3项 Change Keyboard Layout  改变键盘布局
    I4项 Change wi-fi Country    改变wi-fi 所属国家
    5、Interfacing Options    启动PI的各个模块,如果想启用,选择Enable,禁用选择Disable就行了 里面总共有8个模块,分别是P1-P8,其中VNC是P3项,在这里我们选择Enable,启用它。
    6、Overclock   
    7、Advanced Options 高级设置,里面有9项,分别是A1-A9:
    A1 Expand Filesystem 扩展文件系统
    A2 Overscan         是否让屏幕内容全屏显示
    A3 Memory Split      内存分配,选择给GPU多少内存
    A4 Audio             选择声音默认输出到模拟口还是HDMI口
    A5 Resolution        
    A6 Pixel Doubling   
    A7 GL Driver         
    A8 Compositor        
    A9 Pi 4 video output
    8、Update            把raspi-config这个工具自动升级到最新版本
    9、About raspi-config  关于raspi-config的信息。
    配置完成后确认会重启系统,选项即可生效。
    经过上面的配置,树莓派开发板的VNC服务就已经打开了,我们可以通过电脑登录,来验证一下了:
    首先,在电脑上安装VNC客户端软件,软件的下载地址是:
    https://pan.baidu.com/s/1JljMIuZ16qIsOAhglKNULA
    或者:下载Windows客户端RealVNC Viewer
    也可使用Android版VNC客户端,下载地址:http://android.d.cn/software/19334.html
    待VNC客户端安装后,点击执行,在VNCServer:处,输入登录地址像“IP地址::控制台号码”这样的格式,0号控制台可不加号码,示例中的控制台号码是5901。
    每个用户可以启动多个VNCSERVER远程桌面,它们用ip加端口号:ip:1、ip:2、ip:3来标识、区分,使用同一端口会使另外登录的用户自动退出。
         命令行参数说明
    :1,指定控制台的号码。
    启动多个控制台,可以提供互不影响的多个桌面环境。(大多数人不用多用户操作所以没意义)可以不加此参数,tightvncserver会自动寻找从1开始的下一个空闲控制台。加上此参数,会强制使用指定的控制台,如果此控制台已经启动则报错。加此参数可有效防止无意多次启动程序(会启动多个控制台)白白浪费系统资源。
    特殊的0号控制台
    0号控制台就是连接真实显示器真正输出图像的那个桌面。对于VNC客户端,不输入端口号登录,默认就登录到0号控制台,方便。但是因为0号是真正的桌面,所以和开机启动桌面环境,或者自己用startx命令,都存在啰嗦的冲突。到头来是个麻烦。因此自动启动的配置教程中,一律使用1号控制台。
          file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image037.gif
    随后,输入树莓派用户名和密码就可以了
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image039.jpg
    确认登录后,就进入了树莓派的桌面,如下所示:
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image041.jpg
    到处为止,无线远程连接调试就全部完成了。今后的开发工作就在这个平台上开始了。
    在以上调试过程中,更新树莓派的数据时出现了点小插曲,TF卡的容量提示不够了,经过探索调整,最终解决了这个问题,在此也将这次的经验教训分享给大家,希望对碰到类似问题的小伙伴能够有所帮助。
    树莓派使用空间不足的处理办法:
    这次使用的16GB microSD卡,在Windows下使用Win32 Disk Imager下载刻录映像后,在Raspberry Pi中只能识别出2.9GB,如下图所示。
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image043.jpg
    而TF卡的总容量有14+Gb的,下面我们就来看看怎么将剩余的空间还原出来。
    【1】查看当前磁盘大小,总大小只有2.9GB,使用命令:df –h
    pi@raspberrypi:~ $ $df –h
    【2】查看第二分区的起始地址, 使用命令:cat/sys/block/mmcblk0/mmcblk0p2/start
    pi@raspberrypi:~ $ cat/sys/block/mmcblk0/mmcblk0p2/start
    122880
    【3】进入fdisk模式, 使用命令:sudo fdisk/dev/mmcblk0
    pi@raspberrypi:~ $sudo fdisk /dev/mmcblk0
    【4】按下d键,删除分区
    Commandm for help:d
    【5】选择分区
    Partition number(2-4,default 2):2
    【6】按 n 键,重新创建Linux主分区
    Command(m for help):n
    【7】Partition Type(分类类型) 选 P (Primary)
    Select(default p):p
    【8】Partition Number (分区号) 选 2
    Partition number(2-4,default 2):2
    【9】First Sector(起始Sector) 一定要输入刚才记下来的Start Sector号(我的是122880)
    First Sector2048-31116287default 2048):122880回车
    【10】Last sector,回车默认
    Last Sector,+sectors or +size{K,M,G,T,P}122880-31116287default 31116287:回车
    【11】按w保存操作并退出
    Command(m for help):w
    【12】接下来,立即重启,不要做任何其它事情
    $sudo reboot
    【13】重启并登录后,立即用以下命令
    $sudo resize2fs /dev/mmcblk0p2
    该命令将把第二个分区扩展到新的空间中 。
    或者,使用命令:sudo raspi-config,进入树莓派配置工具里面,选第7项:Advanced options。
    在这里面的A1项就是扩充TF卡的空间。
    具体的命令行示例,如下:
    file:///C:/Users/bjczj/AppData/Local/Temp/msohtml1/01/clip_image045.gif

    命令解释:
    ① 查看当前磁盘大小,总大小只有2.9GB
    ② 查看第二分区的起始地址,后面会用到
    ③ 使用fdisk操作磁盘
    ④ d,删除分区
    ⑤ 2,删除第二分区
    ⑥ 创建一个新分区
    ⑦ 创建主分区
    ⑧ 分区2
    ⑨ 输入第一次得到的第二分区起始扇区
    ⑩ 最后一个sector,默认即可
    将上面的操作写入分区表
    等待一会儿操作完成,再次使用df -h查看发现空间已变大成15GB。
    clip_image024.png
    clip_image025.jpg
    clip_image026.png
    clip_image027.jpg
    clip_image028.png
    clip_image029.jpg
    clip_image030.png
    clip_image031.jpg
    clip_image032.png
    clip_image033.jpg
    clip_image034.png
    clip_image035.jpg
    clip_image036.png
    clip_image038.png
    clip_image039.jpg
    clip_image040.png
    clip_image042.png
    clip_image043.jpg
    clip_image044.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 21:00 , Processed in 0.123472 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.