Getting Started with M2 Zero

From Banana Pi Wiki
Revision as of 18:36, 22 May 2018 by JackZengWiki (talk | contribs) (Introduction)
Jump to: navigation, search

Introduction

BPI-M2U

  Banana Pi M2 Zero is an ultra compact single board computer measures only 60mm*30mm. It uses quad-core Cortex A7 allwinner H2+ processor, with 512MB RAM memory. It's ideal for light-weight systems with some space-limited applications. Like other members of Banana Pi, it supports both linux and android operating system.

Key Features

  • Quad Core ARM Cortex A7 CPU H2+
  • 512MB SDRAM.
  • WiFi (AP6212) & Bluetooth onboard.
  • Mini HDMI.

Development

Let's get start to develop on BPI-M2P, see amazing things happen.

Basic Development

Prepare to develop

 * Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
 * Using your USB-Serial Connect debug console on M2P

Load your first image on M2P

 1.You could download latest image from our forum
 * Here is the example forum thread link: http://forum.banana-pi.org/t/banana-pi-bpi-m2p-new-image-release-ubuntu-16-04-v1-1/5719
 
 2.Install bpi-tools on your Ubuntu
 * apt-get install pv
 * curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
 
 3.After you download the image, insert your TF card into your Ubuntu
 * Execute "bpi-copy xxx.img /dev/sdx" to install image on your TF card.
 
 4.After step 3, then you can insert your TF card into M2P, and press power button setup M2P.

Load your first image on M2P EMMC

 * Run your M2P with TF card
 * Copy "xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to your USB disk
 * Plug your USB disk in M2P
 * After M2P recognise USB disk, execute "bpi-copy xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to install image on EMMC
 * Then power off M2P, take TF card out, power on M2P with EMMC

Advanced Development

How to build uboot & kernel

How to create a image

  • 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", then "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

OTG

1. On M2P 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 M2P and PC(with Ubuntu system)
  • Execute "adb devices" to see if PC has recognised M2P OTG
  • If yes, we could execute "adb shell" to connect M2P by adb now

GMAC

  • Use iperf3 to test gmac

M2P GMAC.png

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:

M2P BT bluetoothctl.png

M2P BT.png

WiFi on M2P

Driver code:

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/wpasupplicant/wpa_supplicant.conf
  • network={ ssid="ssid" psk="password" priority=1 }
  • wpa_supplicant -B -dd -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  • dhclient wlan0

2. Use UI interface to setup WiFi Client

Clear boot

Camara function

We use HDF5640 camara.

Ov5640 camara.png

Guvcview

  • Use your UI interface to operate camara
  • Applications -> Sound & Video -> guvcview

Guvcview ov5640.png

  • 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

IR function

  • Execute "getevent"
  • Use your IR device to send information to M2P

IR getevent.png

WringPi

RGB 1602 LCD

  • Execute "/usr/local/bin/bpi_test_lcd1602.sh"

WringPi 1602 LCD.png

0.96 Inch OLED Display

  • Execute "/usr/local/bin/bpi_test_52pi.sh"

WringPi 0.96 OLED.png

8x8 RGB LED Martix

  • Firstly you need a GPIO Extend Board for 8x8 LED Martix

WringPi LED Martix Extend Board.png

  • Execute "/usr/local/bin/bpi_test_gpio40.sh"

WringPi LED Martix.png

FAQ