Difference between revisions of "快速上手 BPI-M4 Berry"

From Banana Pi Wiki
Jump to: navigation, search
(Other Development)
(3.5mm 音频接口)
 
(61 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
+
[[en:Getting_Started_with_BPI-M4_Berry]]
 
[[File:Banana_Pi_BPI-M4_Berry_1.jpg|thumb|[[Banana Pi BPI-M4 Berry]] H618 design]]
 
[[File:Banana_Pi_BPI-M4_Berry_1.jpg|thumb|[[Banana Pi BPI-M4 Berry]] H618 design]]
 
[[File:Banana_pi_BPI-M2_Berry_5.JPG|thumb|[[Banana Pi BPI-M2 Berry]] A40i-H design]]
 
[[File:Banana_pi_BPI-M2_Berry_5.JPG|thumb|[[Banana Pi BPI-M2 Berry]] A40i-H design]]
Line 10: Line 10:
 
==Linux==
 
==Linux==
 
===准备===
 
===准备===
:1. Linux镜像支持SD卡或EMMC启动,但您应该首先阅读[Boot_Sequence启动顺序]。
+
:1. Linux镜像支持SD卡或EMMC启动,优先从SD卡启动。
  
 
:2. 建议使用A1级别的SD卡,至少8GB。
 
:2. 建议使用A1级别的SD卡,至少8GB。
Line 18: Line 18:
 
:4. 如果要从EMMC启动并将SD卡用作存储,确保SD卡已经格式化,没有刷入Linux镜像。
 
:4. 如果要从EMMC启动并将SD卡用作存储,确保SD卡已经格式化,没有刷入Linux镜像。
  
:5. 下载最新的[Linux镜像],并确认md5校验和正确。
+
:5. 下载最新的[[Banana_Pi_BPI-M4_Berry#System_image | bananapi ubuntu/debian 镜像]],并确认md5校验和正确。
  
 
:6. 默认登录用户名:pi/bananapi或root/bananapi。
 
:6. 默认登录用户名:pi/bananapi或root/bananapi。
  
:7. Wiki指南仅适用于[bananapi 4.9 bsp ubuntu/debian镜像]
+
:7. Wiki指南仅适用于[[Banana_Pi_BPI-M4_Berry#System_image | bananapi ubuntu/debian 镜像]] 镜像。
  
 
===将镜像安装到SD卡===
 
===将镜像安装到SD卡===
 
:1. 在Windows、Linux和MacOS上使用Balena Etcher安装镜像。
 
:1. 在Windows、Linux和MacOS上使用Balena Etcher安装镜像。
:[https://balena.io/etcher Balena Etcher] 是Balena提供的开源GUI闪存工具,用于将操作系统镜像写入SD卡或USB驱动器。
+
: [https://balena.io/etcher Balena Etcher] 是Balena提供的开源GUI闪存工具,用于将操作系统镜像写入SD卡或USB驱动器。
  
 
:[[File:m2s_linux_flash.png]]
 
:[[File:m2s_linux_flash.png]]
  
 
:2. 在Windows、Linux和MacOS上使用Balena Cli安装镜像。
 
:2. 在Windows、Linux和MacOS上使用Balena Cli安装镜像。
:[https://github.com/balena-io/balena-cli Balena CLI] 是用于balenaCloud或openBalena的命令行界面。 您可以从[https://github.com/balena-io/balena-cli/releases balena-io] 下载安装程序或独立包,然后正确安装到您的PC上,然后您可以使用balena的"[https://docs.balena.io/reference/balena-cli/#local-flash-image local flash]"令选项将Linux镜像写入SD卡或USB驱动器。
+
:[https://github.com/balena-io/balena-cli Balena CLI] 是用于balenaCloud或openBalena的命令行界面。 您可以从[https://github.com/balena-io/balena-cli/releases balena-io] 下载安装程序或独立包,然后正确安装到您的PC上,然后您可以使用balena的"[https://docs.balena.io/reference/balena-cli/#local-flash-image local flash]"命令将Linux镜像写入SD卡或USB驱动器。
  
   $ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip
+
   sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip
   $ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2
+
   sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2
   $ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2 --yes
+
   sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2 --yes
  
 
:3. 在Linux上使用dd命令安装镜像,如果SD卡自动挂载,请取消挂载SD卡设备/dev/sdX分区。实际上,bpi-copy与此dd命令相同。
 
:3. 在Linux上使用dd命令安装镜像,如果SD卡自动挂载,请取消挂载SD卡设备/dev/sdX分区。实际上,bpi-copy与此dd命令相同。
   $ sudo apt-get install pv unzip
+
   sudo apt-get install pv unzip
   $ sudo unzip -p xxx-bpi-m4-berry-xxx.img.zip | pv | dd of=/dev/sdX bs=10M status=noxfer
+
   sudo unzip -p xxx-bpi-m4-berry-xxx.img.zip | pv | dd of=/dev/sdX bs=10M status=noxfer
  
 
:4. 使用bpi-tools在Linux上安装镜像,将SD卡插入Linux PC并运行以下命令:
 
:4. 使用bpi-tools在Linux上安装镜像,将SD卡插入Linux PC并运行以下命令:
   $ sudo apt-get install pv unzip
+
   sudo apt-get install pv unzip
   $ sudo bpi-copy xxx-bpi-m4-berry-xxx.img.zip /dev/sdX
+
   sudo bpi-copy xxx-bpi-m4-berry-xxx.img.zip /dev/sdX
 +
 
 +
===将镜像安装到eMMC===
 +
 
 +
1. 确保已经在一个SD卡中烧录了Linux镜像,且已经正常启动。
 +
 
 +
2. 在终端输入以下命令:
 +
<pre>
 +
sudo bananapi-config
 +
</pre>
 +
 
 +
3. 默认连续选择第一项并按下回车键,即可完成将Linux系统镜像安装到eMMC上的操作。
 +
 
 +
:[[File:Bpi_m4_berry_mobaxterm_12.jpg]]
 +
:[[File:Bpi_m4_berry_mobaxterm_13.jpg]]
 +
:[[File:Bpi_m4_berry_mobaxterm_14.jpg]]
 +
:[[File:Bpi_m4_berry_mobaxterm_15.jpg]]
 +
:[[File:Bpi_m4_berry_mobaxterm_16.jpg]]
 +
:[[File:Bpi_m4_berry_mobaxterm_17.jpg]]
 +
:[[File:Bpi_m4_berry_mobaxterm_18.jpg]]
 +
 
 +
4. 最后一步操作将关机,此时断开电源,移除SD卡,重新上电,即可从eMMC启动。
 +
 
 +
===擦除eMMC===
 +
 
 +
1. 确保已经在一个SD卡中烧录了Linux镜像,插入SD卡。默认会从SD卡启动。
 +
 
 +
2. 在终端输入命令lsblk,用于列出系统中的块设备信息,如硬盘、分区、磁盘等。
 +
 
 +
<pre>
 +
pi@bpi-m4berry:~$ lsblk
 +
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
 +
mmcblk0      179:0    0  7.4G  0 disk
 +
└─mmcblk0p1  179:1    0  7.2G  0 part /var/log.hdd
 +
                                      /
 +
mmcblk1      179:32  0  7.3G  0 disk
 +
└─mmcblk1p1  179:33  0  7.3G  0 part
 +
mmcblk1boot0 179:64  0    4M  1 disk
 +
mmcblk1boot1 179:96  0    4M  1 disk
 +
zram0        252:0    0 993.2M  0 disk [SWAP]
 +
zram1        252:1    0    50M  0 disk /var/log
 +
zram2        252:2    0    0B  0 disk
 +
</pre>
 +
 
 +
3. mmcblk0为SD卡,mmcblk1为eMMC,在终端中输入以下命令擦除eMMC,此过程需要消耗数分钟时间,且不可逆,注意备份重要数据。
 +
<pre>
 +
sudo dd if=/dev/zero of=/dev/mmcblk1
 +
</pre>
 +
 
 +
===启动===
 +
 
 +
====Ubuntu桌面====
 +
 
 +
:1.使用Ubuntu桌面版系统镜像,可以获得一个图形化操作界面。
 +
:2.需要准备一台具备HDMI接口的显示器,一根HDMI线。
 +
:3.使用HDMI线连接显示器与BPI-M4 Berry,切换显示器输入接口为对应HDMI接口,上电开机,等待片刻即可看到桌面。
 +
 
 +
[[File:Bpi_m4_berry_ubuntu_1.jpg]]
 +
 
 +
====Debug UART====
 +
:1.准备一个3.3v USB转TTL模块。
 +
:2.使用USB转TTL模块连接PC USB端口与板上的Debug UART端口。
 +
:3.在PC端开启一个串行终端软件,例如[https://mobaxterm.mobatek.net/ mobaxterm]或[https://www.putty.org/ putty]。
 +
:4.以mobaxterm为例,设置串行端口编号和115200波特率后即可打开BPI-M4 Berry UART终端。
 +
 
 +
[[File:bpi_m4_berry_mobaxterm_1.jpg]]
 +
 
 +
[[File:bpi_m4_berry_mobaxterm_2.jpg]]
 +
 
 +
====SSH====
 +
:1.准备一条网线,一个路由器。
 +
:2.使用网线连接路由器的LAN口与BPI-M4 Berry,同时也将PC接入另一个LAN口。
 +
:3.在路由器管理界面查看BPI-M4 Berry的IP地址,或在BPI-M4 Berry UART终端使用以下命令查看IP地址。
 +
  ifconfig
 +
 
 +
  eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
 +
        inet 192.168.3.10  netmask 255.255.255.0  broadcast 192.168.3.255
 +
        inet6 fe80::3e1f:688f:81ab:d8b7  prefixlen 64  scopeid 0x20<link>
 +
        ether 02:00:54:a0:d6:a6  txqueuelen 1000  (Ethernet)
 +
        RX packets 553  bytes 92549 (92.5 KB)
 +
        RX errors 0  dropped 0  overruns 0  frame 0
 +
        TX packets 329  bytes 26023 (26.0 KB)
 +
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 +
        device interrupt 42
 +
:4.在PC端开启一个SSH终端软件,例如[https://mobaxterm.mobatek.net/ mobaxterm]或[https://www.putty.org/ putty]。
 +
:5.以mobaxterm为例,将获得的IP地址,例如上文 192.168.3.10 ,填入IP地址栏,Port端口填入 22 。
 +
 
 +
[[File:bpi_m4_berry_mobaxterm_3.jpg]]
 +
 
 +
:6.打开SSH终端,输入登录用户名/密码:pi/bananapi 或 root/bananapi ,输入密码时无提示,请正常输入,完成后按Enter键即可。
 +
 
 +
[[File:bpi_m4_berry_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
 +
 
 +
:2.或在PC浏览器打开[https://downloads.nomachine.com/download/?id=117&distro=ARM NoMachine for ARM - arm64下载页面]  下载DEB安装包,然后通过SSH或U盘拷贝到BPI-M4 Berry用户目录中。
 +
 
 +
:3.下载完成后,通过以下命令安装,注意文件名以实际下载的文件名为准。
 +
 
 +
  sudo dpkg -i nomachine_8.9.1_1_arm64.deb
 +
 
 +
:4.PC端也需下载安装NoMachine,[https://download.nomachine.com NoMachine下载页面]选择适合PC操作系统的安装包,下载到本地并完成安装。
 +
 
 +
:5.注意保持PC与BPI-M4 Berry在同一个局域网中,可先尝试SSH连接确保局域网内通信正常。
 +
 
 +
:6.在PC端打开NoMachine,点击 Add 按钮,在跳转后的窗口中的Host栏输入BPI-M4 Berry的IP地址,再点击 Add 按钮。
 +
[[File:Bpi_m4_berry_nomachine_1.jpg]]
 +
 
 +
:7.点击识别到的端口图标,在弹出的新窗口中输入用户名/密码,然后点击OK按钮。
 +
[[File:Bpi_m4_berry_nomachine_2.jpg]]
 +
[[File:Bpi_m4_berry_nomachine_3.jpg]]
 +
 
 +
:8.完后后续设置后,即可看到桌面。
 +
[[File:Bpi_m4_berry_nomachine_4.jpg]]
 +
 
 +
:9.如果HDMI接口没有连接任何设备,NoMachine 远程桌面将显示黑屏,建议保持HDMI连接,或接入一个HDMI诱骗器。
 +
 
 +
===重启,关机===
 +
:1.按RST按钮进行硬件重启,或输入重启命令:
 +
  reboot
 +
:2.关机命令,关机后必须重新上电才可再次启动:
 +
  poweroff
 +
 
 +
===WiFi===
 +
:使用 nmcli 命令可扫描WiFi热点,连接热点,创建AP热点。
 +
 
 +
  nmcli device #列出设备
 +
  nmcli device wifi list    # 列出可用的wifi接入点, list可以省略
 +
  nmcli device wifi connect [SSID] password [PASSWORD]  # 连接热点mySSID, 连接成功后,就会自动生成配置文件,以后要再连接,就可以使用nmcli connection up [SSID]命令了
 +
  nmcli device disconnect [device name]  # 断开wifi,使用nmcli device命令中显示的wifi设备名
 +
  nmcli device wifi hotspot con-name [NAME] ifname [device name] ssid [SSID] password [PASSWORD] # 创建AP热点
 +
 
 +
  nmcli connection show #列出网络连接的配置
 +
  nmcli connection down [NAME]  # 停用一个连接
 +
  nmcli connection up [NAME]  # 激活一个连接
 +
  nmcli connection delete [SSID] #删除一个配置,不再保存信息和自动连接
 +
 
 +
  nmcli radio wifi off  # 关闭wifi
 +
  nmcli radio wifi on  # 开启wifi
  
===DTB overlay===
+
:* [https://developer-old.gnome.org/NetworkManager/unstable/nmcli.html nmcli 命令参考文档]
:1. DTB overlay 用于40引脚GPIO的多功能配置,并安装在vfat引导分区中,您可以使用mount命令检查挂载点。
+
:* [https://developer-old.gnome.org/NetworkManager/unstable/nmcli-examples.html nmcli 命令参考用例]
  root@bananapi:~# ls /boot/overlays/
 
  custom_ir.dtbo      pwm_b-backlight.dtbo  spi0.dtbo
 
  ds3231.dtbo        pwm_c-beeper.dtbo    uart1_cts_rts.dtbo
 
  hifi_pcm5102a.dtbo  pwm_cd-c.dtbo        uart1.dtbo
 
  hifi_pcm5122.dtbo  pwm_cd.dtbo          uart2.dtbo
 
  i2c0.dtbo          pwm_ef.dtbo          waveshare_tft24_lcd.dtbo
 
  i2c1.dtbo          pwm_ef-f.dtbo        waveshare_tft35c_lcd.dtbo
 
  pwm_ab.dtbo        sdio.dtbo            waveshare_tft35c_rtp.dtbo
 
  
:2. 更新vfat /boot/boot.ini中的overlay设置以启用所需的overlay。默认启用i2c0、spi0和uart1。
+
===设置静态IP,DNS===
 +
:1.设置静态IP需先保持连接,如果想设置以太网静态IP,则先保持以太网连接;如果想设置无线网静态IP,则先保持与一个WIFI的连接。
 +
:2.如果上级路由器已经将你所想设置的IP地址分配给了其他设备,请更换到空闲的IP,或使其他设备让出该IP。
 +
:3.使用 nmcli connection show 命令显示所有连接,例如:
 +
  pi@bpi-m4berry:~$ nmcli connection show
 +
  NAME                UUID                                  TYPE      DEVICE
 +
  TP-LINK_5G_7747    e4a49726-adf1-44d7-a621-0e3af96cc390  wifi      wlx2cc3e6acd5d7
 +
  Wired connection 1  612eda94-55dc-3c85-b05e-f16c41775b4e  ethernet  --
 +
:4.使用 nmcli connection show [NAME]命令显示具体某个连接的所有属性,列如:
 +
  nmcli connection show TP-LINK_5G_7747  #如果想看以太网的则改为 Wired connection 1
  
   # 要加载的overlay
+
   #仅列举三个常用条目
   # 示例组合:
+
   ipv4.dns:                               192.168.3.1 #默认为网关地址
  #   spi0 i2c0 i2c1 uart0
+
   ipv4.addresses:                        192.168.3.10/24 #默认为路由器DHCP分配的IP地址
   #   hktft32
+
   ipv4.gateway:                          192.168.3.1 #网关地址,默认为路由器的IP地址
   #   hktft35
 
  setenv overlays "i2c0 spi0 uart1"
 
  
:3. 必须重新启动板以加载DTB overlay。
+
:5.设置静态IP:
 +
  nmcli connection modify TP-LINK_5G_7747 ipv4.addresses 192.168.3.2
 +
:6.设置DNS:
 +
  nmcli connection modify TP-LINK_5G_7747 ipv4.dns 8.8.8.8 #Google DNS
 +
:7.复位:
 +
  reboot
 +
:8.再次启动后检查是否修改成功:
 +
  ifconfig
 +
  nmcli connection show TP-LINK_5G_7747
  
===WiringPi===
 
: 注意:此WiringPi仅支持将40引脚GPIO设置为输出、输入或软件PWM,对于io功能如i2c、spi、pwm等,您必须在boot.ini中启用DTB overlay。
 
  
:1. 构建并安装WiringPi,对于Debian系统,您必须在构建之前[https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build
+
===网络时间同步===
  $ sudo apt-get update
+
:Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软软件。它能让计算机保持系统时钟与时钟服务器(NTP)同步,因此让你的计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算机提供时间同步服务。
  $ sudo apt-get install build-essential git
 
  $ git clone https://github.com/BPI-SINOVOIP/amlogic-wiringPi
 
  $ cd amlogic-wiringPi
 
  $ chmod a+x build
 
  $ sudo ./build
 
  
:2. Run '''gpio readall''' to show all 40pins status.
+
  timedatectl set-ntp false #禁用基于NTP的网络时间同步
[[File:m5_wiringpi.png]]
 
  
:3. BPI GPIO Extend board and examples in [https://github.com/BPI-SINOVOIP/amlogic-wiringPi/tree/master/examples amlogic-wiringPi/examples]
+
  sudo apt install chrony #安装chrony
 +
  systemctl start  chrony #开启chrony
 +
  systemctl enable chrony
 +
  systemctl status chrony
 +
  systemctl restart chrony #重启服务
  
:blinkall, blink all pin header gpios, no extend board.
+
  timedatectl status #查看时间同步状态
:lcd-bpi, [http://wiki.banana-pi.org/BPI_LCD_1602_display_module BPI LCD 1602 display module] example.
+
  timedatectl list-timezones #查看时区列表
:52pi-bpi, [http://wiki.banana-pi.org/BPI_OLED_Display_Module BPI OLED Display Module] example.
+
  timedatectl set-timezone Asia/Shanghai #修改时区
:matrixled-bpi, [http://wiki.banana-pi.org/BPI_RGB_LED_Matrix_Expansion_Module BPI RGB LED Matrix Expansion Module] example.
+
  timedatectl set-ntp true #开启NTP网络时间同步
:berryclip-bpi, [http://wiki.banana-pi.org/BPI_BerryClip_Module BPI BerryClip Module]
 
  
===RPi.GPIO===
+
  date #查看时间
 +
  sudo hwclock -r #查看硬件时钟
  
: Build and install, for debian, you must [https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build
+
:* [https://chrony-project.org/documentation.html Chrony 参考文档]
  $ sudo apt-get update
 
  $ sudo apt-get install build-essential python3 python3-pip python3-dev python3-setuptools git
 
  $ git clone https://github.com/Dangku/RPi.GPIO-Amlogic.git
 
  $ cd RPi.GPIO-Amlogic
 
  $ sudo python3 setup.py clean --all
 
  $ sudo python3 setup.py install
 
  
: Create and install wheel package
+
===查看硬件温度===
  $ sudo python3 setup.py bdist_wheel
+
输入以下命令即可查看BPI-M4 Berry板上芯片内置传感器所回传的温度数据。
   $ sudo pip3 install dist/RPi.GPIO-XXX.whl
+
   sensors
  
: Install from git source directly without development
+
===修改HDMI输出分辨率===
  $ sudo pip3 install git+https://github.com/Dangku/RPi.GPIO-Amlogic.git
+
:使用Ubuntu桌面版操作系统时,可以在Setting中找到Displays栏,修改分辨率。
  
: If the package is already installed, it should be uninstalled before installing the new one, or installing the new one with --force-reinstall option.
+
[[File:Bpi_m4_berry_ubuntu_2.jpg]]
  
===WiringPi2-Python===
+
===使用USB存储设备===
 +
:1.准备一个已经正常分区的U盘,插入BPI-M4 Berry的USB接口中。
 +
:2.在Ubuntu桌面版中可以看到U盘已经被识别到并且可以在文件管理器中打开,也可通过GParted工具进行分区管理。
  
: Build and install, for debian, you must [https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build
+
[[File:Bpi_m4_berry_ubuntu_3.jpg]]
  $ sudo apt-get update
 
  $ sudo apt-get install build-essential python3 python3-dev python3-setuptools swig git
 
  $ git clone --recursive  https://github.com/Dangku/WiringPi2-Python-Amlogic.git
 
  $ cd WiringPi2-Python-Amlogic
 
  $ sudo python3 setup.py install
 
  
===Luma.Examples===
+
:3.在终端挂载U盘到本地目录中:
:[https://github.com/rm-hull/luma.examples luma.examples] use GPIO.BCM gpio mode default, so you should map 40pin header pins to bcm gpio number and connect the hardware correctly.
+
  mkdir mnt #在~/用户目录中创建一个单独的目录用于挂载,便于管理
 +
  cat /proc/partitions | grep "sd*" #列出sd开头的分区
 +
  sudo mount /dev/sda1 ~/mnt/ #将/dev/sda1挂载到~/mnt/
 +
  ls ~/mnt/ #挂载后即可列出U盘中的文件
 +
  sudo umount -v /dev/sda1 #卸载/dev/sda1,之后可移除U盘
  
:1. build and install RPi.GPIO
+
===使用音频设备===
 +
:准备一个音频文件,通过U盘或SSH等方式,拷贝到BPI-M4 Berry Ubuntu桌面版系统中。
 +
====HDMI音频====
 +
:1.准备一个具备HDMI音频输入功能的显示器,在显示器设置中开启相关功能,使用HDMI线连接显示器。
 +
:2.在设置的Sound栏中将输出设备设置为HDMI Audio。
 +
[[File:Bpi_m4_berry_ubuntu_4.jpg]]
 +
:3.播放音频。
 +
[[File:Bpi_m4_berry_ubuntu_5.jpg]]
  
  $ sudo apt-get update
+
====3.5mm 音频接口====
  $ sudo apt-get install build-essential python3 python3-dev python3-setuptools git
+
:1.准备一个使用3.5mm插头的耳机或其他音频设备,将插头插入BPI-M4 Berry的3.5mm插孔中。
  $ git clone https://github.com/Dangku/RPi.GPIO-Amlogic.git
+
:2在设置的Sound栏中将输出设备设置为Audio Codec。
  $ cd RPi.GPIO-Amlogic
+
[[File:Bpi_m4_berry_ubuntu_6.jpg]]
  $ sudo python3 setup.py clean --all
+
:3.播放音频。
  $ sudo python3 setup.py install
+
====终端命令播放音频文件====
 +
<pre>
 +
aplay -l #列出设备
 +
aplay -D hw:0,0 [path] #播放指定路径的音频文件
 +
</pre>
  
:you can change the bcmledpin variable in test/led.py to your hardware backlight gpio and run it to check RPi.GPIO works well.
+
===使用蓝牙===
 +
:1.在Ubuntu桌面中打开设置,在Bluetooth栏中连接蓝牙设备,例如蓝牙鼠标或键盘。
 +
[[File:Bpi_m4_berry_ubuntu_7.jpg]]
 +
:2.在终端通过命令行连接蓝牙设备的方法如下:
 +
<pre>
 +
pi@bpi-m4berry:~$ sudo bluetoothctl #打开蓝牙设备管理工具
 +
[sudo] password for pi:
 +
Agent registered
 +
[CHG] Controller 2C:C3:E6:AC:D5:D8 Pairable: yes
 +
[bluetooth]# power on #启动蓝牙功能,power off关闭
 +
Changing power on succeeded
 +
[bluetooth]# discoverable on #允许本设备被发现
 +
Changing discoverable on succeeded
 +
[CHG] Controller 2C:C3:E6:AC:D5:D8 Discoverable: yes
 +
[bluetooth]# pairable on #允许设备配对
 +
Changing pairable on succeeded
 +
[bluetooth]# scan on #开始扫描
 +
Discovery started
 +
[CHG] Controller 2C:C3:E6:AC:D5:D8 Discovering: yes
 +
[NEW] Device D4:C4:85:A5:C6:B1 Logitech Pebble #一个蓝牙鼠标的MAC地址与设备名
 +
[CHG] Device D4:C4:85:A5:C6:B1 TxPower: 4
 +
[bluetooth]# pair D4:C4:85:A5:C6:B1 #配对想要连接的蓝牙设备的MAC地址
 +
Attempting to pair with D4:C4:85:A5:C6:B1
 +
[CHG] Device D4:C4:85:A5:C6:B1 Connected: yes
 +
[DEL] Device A4:C1:38:9B:F6:FD SLPO20N20200059
 +
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
 +
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
 +
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
 +
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
 +
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001812-0000-1000-8000-00805f9b34fb
 +
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00010000-0000-1000-8000-011f2000046d
 +
[CHG] Device D4:C4:85:A5:C6:B1 ServicesResolved: yes
 +
[CHG] Device D4:C4:85:A5:C6:B1 Paired: yes
 +
Pairing successful #配对成功
 +
[CHG] Device D4:C4:85:A5:C6:B1 Modalias: usb:v046DpB021d0007
 +
[bluetooth]# exit #退出蓝牙设备管理工具
 +
pi@bpi-m4berry:~$
 +
</pre>
  
  $ sudo python3 test/led.py
+
:[https://wiki.archlinux.org/title/bluetooth archlinux bluetooth参考文档]
  
:hardware backlight will repeat on and off
+
===使用红外接收器===
 +
:1.需要准备一个使用NEC格式的红外遥控。
 +
:2.在终端输入以下命令即可开始接收红外信号。
 +
  sudo ir-keytable -c -p NEC -t
  
:2. luma.examples libs install
+
  Old keytable cleared
 +
  Protocols changed to nec
 +
  Testing events. Please, press CTRL-C to abort.
 +
  258.553895: lirc protocol(nec): scancode = 0x45
 +
  258.553926: event type EV_MSC(0x04): scancode = 0x45
 +
  258.553926: event type EV_SYN(0x00).
 +
  260.667648: lirc protocol(nec): scancode = 0x46
 +
  260.667671: event type EV_MSC(0x04): scancode = 0x46
 +
  260.667671: event type EV_SYN(0x00).
 +
  260.719552: lirc protocol(nec): scancode = 0x46 repeat
 +
  260.719568: event type EV_MSC(0x04): scancode = 0x46
 +
  260.719568: event type EV_SYN(0x00).
 +
  273.263728: lirc protocol(nec): scancode = 0x47
 +
  273.263753: event type EV_MSC(0x04): scancode = 0x47
 +
  273.263753: event type EV_SYN(0x00).
 +
  273.315591: lirc protocol(nec): scancode = 0x47 repeat
 +
  273.315608: event type EV_MSC(0x04): scancode = 0x47
 +
  273.315608: event type EV_SYN(0x00).
  
  $ sudo usermod -a -G i2c,spi,gpio pi
+
[https://manpages.ubuntu.com/manpages/focal/en/man1/ir-keytable.1.html ir-keytable 参考文档]
  
:if group does not exist, the following command will create it:
+
===传输文件===
 +
====scp====
 +
Linux系统中的scp(secure copy)命令用于以安全的方式在服务器之间复制文件。
  
  $ sudo groupadd --system xxx
+
SCP命令或安全复制允许在本地主机和远程主机之间或两个远程主机之间安全传输文件。
  
  $ sudo apt-get install python3-dev python3-pip libfreetype6-dev libjpeg-dev build-essential
+
它使用与Secure Shell(SSH)协议相同的身份验证和安全性。
  $ sudo apt-get install libsdl-dev libportmidi-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-image1.2-dev
 
  $ git clone https://github.com/rm-hull/luma.examples.git
 
  $ cd luma.examples
 
  
:install luma.core, luma.emulator, luma.lcd, luma.le-matrix, luma.oled pip libs, make sure this step without error or downloading interrupted, try again if get errors
+
可以在Windows终端中将文件拷贝至相同局域网中的Linux系统中,仅需确保已开启Open SSH客户端,在设置>应用>可选功能中可查看。
  $ sudo -H pip install -e .
+
如果想在Linux系统中拷贝Windows系统中的文件,则还需开启Open SSH服务端。
:or
+
:[[File:Bpi_m4_berry_mobaxterm_6.jpg]]
  $ sudo -H pip3 install -e .
 
  
:for debian buster(python 3.7) which does not include /usr/bin/pip in package python3-pip, and will get the following errors when install luma packages with pip3
+
scp命令格式为:
  
  ...
+
:<pre>scp [optional] file_source file_target</pre>
  WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
+
::1.<nowiki>[optional]</nowiki> 为可选参数,例如 -r ,使用它即可递归复制整个目录。
  Using UNIX configuration...
 
 
 
  /bin/sh: 1: sdl2-config: not found
 
  /bin/sh: 1: sdl2-config: not found
 
  /bin/sh: 1: sdl2-config: not found
 
  ...
 
  
:install sdl2 related packages to fix this issue, then install luma libs again with pip3
+
::2.file_source 要拷贝的文件或目录。
  $ sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev
 
  $ sudo -H pip3 install -e .
 
  
:check installed luma pip libs
+
::3.file_target 将要拷贝过去的路径,如果最后输入了具体文件名则对其重命名。
  $ pip3 list | grep luma
 
   
 
    luma.core          2.4.0
 
    luma.emulator      1.4.0
 
    luma.lcd          2.10.0
 
    luma.led-matrix    1.7.0
 
    luma.oled          3.11.0
 
  
:3. examples test
+
以在Windows系统中拷贝本地文件到Linux系统中为例,在Windows终端中输入:
:Enable i2c or spi [https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#DTB_overlay overlays] before running test examples
+
:<pre>PS D:\temp\temp_4> scp ".\hello.txt" [email protected].3.12:"/home/pi/Downloads/"</pre>
  $ cd examples
 
  $ sudo python3 bounce.py --config ../conf/ili9341.conf
 
  
==其他==
+
也可以在Windows终端中拷贝Linux系统中的文件到本地:
 +
:<pre>PS D:\temp\temp_4> scp [email protected]:"/home/pi/Downloads/hello.txt" "D:\temp\temp_4"</pre>
 +
:: 其中 [email protected] 为Linux系统中的用户名和BPI-M4 Berry在局域网中的IP地址。
 +
:: 其中 <nowiki>:"/home/pi/Downloads/hello.txt"</nowiki> 为Linux系统中的文件路径。
 +
:: 其中 "D:\temp\temp_4" 为Windows系统中的路径。
  
===为Debian启用sudo===
+
[https://www.runoob.com/linux/linux-comm-scp.html scp 参考文档]
:默认情况下,Debian镜像不安装sudo,用户可以使用"su -"命令切换到root用户。如果您喜欢sudo,您可以安装它。
 
  
  $ su root
+
====mobaxterm====
  Password:(enter bananapi)
+
使用 mobaxterm 或其他类似的软件,可通过图形化界面管理文件。
 
+
:[https://mobaxterm.mobatek.net/download.html mobaxterm 下载]
  # apt-get update
+
:[https://download.mobatek.net/mobaxterm-on-linux.html mobaxterm-linux 预览版]
  # apt-get install sudo
 
  # adduser pi sudo
 
  
: 然后,请注销并重新登录。
+
如下图所示,在mobaxterm中建立SSH连接后,界面左侧就会出现文件管理窗口,支持以文件拖拽的方式进行复制粘贴。
 +
:[[File:Bpi_m4_berry_mobaxterm_7.jpg]]

Latest revision as of 19:23, 8 November 2023

Banana Pi BPI-M2 Pro S905x3 design
Banana Pi BPI-M2S Amlogic A311D/S922 chip
Banana Pi BPI-M5 with S905x3 design

开发

Linux

准备

1. Linux镜像支持SD卡或EMMC启动,优先从SD卡启动。
2. 建议使用A1级别的SD卡,至少8GB。
3. 如果要从SD卡启动,确保可启动的EMMC已经格式化。
4. 如果要从EMMC启动并将SD卡用作存储,确保SD卡已经格式化,没有刷入Linux镜像。
5. 下载最新的 bananapi ubuntu/debian 镜像,并确认md5校验和正确。
6. 默认登录用户名:pi/bananapi或root/bananapi。
7. Wiki指南仅适用于 bananapi ubuntu/debian 镜像 镜像。

将镜像安装到SD卡

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

将镜像安装到eMMC

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

2. 在终端输入以下命令:

sudo bananapi-config

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

Bpi m4 berry mobaxterm 12.jpg
Bpi m4 berry mobaxterm 13.jpg
Bpi m4 berry mobaxterm 14.jpg
Bpi m4 berry mobaxterm 15.jpg
Bpi m4 berry mobaxterm 16.jpg
Bpi m4 berry mobaxterm 17.jpg
Bpi m4 berry mobaxterm 18.jpg

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

擦除eMMC

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

2. 在终端输入命令lsblk,用于列出系统中的块设备信息,如硬盘、分区、磁盘等。

pi@bpi-m4berry:~$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0      179:0    0   7.4G  0 disk
└─mmcblk0p1  179:1    0   7.2G  0 part /var/log.hdd
                                       /
mmcblk1      179:32   0   7.3G  0 disk
└─mmcblk1p1  179:33   0   7.3G  0 part
mmcblk1boot0 179:64   0     4M  1 disk
mmcblk1boot1 179:96   0     4M  1 disk
zram0        252:0    0 993.2M  0 disk [SWAP]
zram1        252:1    0    50M  0 disk /var/log
zram2        252:2    0     0B  0 disk

3. mmcblk0为SD卡,mmcblk1为eMMC,在终端中输入以下命令擦除eMMC,此过程需要消耗数分钟时间,且不可逆,注意备份重要数据。

sudo dd if=/dev/zero of=/dev/mmcblk1

启动

Ubuntu桌面

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

Bpi m4 berry ubuntu 1.jpg

Debug UART

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

Bpi m4 berry mobaxterm 1.jpg

Bpi m4 berry mobaxterm 2.jpg

SSH

1.准备一条网线,一个路由器。
2.使用网线连接路由器的LAN口与BPI-M4 Berry,同时也将PC接入另一个LAN口。
3.在路由器管理界面查看BPI-M4 Berry的IP地址,或在BPI-M4 Berry UART终端使用以下命令查看IP地址。
 ifconfig
 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 192.168.3.10  netmask 255.255.255.0  broadcast 192.168.3.255
       inet6 fe80::3e1f:688f:81ab:d8b7  prefixlen 64  scopeid 0x20<link>
       ether 02:00:54:a0:d6:a6  txqueuelen 1000  (Ethernet)
       RX packets 553  bytes 92549 (92.5 KB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 329  bytes 26023 (26.0 KB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
       device interrupt 42
4.在PC端开启一个SSH终端软件,例如mobaxtermputty
5.以mobaxterm为例,将获得的IP地址,例如上文 192.168.3.10 ,填入IP地址栏,Port端口填入 22 。

Bpi m4 berry mobaxterm 3.jpg

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

Bpi m4 berry 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
2.或在PC浏览器打开NoMachine for ARM - arm64下载页面 下载DEB安装包,然后通过SSH或U盘拷贝到BPI-M4 Berry用户目录中。
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,点击 Add 按钮,在跳转后的窗口中的Host栏输入BPI-M4 Berry的IP地址,再点击 Add 按钮。

Bpi m4 berry nomachine 1.jpg

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

Bpi m4 berry nomachine 2.jpg Bpi m4 berry nomachine 3.jpg

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

Bpi m4 berry nomachine 4.jpg

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

重启,关机

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

WiFi

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

设置静态IP,DNS

1.设置静态IP需先保持连接,如果想设置以太网静态IP,则先保持以太网连接;如果想设置无线网静态IP,则先保持与一个WIFI的连接。
2.如果上级路由器已经将你所想设置的IP地址分配给了其他设备,请更换到空闲的IP,或使其他设备让出该IP。
3.使用 nmcli connection show 命令显示所有连接,例如:
 pi@bpi-m4berry:~$ nmcli connection show
 NAME                UUID                                  TYPE      DEVICE
 TP-LINK_5G_7747     e4a49726-adf1-44d7-a621-0e3af96cc390  wifi      wlx2cc3e6acd5d7
 Wired connection 1  612eda94-55dc-3c85-b05e-f16c41775b4e  ethernet  --
4.使用 nmcli connection show [NAME]命令显示具体某个连接的所有属性,列如:
 nmcli connection show TP-LINK_5G_7747  #如果想看以太网的则改为 Wired connection 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 connection modify TP-LINK_5G_7747 ipv4.addresses 192.168.3.2
6.设置DNS:
 nmcli connection modify TP-LINK_5G_7747 ipv4.dns 8.8.8.8 #Google DNS
7.复位:
 reboot
8.再次启动后检查是否修改成功:
 ifconfig
 nmcli connection show TP-LINK_5G_7747 


网络时间同步

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

查看硬件温度

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

 sensors

修改HDMI输出分辨率

使用Ubuntu桌面版操作系统时,可以在Setting中找到Displays栏,修改分辨率。

Bpi m4 berry ubuntu 2.jpg

使用USB存储设备

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

Bpi m4 berry ubuntu 3.jpg

3.在终端挂载U盘到本地目录中:
 mkdir mnt #在~/用户目录中创建一个单独的目录用于挂载,便于管理
 cat /proc/partitions | 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.在设置的Sound栏中将输出设备设置为HDMI Audio。

Bpi m4 berry ubuntu 4.jpg

3.播放音频。

Bpi m4 berry ubuntu 5.jpg

3.5mm 音频接口

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

Bpi m4 berry ubuntu 6.jpg

3.播放音频。

终端命令播放音频文件

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

使用蓝牙

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

Bpi m4 berry ubuntu 7.jpg

2.在终端通过命令行连接蓝牙设备的方法如下:
pi@bpi-m4berry:~$ sudo bluetoothctl #打开蓝牙设备管理工具
[sudo] password for pi:
Agent registered
[CHG] Controller 2C:C3:E6:AC:D5:D8 Pairable: yes
[bluetooth]# power on #启动蓝牙功能,power off关闭
Changing power on succeeded
[bluetooth]# discoverable on #允许本设备被发现
Changing discoverable on succeeded
[CHG] Controller 2C:C3:E6:AC:D5:D8 Discoverable: yes
[bluetooth]# pairable on #允许设备配对
Changing pairable on succeeded
[bluetooth]# scan on #开始扫描
Discovery started
[CHG] Controller 2C:C3:E6:AC:D5:D8 Discovering: yes
[NEW] Device D4:C4:85:A5:C6:B1 Logitech Pebble #一个蓝牙鼠标的MAC地址与设备名
[CHG] Device D4:C4:85:A5:C6:B1 TxPower: 4
[bluetooth]# pair D4:C4:85:A5:C6:B1 #配对想要连接的蓝牙设备的MAC地址
Attempting to pair with D4:C4:85:A5:C6:B1
[CHG] Device D4:C4:85:A5:C6:B1 Connected: yes
[DEL] Device A4:C1:38:9B:F6:FD SLPO20N20200059
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001812-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00010000-0000-1000-8000-011f2000046d
[CHG] Device D4:C4:85:A5:C6:B1 ServicesResolved: yes
[CHG] Device D4:C4:85:A5:C6:B1 Paired: yes
Pairing successful #配对成功
[CHG] Device D4:C4:85:A5:C6:B1 Modalias: usb:v046DpB021d0007
[bluetooth]# exit #退出蓝牙设备管理工具
pi@bpi-m4berry:~$ 
archlinux bluetooth参考文档

使用红外接收器

1.需要准备一个使用NEC格式的红外遥控。
2.在终端输入以下命令即可开始接收红外信号。
 sudo ir-keytable -c -p NEC -t
 Old keytable cleared
 Protocols changed to nec
 Testing events. Please, press CTRL-C to abort.
 258.553895: lirc protocol(nec): scancode = 0x45
 258.553926: event type EV_MSC(0x04): scancode = 0x45
 258.553926: event type EV_SYN(0x00).
 260.667648: lirc protocol(nec): scancode = 0x46
 260.667671: event type EV_MSC(0x04): scancode = 0x46
 260.667671: event type EV_SYN(0x00).
 260.719552: lirc protocol(nec): scancode = 0x46 repeat
 260.719568: event type EV_MSC(0x04): scancode = 0x46
 260.719568: event type EV_SYN(0x00).
 273.263728: lirc protocol(nec): scancode = 0x47
 273.263753: event type EV_MSC(0x04): scancode = 0x47
 273.263753: event type EV_SYN(0x00).
 273.315591: lirc protocol(nec): scancode = 0x47 repeat
 273.315608: event type EV_MSC(0x04): scancode = 0x47
 273.315608: event type EV_SYN(0x00).

ir-keytable 参考文档

传输文件

scp

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

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

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

可以在Windows终端中将文件拷贝至相同局域网中的Linux系统中,仅需确保已开启Open SSH客户端,在设置>应用>可选功能中可查看。 如果想在Linux系统中拷贝Windows系统中的文件,则还需开启Open SSH服务端。

Bpi m4 berry mobaxterm 6.jpg

scp命令格式为:

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

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

PS D:\temp\temp_4> scp ".\hello.txt" [email protected]:"/home/pi/Downloads/"

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

PS D:\temp\temp_4> scp [email protected]:"/home/pi/Downloads/hello.txt" "D:\temp\temp_4"
其中 [email protected] 为Linux系统中的用户名和BPI-M4 Berry在局域网中的IP地址。
其中 :"/home/pi/Downloads/hello.txt" 为Linux系统中的文件路径。
其中 "D:\temp\temp_4" 为Windows系统中的路径。

scp 参考文档

mobaxterm

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

mobaxterm 下载
mobaxterm-linux 预览版

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

Bpi m4 berry mobaxterm 7.jpg