Banana Pi M3 是一款高性能单板计算机,配备八核处理器和 2 GB 内存,并提供千兆以太网、两个 USB、SATA、WiFi、蓝牙和 HDMI 接口。它可运行 Android、Lubuntu、Ubuntu、Debian 和 Raspbian 等多种操作系统。
| 更多信息:Banana Pi BPI-M3 |
八核 1.8 GHz 高性能 CPU
2 GB LPDDR3 内存
8 GB eMMC 存储
板载 WiFi 和蓝牙
下载 PhoenixCard:https://pan.baidu.com/s/1-fjvPqtG_zewVzqnXf1AHw?pwd=eid9
将 TF 卡插入 TF-USB 读卡器,再将读卡器连接到 Windows 电脑的 USB 接口。
准备好镜像,并下载镜像烧录工具 PhoenixCard.exe。
使用 PhoenixCard.exe 将 Android 镜像烧录到 TF 卡。
在镜像路径选项中选择镜像
选择“卡启动”,然后单击烧录镜像
等待烧录完成
将 TF 卡插入 TF-USB 读卡器,再将读卡器连接到 Windows 电脑的 USB 接口。
准备好镜像,并下载镜像烧录工具 PhoenixCard.exe。
使用 PhoenixCard.exe 将 Android 镜像烧录到 TF 卡。
在镜像路径选项中选择镜像
选择“量产卡”,然后单击烧录镜像
等待烧录完成。
镜像烧录到 SD 卡后,将该卡插入开发板并上电启动。系统启动后,镜像会自动写入开发板的 eMMC。
也可以通过指示灯判断进度:指示灯由常亮变为熄灭时,表示烧录完成。
烧录完成后切断电源并取出 SD 卡。再次上电时,开发板将从 eMMC 启动。
准备一台运行 Ubuntu 的电脑。
在电脑上安装 Docker CE:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce (配置 Docker 环境)
安装 Docker 后,执行以下命令拉取 Docker 镜像
docker pull sinovoip/bpi-build:ubuntu12.04
镜像拉取完成后,创建并进入 Docker 容器,执行
docker run --privileged -d -p 2222:22 -v /media:/media sinovoip/bpi-build:ubuntu12.04
登录 Docker 容器
ssh -p 2222 [email protected] # 默认密码为 root
克隆 M3 BSP 源代码,执行
git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git
构建 M3 BSP 源代码,执行
./build.sh
构建完成后,打开新终端,执行以下命令将编译结果从 Docker 容器中复制出来
docker cp <your container id>:<your project path> <your pc path>
准备一张至少 8 GB 的 TF 卡和一个 USB 转串口适配器。
使用 USB 转串口适配器连接 M3 的调试控制台。
登录用户名/密码:pi/bananapi 或 root/bananapi。
Windows 电脑
使用 Balena Etcher 烧录镜像。+ Balena Etcher 是 Balena 提供的开源图形化烧录工具,可将操作系统镜像写入 SD 卡或 USB 存储设备。
单击“Flash from file”选择镜像。
单击“Select target”选择目标设备。
单击“Flash!”开始烧录。
Linux 电脑
可以选择以下两种方法。
使用 Linux 的 dd 命令烧录镜像。如果 /dev/sdX 的分区被自动挂载,请先卸载。bpi-copy 实际执行的操作与此 dd 命令相同。
$ sudo apt-get install pv unzip
$ sudo unzip -p xxx-bpi-m3-xxx.img.zip | pv | dd of=/dev/sdX bs=10M status=noxfer
使用 Linux 上的 bpi-tools 烧录镜像。将 SD 卡插入 Linux 电脑并执行
$ sudo apt-get install pv unzip
$ sudo bpi-copy xxx-bpi-m3-xxx.img.zip /dev/sdX
将“xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img”复制到 U 盘。
将 U 盘插入 M3。
执行以下命令(如果已自动挂载,可跳过此步)
mont /dev/sda1 /mnt
可以使用以下两种方法将镜像烧录到 eMMC。
使用 bpi-copy 烧录。
bpi-copy xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img
使用 dd 命令烧录。
sudo dd if=/mnt/sda1/xxx-sd-emmc-xxx.img of=/dev/mmcblk0
关闭 M3 电源,取出 TF 卡,再次上电后从 eMMC 启动。
例如,将现有镜像更新为支持新版 eMMC 5.1。
bpi-tools
bpi-update -c bpi-m3.conf
file *.tgz
bpi-bootsel
bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz
reboot
制作一个 Raspbian 镜像
准备一张已安装 Raspbian 系统的 SD 卡
使用该 SD 卡启动 M3。M3 启动完成后,复制所需文件并配置 Raspbian,然后关闭 M3。
将 SD 卡插入 Linux 电脑
cd /media
ln -s <your account> pi
执行
bpi-migrate -c bpi-m3.conf -c raspbian-jessie-from-sd.conf -d /dev/sdx
完成后即可得到自己的镜像
可以尝试使用 Armbian 安装 Docker,镜像地址为 https://dl.armbian.com/bananapim3/Debian_stretch_dev.7z (感谢 Armbian 社区)。
将该镜像下载到 Ubuntu 电脑,然后解压。
7z x Debian_stretch_xxx.img
bpi-copy Debian_stretch_xxx.img /dev/sd< drive letter >
用户名:root,密码:1234
Docker 安装步骤如下:
vim /etc/apt/sources.list
添加软件源:“deb http://http.debian.net/debian jessie-backports main”
apt-get update
apt-get install docker.io
执行测试,确认镜像中是否已安装 Docker。
sudo docker run --rm hello-world
在 M3 上挂载 SATA 硬盘
fdisk -l
mount /dev/sdx /mnt/xxx
如果您在挂载 SATA 时遇到一些错误,请尝试以下命令:
fdisk /dev/sdx
创建新分区,设置分区数量和大小,创建分区后,输入“wq”保存并退出。
mkfs.ext2 /dev/sdx
mount /dev/sdx /mnt/xxx
成功连接 SATA 硬盘后,可以输入以下命令测试 SATA 接口:
测试读取速度
time dd if=/dev/xxx of=/dev/null bs=1M count=1000
测试写入速度
time dd if=/dev/zero of=/dev/sdx bs=1M count=1000
在 M3 控制台上:
执行
./adbd.sh
ps -ax | grep adbd
检查 adbd 是否已启动
在电脑终端中:
如果 adbd 已成功启动,请用 OTG-USB 线连接 M3 和运行 Ubuntu 的电脑。
执行
adb devices
检查电脑是否已识别 M3 的 OTG 设备
如果已经识别,可以执行
adb shell
此时即可通过 adb 连接 M3
执行
bpi-bootsel
此时会显示启动文件列表。找到“BPI_M3_LCD7.img.gz”
然后执行
bpi-bootsel /usr/lib/u-boot/bananapi/bpi-M3/BPI_M3_LCD7.img.gz
使用 iperf3 测试 GMAC
在电脑终端中:
iperf3 -s
在 M3 控制台上:
TCP 测试
iperf3 -c serverIP
UDP 测试
iperf3 -u -c serverIP
可以使用以下两种方法设置 WiFi 客户端
使用命令设置 WiFi 客户端
ip link set wlan0 up
iw dev wlan0 scan | grep SSID
vim /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="ssid"
psk="password"
priority=1
}
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
dhclient wlan0
使用图形界面设置 WiFi 客户端
git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB
bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
本例使用 HDF5640 摄像头和 HDF8865。
Guvcview
通过图形界面操作摄像头
Applications → Sound & Video → guvcview
Shell
OV5640
系统还在“/usr/local/bin”中提供了摄像头测试脚本
测试拍照功能
./test_ov5640_image_mode.sh
测试视频录制功能
./cameratest.sh
OV8865
/test_ov8865.sh
安装 Bpi-tools
curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash -
更新 Bpi-tools
bpi-tools
安装 RPi.GPIO
git clone https://github.com/BPI-SINOVOIP/RPi.GPIO"
cd RPi.GPIO
sudo apt-get update
sudo apt-get install python-dev python3-dev
执行
sudo python setup.py install
或者
sudo python3 setup.py install
安装模块
使用 RPi.GPIO
cd /usr/local/bin
./bpi_test_g40.py
系统还在“/usr/local/bin”中提供了内置测试命令
如何更新 WiringPi
执行
bpi-update -c pkglist.conf
执行
bpi-update -c bpi-pkg-bpi-wiringpi.conf
RGB 1602 LCD
执行
/usr/local/bin/bpi_test_lcd1602.sh
0.96 英寸 OLED 显示屏
执行
/usr/local/bin/bpi_test_52pi.sh
8×8 RGB LED 矩阵
首先需要一块用于 8×8 LED 矩阵的 GPIO 扩展板
执行
/usr/local/bin/bpi_test_gpio40.sh