Banana Pi BPI-P2 Zero 是一款超紧凑型单板计算机,尺寸仅为 65 mm × 52.5 mm。它采用 Allwinner H2+ 四核 Cortex-A7 处理器(可选 H3 或 H5),配备 512 MB 内存、8 GB eMMC 闪存、百兆以太网和 PoE 功能,适合空间受限的轻量级应用。与其他 Banana Pi 产品一样,它支持 Linux 和 Android 操作系统。
CPU: Allwinner H2+, 四核 Cortex-A7
512 MB DDR3 SDRAM
WiFi(AP6212)及板载蓝牙
Mini HDMI
40 针 GPIO,包含 UART、SPI、I2C、通用 IO 等接口
百兆以太网
支持符合 IEEE 802.3af 标准的 PoE 模块
板载 8 GB eMMC 闪存
下载 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 启动。
Linux 镜像支持从 SD 卡或 eMMC 启动。
建议使用 A1 等级、容量至少为 8 GB 的存储卡。
在 Linux 电脑上安装 bpi-tools(如果使用其他工具烧录镜像,可跳过此步)。如果无法访问该网址或遇到其他安装问题,请前往 bpi-tools 源码仓库手动下载并安装。
$ apt-get install pv
$ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
下载最新的 Linux 镜像,并确认 MD5 校验值正确。
默认登录账号: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-p2_zero-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-p2_zero-xxx.img.zip /dev/sdX
准备一张已烧录 Linux 镜像的 SD 卡,并用该卡启动开发板。
解压镜像并复制到 U 盘,将 U 盘插入开发板并挂载。(如果已自动挂载,可跳过此步)
mount /dev/sdx /mnt
可通过以下两种方式将 Linux 镜像安装到开发板。
| 请确认 eMMC 对应的设备分区。以下命令仅以 mmcblk0 为例,请以实际设备为准。 |
使用 dd 命令烧录。
sudo dd if=/mnt/xxx.bpi-p2_zero-xxx.img of=/dev/mmcblk0 bs=10M status=noxfer
使用 bpi-tools 命令烧录 U 盘中的 Linux 镜像
$ sudo bpi-copy xxx-bpi-p2_zero-xxx.img.zip /dev/mmcblk0
烧录完成后,安全关机并取出 SD 卡。
获取 P2 Zero BSP 源代码
$ git clone https://github.com/BPI-SINOVOIP/BPI-M2P-bsp-4.4
按照 README.md 构建源代码,并将生成的软件包更新到已烧录 BPI 镜像的 SD 卡。
准备一张已安装系统(Ubuntu、Raspbian 等)的 SD 卡
使用该 SD 卡启动 P2 Zero。P2 Zero 启动完成后,复制所需文件并配置系统,然后关闭 P2 Zero 电源。[如果不需要配置系统,可跳过此步]
将 SD 卡插入运行 Linux 的电脑
cd /media
ln -s <your account> pi
执行
bpi-migrate -c bpi-m2z.conf -c ubuntu-mate-from-sd.conf -d /dev/sdx
完成后即可得到自己的镜像
在 P2 Zero 控制台中:
执行
./adbd.sh
ps -ax | grep adbd
检查 adbd 是否已启动
在电脑终端中:
如果 adbd 已成功启动,请用 OTG-USB 线连接 P2 Zero 和运行 Ubuntu 的电脑。
执行
adb devices
检查电脑是否已识别 P2 Zero 的 OTG 设备。
如果已经识别,可以执行
adb shel
此时即可通过 adb 连接 P2 Zero
使用 iperf3 测试网络
使用 bluetoothctl 工具管理蓝牙
执行
bluetoothctl
如果不熟悉 bluetoothctl,请输入“help”查看更多命令
执行以下命令:
可以使用以下两种方法设置 WiFi 客户端
使用命令设置 WiFi 客户端
ip link set wlan0 up
iw dev wlan0 scan | grep SSID
vim /etc/wpasupplicant/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 摄像头。
Guvcview
通过图形界面操作摄像头
Applications → Sound & Video → guvcview
Shell
系统还在 /usr/local/bin 中提供了摄像头测试脚本
测试拍照功能
./test_ov5640_image_mode.sh
测试视频录制功能
./cameratest.sh
如何更改显示分辨率 例如,将 P2 Zero 的 HDMI 显示分辨率改为 1080p。
执行
mount /dev/mmcblk0p1 /mnt
cd /mnt/bananapi/bpi-m2z/linux
找到“sys_config.fex”
执行
vim sys_config.fex
将
screen0_output_mode = 5
改为
screen0_output_mode = 10
保存更改后,使用
fex2bin
命令将 sys_config.fex 转换为二进制文件:“fex2bin sys_config.fex script.bin”,然后重新启动。
参数含义:
安装 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