Banana Pi BPI-M64 是一款 64 位四核迷你单板计算机,配备 2 GB 内存和 8 GB eMMC,并集成 WiFi 与蓝牙。接口包括两个 USB 2.0 Type-A、一个 USB OTG、一个 HDMI、一个音频插孔和一个直流电源接口。其处理器与 R18 引脚兼容,因此产品分为 M64 和 M64-R18 两个版本。
| 更多信息:Banana Pi BPI-M64 |
A64
1.2 GHz 四核 64 位 ARM Cortex-A53 处理器(A64)
2 GB DDR3 SDRAM
8 GB eMMC
10/100/1000 Mbps 以太网
WiFi(AP6212)及蓝牙
R18
1.2 GHz 四核 64 位 ARM Cortex-A53 处理器(R18)
2 GB DDR3 SDRAM
8 GB eMMC
10/100/1000 Mbps 以太网
WiFi(AP6212)及蓝牙
准备一根 USB 转串口线、一根 Micro-USB 线,以及一台运行 Linux 或 Windows 7/10 的电脑。
USB 转串口线用于控制台调试,Micro-USB 线用于下载镜像和 ADB 调试。
M64 开发板只能通过直流电源启动。
如果要将 SD 卡用作 Android 存储,而该卡曾烧录过 Linux 镜像或其他 Allwinner 可启动镜像,请从第 0 个块开始格式化 SD 卡。
下载并安装 Allwinner 镜像下载工具:Windows 使用 PhoenixSuit,Linux 使用 LiveSuit。
打开 PhoenixSuit,单击 Firmware 图标切换到固件下载面板,再单击 Image 按钮并选择 Android 镜像文件。
断开 M64 的直流电源,按住 uboot-key 按钮(新版开发板上的 UART 调试引脚),再用 Micro-USB 线连接电脑,此时会弹出警告对话框。
单击 Yes 继续;出现第二个警告对话框后,再次单击 Yes。
正在下载
下载完成
按照 LiveSuit 安装包中的 Readme.pdf 完成安装后,以 root 权限运行 LiveSuit.sh。后续下载流程与 PhoenixSuit 基本相同。
获取 Android 源代码
Android 7.1
$ git clone https://github.com/BPI-SINOVOIP/BPI-A64-Android7
Android 6.1
$ git clone https://github.com/BPI-SINOVOIP/BPI-A64-Android
准备一张至少 8 GB 的 TF 卡、一个 USB 转串口适配器,以及一台运行 Ubuntu 的电脑。
使用 USB 转串口适配器连接 M64 的调试控制台。
M64 开发板只能通过直流电源启动。
在 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
下载最新的 BPI 镜像。
登录用户名/密码: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-m64-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-m64-xxx.img.zip /dev/sdX
准备一张已烧录 Linux 镜像的 SD 卡,并用该卡启动开发板。
解压镜像并复制到 U 盘,将 U 盘插入开发板并挂载。(如果已自动挂载,可跳过此步)
mount /dev/sdx /mnt
可通过以下两种方式将 Linux 镜像安装到开发板。
使用 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 卡。
默认发布镜像使用 HDMI 启动模式。首次启动后,可以切换为 LCD 启动模式,以支持 BPI 7 英寸 LCD。
$ sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m64/BPI-M64-LCD7-linux4.4-8k.img.gz
$ reboot
如需使用触摸面板(TP),请加载触摸屏驱动程序
$ sudo modprobe gt9xxnew_ts.ko
使用 iperf3 测试 GMAC
在电脑终端中:
执行
iperf3 -s
在 M64 控制台中:
TCP 测试:
iperf3 -c serverIP
UDP 测试:
iperf3 -u -c serverIP
使用 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 客户端
安装 hostapd 并创建配置文件 hostapd.conf:
interface=wlan0
driver=nl80211
ssid=test
hw_mode=g
channel=1
执行命令
hostapd -d /<path>/hostapd.conf
如果遇到如下问题:
可以使用以下命令解决:
nmcli radio wifi off
rfkill unblock 1
rfkill unblock 2
ifconfig wlan0 up
hostapd -d hostapd.conf
git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB
bpi-bootsel BPI-cleanboot-8k.img.gz /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
本例使用 HDF5640 摄像头。
Guvcview
通过图形界面操作摄像头
Applications → Sound & Video → guvcview
Shell
系统还在“/usr/local/bin”中提供了摄像头测试脚本
测试拍照功能
./test_ov5640_image_mode.sh
测试视频录制功能
./cameratest.sh
红外功能
执行
getevent
使用红外设备向 A64 发送信息
安装 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