Difference between pages "Getting Started with M2M" and "Getting Started with M2 Ultra & Berry"

From Banana Pi Wiki
(Difference between pages)
Jump to: navigation, search
 
(WringPi)
 
Line 1: Line 1:
[[zh:快速上手 香蕉派 BPI-M2 Magic]]
+
[[zh:快速上手 香蕉派 BPI-M2 Ultra / BPI-M2 Berry]]
 
=Introduction=
 
=Introduction=
==BPI-M2M==
+
==BPI-M2U==
[[File:M2M_ubuntu.png|thumb|Overview: BPI-M2M ubuntu linux]]
+
[[File:Banana_pi_BPI-M2_Ultra_4.JPG|thumb|Overview [[Banana Pi BPI-M2U ]]]]
 +
[[File:Banana_pi_BPI-M2_Berry_5.JPG|thumb|Overview [[Banana Pi BPI-M2 Berry]]]]
 +
[[File:M2p_respbian.png|thumb|Overview: BPI-M2U respbian linux]]
  
   Banana Pi M2M is another ARM SoC powered development board that offers great computing performance in an ultra portable form factor. It is a 51mm square with Allwinner A33 Quad-core A7 SoC and 512MB DDR3 RAM.  
+
   Banana Pi BPI-M2 Ultra is a quad-core mini single board computer built with Allwinner R40 SoC. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M2 Ultra has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, a DC power port, and last but not least, a SATA port..  
  
*Read more about : [[Banana Pi BPI-M2M]]
+
*Read more about : [[Banana Pi BPI-M2U]]
  
 
===Key Features===
 
===Key Features===
* Quad Core ARM Cortex A7 CPU. R16
+
* Quad Core ARM Cortex A7 CPU R40
* 512MB DDR3 SDRAM
+
* 2GB DDR3 SDRAM
 +
* 8 GB eMMC storage
 
* WiFi (AP6212) & Bluetooth onboard
 
* WiFi (AP6212) & Bluetooth onboard
 +
* SATA Interface
 +
 +
==BPI-M2 Berry==
 +
  Banana Pi BPI-M2 Berry is a quad-core mini single board computer built with Allwinner V40 SoC. It features 1GB of RAM . It also has onboard WiFi and BT. On the ports side, the BPI-M2 Ultra has 4 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, a DC power port, and last but not least, a SATA port..
 +
 +
*Read more about : [[Banana Pi BPI-M2 Berry]]
 +
 +
===Key Features===
 +
* Quad Core ARM Cortex A7 CPU V40.
 +
* 1GB DDR3 SDRAM.
 +
* WiFi (AP6212) & Bluetooth onboard.
 +
* SATA Interface
  
 
=Development=
 
=Development=
 +
Let's get start to develop on BPI-M2U, see amazing things happen.
 
==Basic Development==
 
==Basic Development==
 
===Prepare to develop===
 
===Prepare to develop===
 
   * Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
 
   * Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
   * Using your USB-Serial Connect debug console on M2M
+
   * Using your USB-Serial Connect debug console on M2P
 +
 
 +
===Load your first image on M2U===
 +
  1.You could download latest image from our forum
 +
  * Here is an example image link: http://forum.banana-pi.org/t/banana-pi-bpi-m2u-berry-new-image-release-raspbian-jessie-8-0-2018-5-24/5812
 +
 
 +
  2.Install bpi-tools on your system
 +
  * 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.
 
    
 
    
   [[Image:M2M__debug_console.png | 240px]]  [[Image:M2M__pin_define.png | 240px]]
+
   4.After step 3, then you can insert your TF card into M2U, and press power button setup M2U
  
===Compile code===
+
===Load your first image on M2U EMMC===
* git clone https://github.com/BPI-SINOVOIP/BPI-M2M-bsp.git
+
  * Run your M2U with TF card
[[Image:m2m_code.png]]
+
  * Copy "xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to your USB disk
 +
  * Plug your USB disk in M2U
 +
  * After M2U 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 M2U, take TF card out, power on M2U
  
