快速上手Banana Pi BPI-M4 Berry 全志科技H618开源硬件开发板

627 阅读8分钟

Linux[编辑]

准备[编辑]

    1. Linux镜像支持SD卡或EMMC启动,优先从SD卡启动。
  • 2.建议使用A1级别的SD卡,至少8GB。
  • 3.如果要从SD卡启动,确保可启动的EMMC已经初始化。
  • 4.要从EMMC启动把SD卡用于存储,确保SD卡已经格式化,没有刷入Linux镜像。
  • 6.默认登录用户名:pi/bananapi或root/bananapi。

将镜像安装到SD卡[编辑]

      1. 在Windows、Linux和MacOS上使用Balena Etcher安装镜像。
    • Balena Etcher是Balena提供的开源GUI工具,用于将操作系统镜像写入SD卡或USB驱动器。
  • M2s linux flash.png
      1. 在Windows、Linux和MacOS上使用Balena Cli安装镜像。
    • Balena CLI是用于balenaCloud或openBalena的命令行界面。您可以从balena-io下载安装程序或独立包,然后正确安装到您的PC上,然后您可以使用balena的“ local flash ”命令将Linux镜像写进入SD卡或USB驱动器。
sudo balena 本地闪存路径/to/xxx-bpi-m4-berry-xxx.img.zip
 sudo balena 本地闪存路径/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2
 sudo balena 本地闪存路径/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2 --yes
    1. 在Linux上使用dd命令安装镜像,如果SD卡自动挂载,请取消挂载SD卡设备/dev/sdX分区。实际上,bpi-copy与此dd命令相同。
sudo apt-get install pv 解压缩
 sudo unzip -p xxx-bpi-m4-berry-xxx.img.zip | sudo unzip -p xxx-bpi-m4-berry-xxx.img.zip | 光伏 | dd of=/dev/sdX bs=10M 状态=noxfer
  • 4.使用bpi-tools在Linux上安装镜像,将SD卡插入Linux PC并运行以下命令:
sudo apt-get install pv 解压缩
 sudo bpi-copy xxx-bpi-m4-berry-xxx.img.zip /dev/sdX

将镜像安装到eMMC[编辑]

1.确保已经在一个SD卡中烧录了Linux镜像,且已经正常启动。

  1. 在终端输入以下命令:
sudo Bananapi 配置

3.默认连续选择第一项并按回车键,即可完成将Linux系统镜像安装到eMMC上的操作。

    • Bpi m4 浆果 mobaxterm 12.jpg
    • Bpi m4 浆果 mobaxterm 13.jpg
    • Bpi m4 浆果 mobaxterm 14.jpg
    • Bpi m4 浆果 mobaxterm 15.jpg
    • Bpi m4 浆果 mobaxterm 16.jpg
    • Bpi m4 浆果 mobaxterm 17.jpg
    • Bpi m4 浆果 mobaxterm 18.jpg

4.最后一步操作将关机,此时断开电源,移除SD卡,重新上电,即可从eMMC启动。

帮助eMMC[编辑]

1.确保已经在一个SD卡中烧录了Linux镜像,插入SD卡。默认会从SD卡启动。

  1. 在终端输入命令lsblk,获取操作系统中的块设备信息,如硬盘、分区、磁盘等。
pi@bpi-m4berry:~$ lsblk
名称 主要:最小 RM 尺寸 RO 类型 安装点
mmcblk0 179:0 0 7.4G 0盘
└─mmcblk0p1 179:1 0 7.2G 0 部分 /var/log.hdd
                                       /
mmcblk1 179:32 0 7.3G 0盘
└─mmcblk1p1 179:33 0 7.3G 0 部分
mmcblk1boot0 179:64 0 4M 1 盘
mmcblk1boot1 179:96 0 4M 1 盘
zram0 252:0 0 993.2M 0 磁盘 [交换]
zram1 252:1 0 50M 0 磁盘 /var/log
zram2 252:2 0 0B 0 磁盘
  1. mmcblk0为SD卡,mmcblk1为eMMC,在终端中输入以下命令劫持eMMC,此过程需要耗费几分钟时间,且不可逆,注意备份重要数据。
