Getting Started with M3 - Banana Pi Wiki
Introduction
BPI-M3
Overview: BPI-M3 respbian linux
Overview: BPI-M3 debian linux
Overview: BPI-M3 ubuntu linux
Read more about : Banana Pi BPI-M3
Key Features
Octa-core 1.8GHz Powerful CPU
2 GB LPDDR3 memory
8 GB eMMC storage
WiFi & Bluetooth onboard
Development For Android
Load your first image on M3
Load your image on M3 EMMC
How to buld M3 Bsp code
Development For Linux
Let's get start to develop on BPI-M3, see amazing things happen.
Basic Development
Prepare to develop
Load your first image on M3
Load your first image on M3 EMMC
Update your image
For example, update your image to support new emmc5.1
Make your own image
Make one raspbian image
Prepare a SD card which have installed Raspbian system
Boot your SD card with M3, after M3 finish starting, copy your files and config your Raspbian, then poweroff M3
Plug your SD card in Linux PC, "cd /media", then "ln -s pi"
Execute "bpi-migrate -c bpi-m3.conf -c raspbian-jessie-from-sd.conf -d /dev/sdx"
Then you could get your own image now
Advanced Development
Install Docker
You could try armbian to install docker, here is the image: https://dl.armbian.com/bananapim3/Debian_stretch_dev.7z (Here Thanks for the armbian community)
Download this image to your ubuntu PC (I am using ubuntu PC), then decompress it
7z x Debian_stretch_xxx.img
bpi-copy Debian_stretch_xxx.img /dev/sd< drive letter >
Here are steps to install docker:
vim /etc/apt/sources.list
add this source:“deb http://http.debian.net/debian jessie-backports main”
apt-get update
apt-get install docker.io
To have a test, if docker has installed in your image.
sudo docker run --rm hello-world
SATA
1. Mount SATA on M3
After insert sata interface, execute "fdisk -l"
Then "mount /dev/sdx /mnt/xxx"
2. If you meet some errors when you mount SATA, try these following commands:
"fdisk /dev/sdx" to create new partition , set your partition numbers and size, after created partitions, input "wq" to save and quit.
"mkfs.ext2 /dev/sdx" to format the SATA
"mount /dev/sdx /mnt/xxx"
3. After you success to insert SATA, we could input following commands to test SATA interface:
"time dd if=/dev/xxx of=/dev/null bs=1M count=1000" to test read speed
"time dd if=/dev/zero of=/dev/sdx bs=1M count=1000" to test write speed
OTG
1. On M3 console:
Execute "./adbd.sh", then execute "ps -ax | grep adbd" to see if adbd is set up
2. On PC terminal:
If adbd was succeed to set up, insert OTG-USB interface to M3 and PC(with Ubuntu system)
Execute "adb devices" to see if PC has recognised M3 OTG
If yes, we could execute "adb shell" to connect M3 by adb now
LCD 5" & LCD 7"
Execute "bpi-bootsel", you'll see a list of boot files
Find "BPI_M3_LCD7.img.gz"
Then execute "bpi-bootsel /usr/lib/u-boot/bananapi/bpi-M3/BPI_M3_LCD7.img.gz"
Touch screen
GMAC
Use iperf3 to test gmac
1. On PC Terminal:
Execute "iperf3 -s"
2. On M3 console:
TCP test: "iperf3 -c serverIP"
UDP test: "iperf3 -u -c serverIP"
Bluetooth
Use bluetoothctl tool to operate BT
Execute "bluetoothctl"
If you don't know how to use bluetoothctl, type "help", you will see more commands
Execute these commands:
WiFi on M3
WiFi Client
You have two ways to setup WiFi Client
1. Use commands to setup WiFi client
ip link set wlan0 up
iw dev wlan0 scan | grep SSID
vim /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
dhclient wlan0
2. Use UI interface to setup WiFi Client
Clear boot
bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
Camara function
We use HDF5640(The left one) camara and HDF8865(The right one).
Guvcview
Use your UI interface to operate camara
Applications -> Sound & Video -> guvcview
Shell
Ov5640
We also have built-in command in "/usr/local/bin" to test camara
"./test_ov5640_image_mode.sh" to test picture taking function
"./cameratest.sh" to test video recording function
Ov8865
"/test_ov8865.sh"
IR function
Execute "getevent"
Use your IR device to send information to M3
BPI-Tools
Install Bpi-tools
Execute "curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash - "
Update Bpi-tools
Execute "bpi-tools"
RPi.GPIO
Install RPi.GPIO
Execute "git clone https://github.com/BPI-SINOVOIP/RPi.GPIO"
after clone the repo, cd RPi,GPIO
Execute "sudo apt-get update"
Execute "sudo apt-get install python-dev python3-dev"
Execute "sudo python setup.py install" or "sudo python3 setup.py install" to install the module
Using RPi.GPIO
cd /usr/local/bin
Execute "./bpi_test_g40.py" to test RPi.GPIO
WiringPi
We also have built-in test command in "/usr/local/bin"
How to Update WiringPi
Execute "bpi-update -c pkglist.conf"
Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf"
RGB 1602 LCD
Execute "/usr/local/bin/bpi_test_lcd1602.sh"
0.96 Inch OLED Display
Execute "/usr/local/bin/bpi_test_52pi.sh"
8x8 RGB LED Martix
Firstly you need a GPIO Extend Board for 8x8 LED Martix
Execute "/usr/local/bin/bpi_test_gpio40.sh"
GPU
Execute "glmark2-es" to start OpenGL test
glmark2 Score: 258
File System
read only system change to read & write mode: "mount -o remount,rw /"
FAQ
Last updated