After download code, execute "./build.sh" to compile it.
+
==Advanced Development==
 +
===How to build uboot & kernel===
 +
====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-M2U-bsp.git
 
* ./build.sh
 
* ./build.sh
[[Image:m2m_build.png]]
+
===SATA===
 +
1. Mount SATA on M2U
  
[[Image:m2m_build_success.png]]
+
  [[Image:M2U_Sata.png]]
  
===Update your image===
+
* After insert sata interface, execute "fdisk -l"
====Update rootfs & kernal====
+
  [[Image:M2U_Sata_fdisk_l.png]]
After we succeed to the code, Bootloader, kernel, rootfs will be generated in "SD" directory, then how to update the image?
 
  
* cd SD/bpi-m2m
+
* Then "mount /dev/sdx /mnt/xxx"
  
[[Image:m2m_code_sd.png]]
+
2. If you meet some errors when you mount SATA, try these following commands:
  
Plug in your SD card to Ubuntu PC, then execute "fdisk -l" to check which /dev/sdX were generated by system
+
* "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"
  
[[Image:m2m_code_sd_dev.png]]
+
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
 +
  [[Image:Sata_test.png]]
  
* bpi-update -c bpi-m2m.conf -d /dev/sde
+
===OTG===
 +
1. On M2U console:
 +
* Execute "./adbd.sh", then execute "ps -ax | grep adbd" to see if adbd is set up
 +
  [[Image:M2P_ADBD.png]]
  
[[Image:m2m_bpi_update.png]]
+
2. On PC terminal:
 +
* If adbd was succeed to set up, insert OTG-USB interface to M2U and PC(with Ubuntu system)
 +
* Execute "adb devices" to see if PC has recognised M2U OTG
 +
* If yes, we could execute "adb shell" to connect M2U by adb now
 +
  [[Image:M2P_ADBD_Shell.png]]
  
====Update boot====
+
===LCD 5" & LCD 7"===
* cd 100MB
+
* Execute "bpi-bootsel", you'll see a list of boot files
 +
* Find "BPI_M2U_LCD7.img.gz"
 +
* Then execute "bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2u/BPI_M2U_LCD7.img.gz"
 +
  [[Image:M2U_bootsel_lcd7.png]]
  
Execute "df -l" to check which /dev/sdX is "BPI-BOOT"
+
===Touch screen===
* df -l
 
[[Image:m2m_df_l.png]]
 
* bpi-bootsel BPI-M2M-LCD7-8k.img.gz /dev/sd1
 
[[Image:m2m_bootsel.png]]
 
  
===Make your own image===
+
===GMAC===
 +
Use iperf3 to test gmac
 +
 
 +
1. On PC Terminal:
 +
* Execute "iperf3 -s"
 +
 
 +
2. On M2U console:
 +
* TCP test: "iperf3 -c serverIP"
 +
* UDP test: "iperf3 -u -c serverIP"
 +
[[Image:M2U_Gmac_test.png]]
  
 
===Bluetooth===
 
===Bluetooth===
Line 62: Line 120:
 
* Execute "bluetoothctl"
 
* Execute "bluetoothctl"
 
* If you don't know how to use bluetoothctl, type "help", you will see more commands
 
* If you don't know how to use bluetoothctl, type "help", you will see more commands
* Execute these commands:  
+
* Execute these commands:
[[Image:M2M_BT_bluetoothctl.png]]
+
 
 +
[[Image:M2U_bluetooth.png]]
  
===WiFi Client===
+
===WiFi on M2U===
 +
====WiFi Client====
 
'''You have two ways to setup WiFi Client'''
 
'''You have two ways to setup WiFi Client'''
  
Line 72: Line 132:
 
* iw dev wlan0 scan | grep SSID
 
* iw dev wlan0 scan | grep SSID
 
* vim /etc/wpasupplicant/wpa_supplicant.conf  
 
* vim /etc/wpasupplicant/wpa_supplicant.conf  
* network={    ssid="ssid"    psk="password"    priority=1 }
+
  network={     
* wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
+
  ssid="ssid"     
 +
  psk="password"     
 +
  priority=1  
 +
  }
 +
* wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
 
* dhclient wlan0
 
* dhclient wlan0
  
 
2. Use UI interface to setup WiFi Client
 
2. Use UI interface to setup WiFi Client
  
===NAS Application===
+
===Clear boot===
1. Usb hub + sata to usb
+
* git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB
* HDD is supported
+
* bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
[[Image:M2m_connect_hdd.png]]
 
 
 
[[Image:M2m_connect_hdd_cmd.png]]
 
 
 
* SSD is supported
 
[[Image:M2m_connect_ssd.png]]
 
 
 
[[Image:M2m_connect_ssd_cmd.png]]
 
  
 
===Camara function===
 
===Camara function===
Line 97: Line 153:
 
* Use your UI interface to operate camara
 
* Use your UI interface to operate camara
 
* Applications -> Sound & Video -> guvcview
 
* Applications -> Sound & Video -> guvcview
 
 
====Shell====
 
====Shell====
* We also have built-in command in /usr/local/bin to test camara
+
* We also have built-in command in "/usr/local/bin" to test camara
 
* "./test_ov5640_image_mode.sh" to test picture taking function
 
* "./test_ov5640_image_mode.sh" to test picture taking function
 
* "./cameratest.sh" to test video recording function
 
* "./cameratest.sh" to test video recording function
  
===BPI-Tools===
+
===IR function===
====Install Bpi-tools====
+
* Execute "getevent"
* Execute "curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash - "
+
* Use your IR device to send information to M2U
 
 
====Update Bpi-tools====
 
* Execute "bpi-tools"
 
[[Image: Bpi-tools.png]]
 
  
 
===RPi.GPIO===
 
===RPi.GPIO===
 
====Install RPi.GPIO====
 
====Install RPi.GPIO====
 
* Execute "git clone https://github.com/BPI-SINOVOIP/RPi.GPIO"
 
* Execute "git clone https://github.com/BPI-SINOVOIP/RPi.GPIO"
* after clone the repo, cd RPi.GPIO
+
* after clone the repo, cd RPi,GPIO
 
* Execute "sudo apt-get update"
 
* Execute "sudo apt-get update"
 
* Execute "sudo apt-get install python-dev python3-dev"
 
* Execute "sudo apt-get install python-dev python3-dev"
Line 125: Line 176:
 
[[Image: RPi_GPIO.png]]
 
[[Image: RPi_GPIO.png]]
  
===WiringPi===
+
===WringPi===
 
* GitHub: https://github.com/BPI-SINOVOIP/BPI-WiringPi2.git
 
* GitHub: https://github.com/BPI-SINOVOIP/BPI-WiringPi2.git
 
* We also have built-in test command in "/usr/local/bin"
 
* We also have built-in test command in "/usr/local/bin"
 
====How to Update WiringPi====
 
* Execute "bpi-update -c pkglist.conf"
 
[[Image: Update_Pkglist.png]]
 
 
* Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf"
 
[[Image: Update_WringPi.png]]
 
  
 
====RGB 1602 LCD====
 
====RGB 1602 LCD====
 
* Execute "/usr/local/bin/bpi_test_lcd1602.sh"
 
* Execute "/usr/local/bin/bpi_test_lcd1602.sh"
[[Image: WringPi_1602_LCD_m2m.png]]
 
  
 
====0.96 Inch OLED Display====
 
====0.96 Inch OLED Display====
Line 148: Line 191:
  
 
* Execute "/usr/local/bin/bpi_test_gpio40.sh"
 
* Execute "/usr/local/bin/bpi_test_gpio40.sh"
[[Image: WringPi_LED_Martix_m2m.png]]
+
 
 +
===File System===
 +
* read only system change to read & write mode: "mount -o remount,rw /"
 +
 
 +
===Install Qt5.7 & Qtcreator===
 +
1.Prepare a 32Gb TF card
 +
 
 +
2.Use GParted to resize root point '/' as 32Gb
 +
 
 +