sudo dd if=/dev/0 of=/dev/mmcblk1

启动[编辑]

Ubuntu桌面[编辑]

    • 1.使用Ubuntu桌面版系统镜像,可获得一个图形化操作界面。
    • 2.需要准备一个配备HDMI接口的显示器,一根HDMI线。
    • 3.使用HDMI线连接显示器与BPI-M4 Berry,切换显示器输入接口对应HDMI接口,上电启动,等待片刻即可看到桌面。

Bpi m4 浆果 ubuntu 1.jpg

调试串口[编辑]

    • 1.准备一个3.3v USB转TTL模块。
    • 2.使用USB转TTL模块连接PC USB端口与主板的调试UART端口。
    • 3.在PC端开启一个串口软件,例如mobaxtermputty
      1. 以mobaxterm为例,设置串行端口编号和115200波特率后即可打开BPI-M4 Berry UART终端。

Bpi m4 浆果 mobaxterm 1.jpg

Bpi m4 浆果 mobaxterm 2.jpg

SSH[编辑]

    • 1.准备一条网线,一个路由器。
    • 2.使用网线连接路由器的LAN口与BPI-M4 Berry,同时也将PC接入另一个LAN口。
    • 3.在路由器管理界面查看BPI-M4 Berry的IP地址,或在BPI-M4 Berry UART命令使用以下命令查看IP地址。
如果配置
eth0: 标志=4163<UP、广播、运行、组播> mtu 1500
       inet 192.168.3.10 网络掩码 255.255.255.0 广播 192.168.3.255
       inet6 fe80::3e1f:688f:81ab:d8b7 prefixlen 64scopeid 0x20<链接>
       以太 02:00:54:a0:d6:a6 txqueuelen 1000(以太网)
       RX 数据包 553 字节 92549 (92.5 KB)
       RX 错误 0 丢弃 0 溢出 00
       TX 数据包 329 字节 26023 (26.0 KB)
       TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0
       设备中断 42
    • 4.在PC端打开一个SSH终端软件,例如mobaxtermputty
    • 5.以mobaxterm为例,将获得的IP地址,例如前面 192.168.3.10 ,填入IP地址栏,Port端口填入 22 。

Bpi m4 浆果 mobaxterm 3.jpg

  • 6.打开SSH终端,输入登录用户名/密码:pi/bananapi 或 root/bananapi ,输入密码时无提示,请正常输入,完成后按Enter键即可。

Bpi m4 浆果 mobaxterm 4.jpg

NoMachine 远程桌面[编辑]

  • 1.确保BPI-M4 Berry已连接互联网,使用以下命令在系统中下载nomachine DEB安装包。
wget https://download.nomachine.com/download/8.9/Arm/nomachine_8.9.1_1_arm64.deb
  • 3.下载完成后,通过以下命令安装,注意文件名与实际下载的文件名一致。
sudo dpkg -i nomachine_8.9.1_1_arm64.deb
  • 4.PC端也需要下载安装NoMachine,NoMachine下载页面选择适合PC操作系统的安装包,下载到本地并完成安装。
  • 5.注意保持PC与BPI-M4 Berry在同一个以太网中,可先尝试SSH连接确保以太网内通信正常。
  • 6.在PC端打开NoMachine,点击添加按钮,在跳转后的窗口中的主机栏输入BPI-M4 Berry的IP地址,再点击添加按钮。

Bpi m4 浆果 nomachine 1.jpg

  • 7.点击识别到的端口图标,在弹出的新闻窗口中输入用户名/密码,然后点击确定按钮。

Bpi m4 浆果 nomachine 2.jpg Bpi m4 浆果 nomachine 3.jpg

  • 8.完成后续后续设置后,看到桌面即可。

