Difference between revisions of "Getting Started with M2 Zero"
JackZengWiki (talk | contribs) (→Introduction) |
(→Introduction) |
||
(56 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[zh:快速上手 香蕉派 BPI-M2 Zero]] | ||
=Introduction= | =Introduction= | ||
− | + | [[File:BPI-M2_zero_11.JPG|thumb|Overview [[Banana Pi BPI-M2 ZERO]]]] | |
+ | [[File:M2Zero_raspbian.png|thumb|Overview: BPI-M2Z raspbian]] | ||
+ | [[File:BPI-M2_zero_android_4.4.JPG|thumb|Android 4.4]] | ||
+ | [[File:BPI-M2_zero_ubuntu.JPG|thumb|Ubuntu Linux]] | ||
− | + | *Read more about : [[Banana_Pi_BPI-M2_ZERO]] | |
− | * | + | ==BPI-M2 Zero== |
+ | |||
+ | 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=== | ===Key Features=== | ||
Line 13: | Line 19: | ||
=Development= | =Development= | ||
− | |||
==Basic Development== | ==Basic Development== | ||
+ | ===Load your first Android image on M2 Zero=== | ||
+ | 1.You could download latest image from our forum. | ||
+ | |||
+ | 2.Put your TF card into a TF-USB adapter, and then plug adapter in your Windows PC usb interface. | ||
+ | |||
+ | 3.Prepare your image, and download image burning tools PhoenixCard.exe. | ||
+ | |||
+ | 4.Use "PhoenixCard.exe" to burn android image to TF card. | ||
+ | |||
+ | [[Image:M3_Android_Burning.png | 600px]] | ||
+ | |||
+ | * Download PhoenixCard: https://pan.baidu.com/s/1-fjvPqtG_zewVzqnXf1AHw?pwd=eid9 | ||
+ | |||
===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 | + | * Using your USB-Serial Connect debug console on M2 Zero |
+ | |||
+ | [[Image:Debug_console_wire.png]] | ||
+ | |||
+ | [[Image:M2_Zero_debug_console.png]] | ||
− | === | + | ===Install Linux Image on M2 Zero=== |
− | + | Download [http://wiki.banana-pi.org/Banana_Pi_BPI-M2_ZERO#Linux latest Linux image], default login user/password is pi/bananapi or root/bananapi. | |
− | + | ||
+ | Install Image to SDcard on Linux PC with bpi-tools | ||
+ | :1. 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 | ||
+ | :If you can't access this URL or any other problems, please go to [https://github.com/BPI-SINOVOIP/bpi-tools bpi-tools repo] and install this tools manually. | ||
− | + | :2. Insert your SDcard into your PC | |
− | + | $ bpi-copy xxx.img /dev/sdx | |
− | |||
− | + | Install Image to SDcard with Ether on Windows, Linux and MacOS | |
− | + | :[https://www.balena.io/etcher/ Balena Etcher] is an open source project by Balena, Flash OS images to SD cards & USB drives | |
− | + | ||
− | + | Install Image to EMMC with SD Ubuntu | |
+ | :1.Prepare a sd which is installed ubuntu image and bootup with sdcard | ||
+ | :2.Copy emmc image to udisk, plug in board, then mount udisk. | ||
+ | :3.After mount udisk, use command "bpi-copy xxx-emmc-xxx.img" to install image on Emmc. | ||
+ | :4.After success install, power off the board, eject the sdcard and poweron with emmc boot. | ||
− | === | + | ===Update your image=== |
− | + | :1. Get the m2 zero bsp source code | |
− | + | $ git clone https://github.com/BPI-SINOVOIP/BPI-M2P-bsp-4.4 | |
− | |||
− | |||
− | |||
+ | :2. Build the source code according to the README.md, and update the packages to the sdcard with bpi image flashed. | ||
==Advanced Development== | ==Advanced Development== | ||
− | + | ===How to create an image === | |
− | |||
− | ===How to create | ||
* Prepare a SD card which have installed system(Ubuntu/Raspbian/..) | * Prepare a SD card which have installed system(Ubuntu/Raspbian/..) | ||
− | * Boot your SD card with | + | * Boot your SD card with M2 Zero, after M2 Zero finish starting, copy your files and config your system, then poweroff M2 Zero. [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" | * Plug your SD card in PC(which is running Linux), "cd /media", then "ln -s <your account> pi" | ||
− | * Execute "bpi-migrate -c bpi- | + | * Execute "bpi-migrate -c bpi-m2z.conf -c ubuntu-mate-from-sd.conf -d /dev/sdx" |
* Then you could get your own image now | * Then you could get your own image now | ||
===OTG=== | ===OTG=== | ||
− | 1. On | + | 1. On M2 Zero console: |
* Execute "./adbd.sh", then execute "ps -ax | grep adbd" to see if adbd is set up | * Execute "./adbd.sh", then execute "ps -ax | grep adbd" to see if adbd is set up | ||
2. On PC terminal: | 2. On PC terminal: | ||
− | * If adbd was succeed to set up, insert OTG-USB interface to | + | * If adbd was succeed to set up, insert OTG-USB interface to M2 Zero and PC(with Ubuntu system) |
− | * Execute "adb devices" to see if PC has recognised | + | * Execute "adb devices" to see if PC has recognised M2 ZeroP OTG |
− | * If yes, we could execute "adb shell" to connect | + | * If yes, we could execute "adb shell" to connect M2 Zero by adb now |
+ | |||
+ | ===USB Ethernet=== | ||
+ | * Prepare a USB to OTG wire, usb ethernet adapter | ||
− | + | [[Image:M2Zero_usb_network_wire.png]] | |
− | |||
− | [[Image: | + | * Use iperf3 to test network |
+ | [[Image:M2Zero_network.png]] | ||
===Bluetooth=== | ===Bluetooth=== | ||
Line 69: | Line 98: | ||
* 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: | + | [[Image:M2Zero_bluetooth.png]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===WiFi Client=== | |
'''You have two ways to setup WiFi Client''' | '''You have two ways to setup WiFi Client''' | ||
Line 85: | Line 106: | ||
* ip link set wlan0 up | * ip link set wlan0 up | ||
* iw dev wlan0 scan | grep SSID | * iw dev wlan0 scan | grep SSID | ||
− | * vim /etc/ | + | * vim /etc/wpa_supplicant/wpa_supplicant.conf |
− | + | network={ | |
− | * wpa_supplicant | + | ssid="ssid" |
+ | psk="password" | ||
+ | priority=1 | ||
+ | } | ||
+ | * wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf | ||
* dhclient wlan0 | * dhclient wlan0 | ||
Line 103: | Line 128: | ||
* Use your UI interface to operate camara | * Use your UI interface to operate camara | ||
* Applications -> Sound & Video -> guvcview | * Applications -> Sound & Video -> guvcview | ||
− | + | ====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 | ||
− | === | + | ===Display=== |
− | * Execute " | + | ====How to change display resolution==== |
− | * | + | For Example: we change M2Z HDMI display 1080P. |
− | [[Image: | + | |
+ | 1. First, mount /dev/mmcblk0p1 /mnt, then enter to /mnt/bananapi/bpi-m2z/linux, find "sys_config.fex"; | ||
+ | |||
+ | 2. "vim sys_config.fex", change "screen0_output_mode = 5" to "screen0_output_mode = 10" | ||
+ | |||
+ | [[Image: display_output.png]] | ||
+ | |||
+ | 3. After save changed, use "fex2bin" command to transfer sys_config.fex to bin file, "fex2bin sys_config.fex script.bin ", reboot. | ||
+ | |||
+ | parameters meaning: | ||
+ | |||
+ | [[Image: display_mode.png]] | ||
+ | |||
+ | ===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" | ||
+ | [[Image: Bpi-tools.png]] | ||
+ | |||
+ | ===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 | ||
+ | |||
+ | [[Image: RPi_GPIO.png]] | ||
− | === | + | ===WiringPi=== |
* 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" | ||
− | |||
====0.96 Inch OLED Display==== | ====0.96 Inch OLED Display==== | ||
* Execute "/usr/local/bin/bpi_test_52pi.sh" | * Execute "/usr/local/bin/bpi_test_52pi.sh" | ||
− | |||
====8x8 RGB LED Martix==== | ====8x8 RGB LED Martix==== | ||
Line 131: | Line 193: | ||
* Execute "/usr/local/bin/bpi_test_gpio40.sh" | * Execute "/usr/local/bin/bpi_test_gpio40.sh" | ||
− | |||
− | |||
− |
Latest revision as of 00:58, 11 July 2023
Contents
Introduction
- Read more about : Banana_Pi_BPI-M2_ZERO
BPI-M2 Zero
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
Basic Development
Load your first Android image on M2 Zero
1.You could download latest image from our forum. 2.Put your TF card into a TF-USB adapter, and then plug adapter in your Windows PC usb interface. 3.Prepare your image, and download image burning tools PhoenixCard.exe. 4.Use "PhoenixCard.exe" to burn android image to TF card.
* Download PhoenixCard: https://pan.baidu.com/s/1-fjvPqtG_zewVzqnXf1AHw?pwd=eid9
Prepare to develop
* Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System * Using your USB-Serial Connect debug console on M2 Zero
Install Linux Image on M2 Zero
Download latest Linux image, default login user/password is pi/bananapi or root/bananapi.
Install Image to SDcard on Linux PC with bpi-tools
- 1. 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
- If you can't access this URL or any other problems, please go to bpi-tools repo and install this tools manually.
- 2. Insert your SDcard into your PC
$ bpi-copy xxx.img /dev/sdx
Install Image to SDcard with Ether on Windows, Linux and MacOS
- Balena Etcher is an open source project by Balena, Flash OS images to SD cards & USB drives
Install Image to EMMC with SD Ubuntu
- 1.Prepare a sd which is installed ubuntu image and bootup with sdcard
- 2.Copy emmc image to udisk, plug in board, then mount udisk.
- 3.After mount udisk, use command "bpi-copy xxx-emmc-xxx.img" to install image on Emmc.
- 4.After success install, power off the board, eject the sdcard and poweron with emmc boot.
Update your image
- 1. Get the m2 zero bsp source code
$ git clone https://github.com/BPI-SINOVOIP/BPI-M2P-bsp-4.4
- 2. Build the source code according to the README.md, and update the packages to the sdcard with bpi image flashed.
Advanced Development
How to create an image
- Prepare a SD card which have installed system(Ubuntu/Raspbian/..)
- Boot your SD card with M2 Zero, after M2 Zero finish starting, copy your files and config your system, then poweroff M2 Zero. [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-m2z.conf -c ubuntu-mate-from-sd.conf -d /dev/sdx"
- Then you could get your own image now
OTG
1. On M2 Zero 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 M2 Zero and PC(with Ubuntu system)
- Execute "adb devices" to see if PC has recognised M2 ZeroP OTG
- If yes, we could execute "adb shell" to connect M2 Zero by adb now
USB Ethernet
- Prepare a USB to OTG wire, usb ethernet adapter
- Use iperf3 to test network
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 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
network={ ssid="ssid" psk="password" priority=1 }
- wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
- dhclient wlan0
2. Use UI interface to setup WiFi Client
Clear boot
- git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB
- bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
Camara function
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_ov5640_image_mode.sh" to test picture taking function
- "./cameratest.sh" to test video recording function
Display
How to change display resolution
For Example: we change M2Z HDMI display 1080P.
1. First, mount /dev/mmcblk0p1 /mnt, then enter to /mnt/bananapi/bpi-m2z/linux, find "sys_config.fex";
2. "vim sys_config.fex", change "screen0_output_mode = 5" to "screen0_output_mode = 10"
3. After save changed, use "fex2bin" command to transfer sys_config.fex to bin file, "fex2bin sys_config.fex script.bin ", reboot.
parameters meaning:
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
- GitHub: https://github.com/BPI-SINOVOIP/BPI-WiringPi2.git
- 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"