Banana Pi M2+ 是一款迷你开发板,在小巧便携的外形中提供了出色的计算性能。板体尺寸为 65 mm × 65 mm,采用 Allwinner H 系列芯片。产品有多个版本,但各版本使用相同的接口。
四核 1.2 GHz Cortex-A7 H3
1 GB DDR3
板载 8 GB eMMC
板载 WiFi 和蓝牙
10/100/1000 Mbps 以太网端口
下载 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 启动。
准备一张至少 8 GB 的 TF 卡和一个 USB 转串口适配器。
使用 USB 转串口适配器连接 M2P 的调试控制台。
登录用户名/密码: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-m2_plus-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-m2_plus-xxx.img.zip /dev/sdX
将“xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img”复制到 U 盘。
将 U 盘插入 M2P。
执行以下命令(如果已自动挂载,可跳过此步)
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
关闭 M2P 电源,取出 TF 卡,再次上电后从 eMMC 启动。
例如,将现有镜像更新为支持新版 eMMC 5.1。
* 执行“bpi-tools”,更新 bpi-tools;
* 执行“bpi-update -c bpi-m2p.conf”,下载新驱动并更新镜像
* 执行“file *.tgz”,检查下载文件的类型是否为压缩数据
* 执行“bpi-bootsel”,查看引导加载程序路径:“/usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz”
* 执行“bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz”,更新引导加载程序
* 重新启动
安装工具
apt-get udpate
apt-get install gcc-arm-linux-gnueabihf u-boot-tools
apt-get install pv
curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
克隆代码
git clone: https://github.com/BPI-SINOVOIP/BPI-M2P-bsp.git
./build.sh
准备一张已安装系统(Ubuntu、Raspbian 等)的 SD 卡。
使用该 SD 卡启动 M2P。M2P 启动完成后,复制所需文件并配置系统,然后关闭 M2P。[如果不需要配置系统,可跳过此步]
将 SD 卡插入运行 Linux 的电脑。
cd /media
ln -s <your account> pi
执行
bpi-migrate -c bpi-m2p.conf -c ubuntu-mate-from-sd.conf -d /dev/sdx
完成后即可得到自己的镜像。
要访问 GPIO 引脚,首先需要使用以下命令将其导出
echo XX > /sys/class/gpio/export
XX 是目标引脚的编号。要得到正确编号,需要根据引脚名称(如 PH18)进行计算。
(字母在字母表中的序号 - 1)× 32 + 引脚号
以 PH18 为例:(8 - 1)× 32 + 18 = 224 + 18 = 242,因为 h 是第 8 个字母。
echo "out/in" > /sys/class/gpio/gpio*NUMBER*/direction
echo "0/1" > /sys/class/gpio/gpio*NUMBER*/value
在 M2P 控制台上:
执行
./adbd.sh
ps -ax | grep adbd
检查 adbd 是否已启动
在电脑终端中:
如果 adbd 已成功启动,请用 OTG-USB 线连接 M2P 和运行 Ubuntu 的电脑。
执行
adb devices
检查电脑是否已识别 M2P 的 OTG 设备。
如果已经识别,可以执行
adb shell
此时即可通过 adb 连接 M2P。
可以使用以下两种方法设置 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 客户端
下载 M2P BSP 代码
git clone https://github.com/BPI-SINOVOIP/BPI-M2P-bsp
cd BPI-M2P-bsp
更换启动 Logo
准备一张“.bmp”图片。本例将图片旋转 180°,如下所示:
将图片重命名为“bootlogo.bmp”
将图片放入“sunxi-pack/chips/sun8iw7p1/configs/BPI-M2P-xxxP/” 本例替换“sunxi-pack/chips/sun8iw7p1/configs/BPI-M2P-720P/”目录中的“bootlogo.bmp”:
构建您的代码
./build.sh BPI-M2P-720P
选择 1
项目构建完成后,可以看到“SD”目录
将 Raspbian 镜像烧录到 SD 卡
将您的 SD 卡插入 Ubuntu 电脑
检查 SD 卡是否被识别为 /dev/sdxx。本例中的 SD 卡被识别为 /dev/sde。
然后
cd SD/bpi-m2p/100MB
执行
bpi-bootsel BPI-M2P-720P.img.gz /dev/sde
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
安装 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