Bpi m4 浆果 nomachine 4.jpg

  • 9.如果HDMI接口没有连接任何设备,NoMachine远程桌面将显示黑屏,建议保持HDMI连接,或接入一个HDMI诱骗器。

重启,关机[编辑]

  • 1.按RST按钮进行硬件重启,或输入重启命令:
重启
  • 2.关机命令,关机后必须重新上电才可再次启动:
关机

无线上网[编辑]

  • 使用 nmcli 命令可扫描WiFi热点,连接热点,创建AP热点。
nmcli device # 首发设备
 nmcli device wifi list # 上市可用的wifi接入点, list可以省
 nmcli device wifi connect [SSID] 密码 [PASSWORD] # 连接热点mySSID,连接成功后,就会自动生成配置文件,以后要再连接,就可以使用nmcli connect up [SSID]命令了
 nmcli device disconnect [设备名称] # 断开wifi,使用nmcli device命令中显示的wifi设备名
 nmcli device wifi hotspot con-name [NAME] ifname [设备名称] ssid [SSID] 密码 [PASSWORD] # 创建AP热点
nmcli connection show #启动网络连接的配置
 nmcli 连接关闭 [NAME] # 失效一个连接
 nmcli connection up [NAME] # 激活一个连接
 nmcli 连接删除[SSID] #删除一个配置,不再保存信息和自动连接
nmcli radio wifi off # 关闭wifi
 nmcli 无线电 wifi on # 开启wifi

设置静态IP,DNS[编辑]

    • 1.设置静态IP需先保持连接,如果想设置静态IP,则先保持连接;如果想设置无线网静态IP,则先保持与一个WIFI的连接。
    • 2.如果上级路由器已经将您所想设置的IP地址分配给了其他设备,请更换到空闲的IP,或者让其他设备出该IP。
    • 3.使用 nmcli connection show 命令显示所有连接,例如:
pi@bpi-m4berry:~$ nmcli 连接显示
 名称 UUID 类型 设备
 TP-LINK_5G_7747 e4a49726-adf1-44d7-a621-0e3af96cc390 无线网络wlx2cc3e6acd5d7
 有线连接 1 612eda94-55dc-3c85-b05e-f16c41775b4e 以太网 --
  • 4.使用 nmcli connection show [NAME]命令显示具体某个连接的所有属性,列如:
nmcli 连接显示 TP-LINK_5G_7747 #如果想看污水的则改为有线连接 1
#仅列举三个常用条目
 ipv4.dns: 192.168.3.1 #默认为网关地址
 ipv4.addresses: 192.168.3.10/24 #默认为路由器DHCP分配的IP地址
 ipv4.gateway: 192.168.3.1 #网关地址,默认为路由器的IP地址
  • 5.设置静态IP:
nmcli连接修改TP-LINK_5G_7747 ipv4.addresses 192.168.3.2
  • 6.设置DNS:
nmcli 连接修改 TP-LINK_5G_7747 ipv4.dns 8.8.8.8 #Google DNS
    1. 明白:
重启
  • 8修改.再次启动后检查是否成功:
如果配置
 nmcli连接显示TP-LINK_5G_7747

网络时间同步[编辑]

  • Chrony是一个开源的自由网络时间协议NTP的客户端和服务器软件。它可以使计算机保持系统时钟与时钟服务器(NTP)同步,因此让你的计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算机提供时间同步服务。
timedatectl set-ntp false #取消基于NTP的网络时间同步
sudo apt install chrony #安装chrony
 systemctl start chrony #开启chrony
 systemctl 启用计时
 systemctl 状态计时
 systemctl restart chrony #重启服务
timedatectl status #查看时间同步状态
 timedatectl list-timezones #查看时区列表
 timedatectl set-timezone Asia/上海 #修改时区
 timedatectl set-ntp true #开启NTP网络时间同步