3.apt-get install libxcb*
 +
 
 +
4.download qt5.7
 +
 
 +
5.make & make install
 +
 
 +
6.apt-get install qtcreator
 +
 
 +
7.Config qtcreator
 +
 
 +
==FAQ==
 +
 
 +
=Reference Link=
 +
 
 +
http://www.banana-pi.org/m2plus.html
 +
 
 +
http://forum.banana-pi.org/

Revision as of 00:45, 29 July 2019

Introduction

BPI-M2U

Overview: BPI-M2U respbian linux
  Banana Pi BPI-M2 Ultra is a quad-core mini single board computer built with Allwinner R40 SoC. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M2 Ultra has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, a DC power port, and last but not least, a SATA port.. 

Key Features

  • Quad Core ARM Cortex A7 CPU R40
  • 2GB DDR3 SDRAM
  • 8 GB eMMC storage
  • WiFi (AP6212) & Bluetooth onboard
  • SATA Interface

BPI-M2 Berry

  Banana Pi BPI-M2 Berry is a quad-core mini single board computer built with Allwinner V40 SoC. It features 1GB of RAM . It also has onboard WiFi and BT. On the ports side, the BPI-M2 Ultra has 4 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, a DC power port, and last but not least, a SATA port..

Key Features

  • Quad Core ARM Cortex A7 CPU V40.
  • 1GB DDR3 SDRAM.
  • WiFi (AP6212) & Bluetooth onboard.
  • SATA Interface

Development

Let's get start to develop on BPI-M2U, 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 M2U

 1.You could download latest image from our forum
 * Here is an example image link: http://forum.banana-pi.org/t/banana-pi-bpi-m2u-berry-new-image-release-raspbian-jessie-8-0-2018-5-24/5812 
 
 2.Install bpi-tools on your system
 * 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 M2U, and press power button setup M2U

Load your first image on M2U EMMC

 * Run your M2U with TF card
 * Copy "xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to your USB disk
 * Plug your USB disk in M2U
 * After M2U 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 M2U, take TF card out, power on M2U

Advanced Development

How to build uboot & kernel

Install tools

Clone code

SATA

1. Mount SATA on M2U

 M2U Sata.png
  • After insert sata interface, execute "fdisk -l"
 M2U Sata fdisk l.png
  • 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
 Sata test.png

OTG

1. On M2U console:

  • Execute "./adbd.sh", then execute "ps -ax | grep adbd" to see if adbd is set up
 M2P ADBD.png

2. On PC terminal:

  • If adbd was succeed to set up, insert OTG-USB interface to M2U and PC(with Ubuntu system)
  • Execute "adb devices" to see if PC has recognised M2U OTG
  • If yes, we could execute "adb shell" to connect M2U by adb now
 M2P ADBD Shell.png

LCD 5" & LCD 7"

  • Execute "bpi-bootsel", you'll see a list of boot files
  • Find "BPI_M2U_LCD7.img.gz"
  • Then execute "bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2u/BPI_M2U_LCD7.img.gz"
 M2U bootsel lcd7.png

Touch screen

GMAC

Use iperf3 to test gmac

1. On PC Terminal:

  • Execute "iperf3 -s"

2. On M2U console:

  • TCP test: "iperf3 -c serverIP"
  • UDP test: "iperf3 -u -c serverIP"

M2U Gmac test.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:

M2U bluetooth.png

WiFi on M2U

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 -iwlan0 -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

Shell

  • 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 M2U

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

RPi GPIO.png

WringPi

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

WringPi LED Martix Extend Board.png

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

File System

  • read only system change to read & write mode: "mount -o remount,rw /"

Install Qt5.7 & Qtcreator

1.Prepare a 32Gb TF card

2.Use GParted to resize root point '/' as 32Gb

3.apt-get install libxcb*

4.download qt5.7

5.make & make install

6.apt-get install qtcreator

7.Config qtcreator

FAQ

Reference Link

http://www.banana-pi.org/m2plus.html

http://forum.banana-pi.org/