Banana Pi M2+ is mini size development board that offers great computing performance in an ultra portable form factor.It is a 65mm*65mm fantastic mini size board with Allwinner H series chips. It comes with different versions but share the same interfaces.
More Infomation: Banana Pi BPI-M2 Plus |
Quad-core 1.2GHz Cortex-A7 H3
1GB DDR3
8GB eMMC onboard
WiFi and BlueTooth onboard
10/100/1000Mbps Ethernet Port
Download PhoenixCard: https://pan.baidu.com/s/1-fjvPqtG_zewVzqnXf1AHw?pwd=eid9
Put your TF card into a TF-USB adapter, and then plug adapter in your Windows PC usb interface.
Prepare your image, and download image burning tools PhoenixCard.exe.
Use "PhoenixCard.exe" to burn android image to TF card.
Select the image in the image path option
Select set as card startup, then click on burn image
Burning ended,
Put your TF card into a TF-USB adapter, and then plug adapter in your Windows PC usb interface.
Prepare your image, and download image burning tools PhoenixCard.exe.
Use "PhoenixCard.exe" to burn android image to TF card.
Select the image in the image path option
Select mass production card,then click on burn image
Burning ended.
After the image is burned, insert the SD card into the board and power on to start.After startup, the image will be automatically burned to the EMMC.
After the burning is completed, the power will be cut off, and the SD card will be removed. Power on again to start from EMMC.
Prepare 8G/above TF card, USB-Serial interface
Using your USB-Serial Connect debug console on M2P
Login user/password: pi/bananapi or root/bananapi.
Windows PC
Install Image with Balena Etcher.
Balena Etcher is an opensource GUI flash tool by Balena, Flash OS images to SDcard or USB drive.
Click on "Flash from file" to select image.
Click on "Select target" to select USB device.
Click on "Flash!" Start burning.
Linux PC
There are two methods for you to choose from.
Install Image with dd command on Linux, umount SDcard device /dev/sdX partition if mounted automatically. Actually bpi-copy is the same as this dd command.
$ 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
Install image with bpi-tools on Linux, plug SDcard to Linux PC and run
$ sudo apt-get install pv unzip
$ sudo bpi-copy xxx-bpi-m2_plus-xxx.img.zip /dev/sdX
Copy "xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to your USB disk
Plug your USB disk in M2P
Execute(If it is automatically mounted, skip this step)
mont /dev/sda1 /mnt
There are two methods to burn images to eMMC.
Using bpi-copy for burning.
bpi-copy xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img
Using the dd command for burning.
sudo dd if=/mnt/sda1/xxx-sd-emmc-xxx.img of=/dev/mmcblk0
Then power off M2P, take TF card out, power on M2P with EMMC
For example, update your image to support new emmc5.1
* execute “bpi-tools”, to update your bpi tools;
* execute “bpi-update -c bpi-m2p.conf”, to download new driver to update your image
* execute “file *.tgz”, to check download files’ type is compressed data
* execute “bpi-bootsel”, you will see the bootloader path, “/usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz”
* execute “bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz”, to update your bootloader
* reboot
Install tools
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
Clone code
git clone: https://github.com/BPI-SINOVOIP/BPI-M2P-bsp.git
./build.sh
Prepare a SD card which have installed system(Ubuntu/Raspbian/..)
Boot your SD card with M2P, after M2P finish starting, copy your files and config your system, then poweroff M2P. [If you don’t want to config your system, you can skip this step]
Plug your SD card in PC(which is running Linux)
cd /media
ln -s <your account> pi
Execute
bpi-migrate -c bpi-m2p.conf -c ubuntu-mate-from-sd.conf -d /dev/sdx
Then you could get your own image now
To access a GPIO pin you first need to export it with
echo XX > /sys/class/gpio/export
with XX being the number of the desired pin. To obtain the correct number you have to calculate it from the pin name (like PH18)
(position of letter in alphabet - 1) * 32 + pin number
for PH18 this would be ( 8 - 1) * 32 + 18 = 224 + 18 = 242 (since 'h' is the 8th letter)
echo "out/in" > /sys/class/gpio/gpio*NUMBER*/direction
echo "0/1" > /sys/class/gpio/gpio*NUMBER*/value
On M2P console:
Execute
./adbd.sh
ps -ax | grep adbd
see if adbd is set up
On PC terminal:
If adbd was succeed to set up, insert OTG-USB interface to M2P and PC(with Ubuntu system)
Execute
adb devices
see if PC has recognised M2P OTG.
If yes, we could execute
adb shell
connect M2P by adb now.
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:
Driver code: https://github.com/BPI-SINOVOIP/BPI_WiFi_Firmware
You have two ways to setup WiFi Client
Use commands to setup WiFi client
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
Use UI interface to setup WiFi Client
Download M2P bsp code
git clone https://github.com/BPI-SINOVOIP/BPI-M2P-bsp
cd BPI-M2P-bsp
Change to your boot logo
Prepare a ".bmp" picture, here I rotate 180°, as follows :
Change your picture name as "bootlogo.bmp"
put your picture to "sunxi-pack/chips/sun8iw7p1/configs/BPI-M2P-xxxP/" Here I replaced “bootlogo.bmp” which is under “sunxi-pack/chips/sun8iw7p1/configs/BPI-M2P-720P/” as an example:
Build your code
./build.sh BPI-M2P-720P
choose 1
After you built the project, you will see “SD” directory
Install a raspbian image on your SD card
Plug your SD card into your Ubuntu PC
check your SD card was recognised as /dev/sdxx, as you can see, mine sd card was recognised as /dev/sde
Then
cd SD/bpi-m2p/100MB
Execute
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
We use HDF5640 camara.
Guvcview
Use your UI interface to operate camara
Applications → Sound & Video → guvcview
Shell
We also have built-in command in /usr/local/bin to test camara
Test picture taking function
./test_ov5640_image_mode.sh
Test video recording function
./cameratest.sh
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
Install 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
Install the module
sudo python setup.py install
or
sudo python3 setup.py install
Using RPi.GPIO
cd /usr/local/bin
./bpi_test_g40.py
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