date #查看时间
 sudo hwclock -r #查看硬件时钟

查看硬件温度[编辑]

输入以下命令即可查看BPI-M4 Berry主板芯片内置传感器所回传的温度数据。

传感器

修改HDMI输出分辨率[编辑]

  • 使用Ubuntu桌面版操作系统时,可以在设置中找到显示栏,修改分辨率。

Bpi m4 浆果 ubuntu 2.jpg

使用USB存储设备[编辑]

    • 1.准备一个已经正常的U盘,插入BPI-M4 Berry的USB接口中。
    • 2.在Ubuntu桌面版中可以看到U盘已经被识别到并且可以在文件管理器中打开,也可以通过GParted工具进行分区管理。

Bpi m4 浆果 ubuntu 3.jpg

  • 3.在终端挂载U盘到本地目录中:
mkdir mnt #在~/用户目录中创建一个单独的目录用于挂载,属于管理
 猫 /proc/分区 | grep "sd*" #首发sd起始的分区
 sudo mount /dev/sda1 ~/mnt/ #将/dev/sda1挂载到~/mnt/
 ls ~/mnt/ #挂载后即可上市U盘中的文件
 sudo umount -v /dev/sda1 #卸载/dev/sda1,之后可移除U盘

使用音频设备[编辑]

  • 准备一个音频文件,通过U盘或SSH等方式,拷贝到BPI-M4 Berry Ubuntu桌面版系统中。

HDMI音频[编辑]

    • 1.准备一个具备HDMI音频输入功能的显示器,在显示器中设置相关功能开关,使用HDMI线连接显示器。
    • 2.在设置的声音端子中将输出设备设置为HDMI Audio。

Bpi m4 浆果 ubuntu 4.jpg

  • 3.播放音频。

Bpi m4 浆果 ubuntu 5.jpg

3.5mm音频接口[编辑]

    • 1.准备一个使用3.5mm插头的耳机或其他音频设备,将插头插入BPI-M4 Berry的3.5mm插孔中。
    • 2在设置的Sound Bar中将输出设备设置为Audio Codec。

Bpi m4 浆果 ubuntu 6.jpg

  • 3.播放音频。

终端命令播放音频文件[编辑]

aplay -l #首发设备
aplay -D hw:0,0 [path] #播放指定路径的音频文件

使用蓝牙[编辑]

  • 1.在Ubuntu桌面中打开设置,在蓝牙栏连接蓝牙设备,例如蓝牙鼠标或键盘。

Bpi m4 浆果 ubuntu 7.jpg

  • 2.在终端上通过命令行连接蓝牙设备的方法如下:
pi@bpi-m4berry:~$ sudo bluetoothctl #打开蓝牙设备管理工具
[sudo] pi 的密码:
代理注册
[CHG] 控制器 2C:C3:E6:AC:D5:D8 可配对:是
[bluetooth]# power on #启动蓝牙功能,power off关闭
更改电源成功
[蓝牙]# 可在 # 允许本设备发现上发现
更改可发现成功
[CHG] 控制器 2C:C3:E6:AC:D5:D8 可发现:是
[蓝牙允许]# 可在 # 设备设备上配对
更改配对成功
[蓝牙]# 扫描 #开始扫描
发现开始
[CHG] 控制器 2C:C3:E6:AC:D5:D8 发现:是
[新] 设备 D4:C4:85:A5:C6:B1 Logitech Pebble #一个蓝牙鼠标的 MAC 地址与设备名
[CHG] 设备 D4:C4:85:A5:C6:B1 TxPower: 4
[bluetooth]#pair D4:C4:85:A5:C6:B1 #配置想要连接的蓝牙设备的MAC地址
尝试与 D4:C4:85:A5:C6:B1 配对
[CHG] 设备 D4:C4:85:A5:C6:B1 已连接:是
[删除] 设备 A4:C1:38:9B:F6:FD SLPO20N20200059
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:00001800-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:00001801-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:0000180a-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:00001812-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID00010000-0000-1000-8000-011f2000046d
[CHG] 设备 D4:C4:85:A5:C6:B1 服务已解决:是
[CHG] 设备 D4:C4:85:A5:C6:B1 配对:是
配对成功#配对成功
[CHG] 设备 D4:C4:85:A5:C6:B1 模式别名:usb:v046DpB021d0007
[bluetooth]# exit #退出蓝牙设备管理工具
pi@bpi-m4berry:~$

