RockPiS-上手操作

购买到Rock Pi S后的必要操作

Posted by Jerry Chen on November 11, 2019

品名: ROCK Pi S D4W;
资源: RK3308,512MB 内存,无板载存储,10/100Mbit 以太网,USB2.0x2,uSD 卡插槽,802.11 a/b/g/n,BT 4.2。

板上资源

原理图点这里

处理器: RK3308 SBC(单板计算机);

网络: 100M以太网、 2.4GHz 802.11 b/g/n/i/e WIFI 以及蓝牙 4.0;

内存:512M DDR3;

外设: tf卡槽、USB2.0-A、USB3.0-C、26个GPIO、两个按钮;

  • tf卡槽最大支持128G
  • USB Type-C口可供电、ADB / OTG
  • reset按钮:硬复位
  • Maskrom按钮:屏蔽从NAND启动
  • GPIO: 通过Libmraa控制

开发示例

从头开始

准备工作

  1. 准备:

    • rock pi s;
    • tf 卡、读卡器;
    • usb-c 数据线(供电、adb);
  2. 下载镜像和烧写工具:地址

    • 镜像推荐 ubuntu bionic;
    • 烧写工具可使用官方推荐的 etcher,也可用 rufus
  3. 使用烧写工具把镜像烧写到 tf 卡;

    下载好的镜像无需解压 xxx.img.gz;

    分区出问题,或者想还原时,使用 DiskGenius.exe 工具;

    • 使用 etcher 烧写方法:

    • 使用 rufus(推荐)烧写方法:

  4. 将 tf 插入到主板,使用 usb-c 连接 rock-pi s 和 PC;

看到绿灯常亮、蓝灯 blink 就启动成功。

串口连接

如果有串口线就用串口连接;

没有就通过 usb adb 访问 shell,或者烧写好 tf 卡后接着修改 rootfs 中的网络配置;

串口连接如下,usb 转 ttl 线(IC 为 FT232RL)通过 3 根线和 rock-pi s 连接,不要连接红线(VCC);

串口访问

波特率为 1500000(注意是 5 个 0);

ubuntu bionic 的用户名密码为:rock/rock

连接以太网

  1. 使用网线把主板和路由器连接起来,在路由器后台查找到rock pi s的ip,然后用putty连接到rock pi s后台。

    1
    2
    
    用户名:rock
    密码:rock
    

    如果没有路由器,请看第5点,使用静态ip连接。

  2. 登录后修改root密码:

    1
    
    sudo passwd root
    

    后面就可以使用su - root切换到root账户;

    注意:su - root是切换到root,并使用root的环境变量(echo $PATH 查看);su root是切换到root使用xx环境变量。

  3. 安装adb支持

    教程见这里

    开机到adb连接有点慢,请耐心等待。
    如果网络不行,可以尝试换一个网,比如先连wifi。

    当正常连接后,输入指令进行管理,我一般进去后先查ip sudo ip address show 然后用putty连接:

    1
    
    adb shell
    
  4. 连接wifi

    rock pi s有如下网络设备:

    • eth0: 以太网类型;
    • p2p0: wifi类型,WIFI Direct直连;
    • wlan0: wifi类型;
    • lo: 回环类型,固定IP 127.0.0.1;

    这样是否可以p2p0连好后,使用wlan0开热点?

    官方的连接命令如下:
    有点问题的是有的时候它会把所有wifi类型的设备连接到目标热点上,包括p2p0和wlan0(扫描WiFi得到的也是两组信息);有的时候又只用p2p0进行连接,可能p2p0是默认的吧!

    1
    2
    3
    4
    
    su - root                   # Switch to super user mode
    nmcli r wifi on             # Open the WIFI
    nmcli dev wifi              # Scan WIFI
    nmcli dev wifi connect "mi8" password "12345678"  # Connect to WIFI network
    

    所以使用如下命令只用wlan0进行扫描和连接:

    1
    2
    
    nmcli dev wifi list ifname wlan0
    nmcli dev wifi connect "mi8" password "12345678" ifname wlan0
    

    查看帮助使用下面的命令:

    1
    2
    
    nmcli dev --help
    nmcli dev wifi --help
    

    每次执行nmcli dev wifi connect命令后,会在/etc/NetworkManager/system-connections/目录下创建一个新文件(如mi8.nmconnection)来保存配置,重复执行则创建多个这样的文件。

    然后按照如下方式修改配置可以在连接目标wifi时使用静态IP:

    1
    2
    3
    4
    5
    6
    7
    8
    
    nmcli dev set wlan0 autoconnect yes                          # 配置wlan0自动连接
       
    nmcli connection down mi8                                    # 断开mi8
    nmcli connection modify mi8 ipv4.addr 192.168.43.15/24       # 配置IP和掩码
    nmcli connection modify mi8 ipv4.gateway 192.168.43.1        # 添加网关
    nmcli connection modify mi8 +ipv4.dns "223.5.5.5, 223.6.6.6" # 添加DNS
    nmcli connection modify mi8 ipv4.method manual               # 获取IP改为手动
    nmcli connection up mi8 ifname wlan0                         # 启用mi8
    

    连接成功后,每次开机默认都会去连接该wifi,如果没有请耐心等待。如果真没有请检查下是不是wlan0的mac地址自动变化了,如果变化了我也没有太好的办法,就用官方命令吧!


科普:network-manager是发行版上动态控制及配置网络的守护进程,自带nmcli 命令。
net-tools家族(ifconfig、route、arp和netstat等)是管理和排查网络配置工具。这类工具原先起源于BSD TCP/IP工具箱,旨在配置老式Linux内核的网络功能。自2001年以后,它在Linux社区的发展就止步不前了。Debian等一些Linux发行版已经弃用了net-tools,改而使用iproute2(ip、ss命令等)。

  1. 使用静态IP连接设备

    在PC的控制面板\网络和 Internet\网络和共享中心路径下可以找到的目标活动网络a连接,点击a,再点击详细信息就可以找到当前连接的“IP”、“掩码”、“网关”、“DNS”等信息;接着在开发板中设置相同的信息。

    1. 编辑vim /etc/rc.local开机文件(可以ssh后编辑,也可以挂载sd卡到虚拟机进行编辑)

      1
      2
      3
      4
      5
      
      # dhclient eth0  #屏蔽dhcp的设置
            
      # 临时设置(重启或重启网卡服务后失效),板上默认安装了net-tools
      ifconfig eth0 10.8.190.50/24                        #IP和掩码
      route add default gw 10.8.190.7 eth0                #添加默认网关
      
    2. 编辑vim /etc/resolv.conf添加需要的DNS

      1
      2
      3
      
      # 设置DNS
      nameserver 10.98.94.5
      nameserver 10.98.94.28
      

    值得一说的是用iproute2为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果你想把网络接口的IP地址固定下来,目前有三个方法:

    • 一是通过各个发行版本专用工具来修改IP地址(比如network-manager);
    • 二是直接修改网络接口的配置文件(/etc/network/interfaces;红帽发行版是/etc/sysconfig/network-scripts/ifcfg-eth0);
    • 三是写入到开机启动文件里(/etc/rc.local/etc/rc.d/rc.local等);

    完成之后就可以使用上述电脑进行putty ssh~

如果不能上网的解决办法:

使用ip route show查看是否存在多条默认网关,通过如下命令删除多余的网关信息:

1
2
ip route del default via 10.8.190.7 dev eth0  #删除一条默认网关
ping qq.com                                   #测试网络是否正常