使用接收器[编辑]

    • 1.需要准备一个使用NEC格式的红外遥控。
    • 2.在终端输入以下命令即可开始接收红外信号。
sudo ir-keytable -c -p NEC -t
旧密钥表已清除
 协议更改为 nec
 测试事件。请按 CTRL-C 中止。
 258.553895:lirc 协议(nec):扫描码 = 0x45
 258.553926:事件类型 EV_MSC(0x04):扫描码 = 0x45
 258.553926:事件类型 EV_SYN(0x00)。
 260.667648:lirc协议(nec):扫描码= 0x46
 260.667671:事件类型 EV_MSC(0x04):扫描码 = 0x46
 260.667671:事件类型 EV_SYN(0x00)。
 260.719552:lirc协议(nec):扫描码= 0x46重复
 260.719568:事件类型 EV_MSC(0x04):扫描码 = 0x46
 260.719568:事件类型 EV_SYN(0x00)。
 273.263728:lirc 协议(nec):扫描码 = 0x47
 273.263753:事件类型 EV_MSC(0x04):扫描码 = 0x47
 273.263753:事件类型 EV_SYN(0x00)。
 273.315591:lirc 协议(nec):扫描码 = 0x47 重复
 273.315608:事件类型 EV_MSC(0x04):扫描码 = 0x47
 273.315608:事件类型 EV_SYN(0x00)。

ir-keytable 参考文档

传输文件[编辑]

SCP[编辑]

Linux系统中的scp(secure copy)命令用于以安全的方式在服务器之间复制文件。

SCP命令或安全复制允许在本地主机和远程主机之间或两个远程主机之间安全传输文件。

它使用与Secure Shell(SSH)协议相同的身份验证和安全性。

可以在Windows终端中将文件复制到相同的交换机中的Linux系统中,确认已开启SSH客户端,在设置>应用>可选功能中可查看。如果想在Linux系统中复制Windows系统中的文件,则还需开启Open SSH服务端。

  • Bpi m4 浆果 mobaxterm 6.jpg

scp命令格式为:

  • scp [可选] 文件源 文件目标
    
    • 1.[可选] 为可选参数,例如 -r ,使用它即可梯度复制整个目录。
    • 2.file_source要拷贝的文件或目录。
    • 3.file_target将要复制过去的路径,如果最后输入了具体文件名则其重命名。

以在Windows系统中复制本地文件到Linux系统中为例,在Windows终端中输入:

  • PS D:\temp\temp_4> scp ".\hello.txt" pi@192.168.3.12 :"/home/pi/Downloads/"
    

也可以在Windows终端中复制Linux系统中的文件到本地:

  • PS D:\temp\temp_4> scp pi@192.168.3.12 :"/home/pi/Downloads/hello.txt" "D:\temp\temp_4"
    
      • 其中pi@192.168.3.12为Linux系统中的用户名和BPI-M4 Berry在交换机中的IP地址。
      • 其中:"/home/pi/Downloads/hello.txt" 为Linux系统中的文件路径。
      • 其中“D:\temp\temp_4”为Windows系统中的路径。

scp 参考文档

莫巴克斯术语[编辑]

使用mobaxterm或其他类似的软件,可以通过图形化界面管理文件。

如下图所示,在mobaxterm中建立SSH连接后,界面就会出现文件管理窗口,支持以文件拖拽的方式进行复制粘贴。

  • Bpi m4 浆果 mobaxterm 7.jpg