Difference between revisions of "快速上手 M2P"
JackZengWiki (talk | contribs) (Created page with "en:Getting_Started_with_M2P") |
JackZengWiki (talk | contribs) |
||
Line 1: | Line 1: | ||
[[en:Getting_Started_with_M2P]] | [[en:Getting_Started_with_M2P]] | ||
+ | =介绍= | ||
+ | |||
+ | [[File:M2p_ubunu.jpg|thumb|Overview: BPI-M2+ Ubuntu linux]] | ||
+ | [[File:M2p_debian.jpg|thumb|Overview:BPI-M2+ Debian linux]] | ||
+ | [[File:Rasbian.jpg|thumb|Overview:BPI-M2+ Rasbian linux]] | ||
+ | |||
+ | 香蕉派M2+是一种微型的开发板, 在超便携的形状特性中提供了巨大的计算性能. M2+只有65mm*65mm的大小, 搭配Allwinner H系列芯片, 它具有不同的版本,但共享相同的接口. | ||
+ | |||
+ | |||
+ | *关于更多 : [[Banana Pi BPI-M2+]] | ||
+ | *烧录镜像 : [[Quick Start Banana pi SBC]] | ||
+ | |||
+ | ==BPI-M2+ H3== | ||
+ | ===Key Features=== | ||
+ | * Quad-core 1.2GHz Cortex-A7 H3 | ||
+ | * 1GB DDR3 | ||
+ | * 8GB eMMC onboard | ||
+ | * WiFi and BlueTooth onboard | ||
+ | * 10/100/1000Mbps Ethernet Port | ||
+ | |||
+ | =Development For Android= | ||
+ | ===Load your first image on M2P=== | ||
+ | 1.You could download latest image from our forum. | ||
+ | Ex: http://forum.banana-pi.org/t/bananapi-bpi-m2p-h3-new-image-android7-0-release-2018-6-30/6147 | ||
+ | |||
+ | 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. | ||
+ | |||
+ | * Here is the example of M3 | ||
+ | |||
+ | [[Image:M3_Android_Burning.png]] | ||
+ | |||
+ | ===Load your image on M2P EMMC=== | ||
+ | 1.The only different with sd card burning is the image burning mode item choice | ||
+ | |||
+ | * Here is the example of M3 | ||
+ | |||
+ | [[Image:M3_Android_Emmc_Burning.png]] | ||
+ | |||
+ | 2.After succeed to burn image to SD, then plug SD card in your M2P | ||
+ | |||
+ | 3.Press power button, device will copy image to EMMC automatically | ||
+ | |||
+ | * Download PhoenixCard: https://pan.baidu.com/s/18Fo_JhYY02gmxtFw2Ps3rQ | ||
+ | |||
+ | =Development For Linux= | ||
+ | ==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=== | ||
+ | ====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 | ||
+ | |||
+ | ===How to create an 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 | ||
+ | |||
+ | ===GPIO Control=== | ||
+ | * 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 | ||
+ | |||
+ | ===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 | ||
+ | |||
+ | [[Image: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: | ||
+ | [[Image:M2P_BT_bluetoothctl.png]] | ||
+ | |||
+ | [[Image:M2P_BT.png]] | ||
+ | |||
+ | ===WiFi on M2P=== | ||
+ | |||
+ | Driver code: | ||
+ | |||
+ | *https://github.com/BPI-SINOVOIP/BPI_WiFi_Firmware | ||
+ | |||
+ | ====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 -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. | ||
+ | |||
+ | [[Image:ov5640_camara.png]] | ||
+ | ====Guvcview==== | ||
+ | * Use your UI interface to operate camara | ||
+ | * Applications -> Sound & Video -> guvcview | ||
+ | [[Image:guvcview_ov5640.png]] | ||
+ | ====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 M2P | ||
+ | [[Image:IR_getevent.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 | ||
+ | * 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==== | ||
+ | * Execute "/usr/local/bin/bpi_test_lcd1602.sh" | ||
+ | [[Image: WringPi_1602_LCD.png]] | ||
+ | |||
+ | ====0.96 Inch OLED Display==== | ||
+ | * Execute "/usr/local/bin/bpi_test_52pi.sh" | ||
+ | [[Image: WringPi_0.96_OLED.png]] | ||
+ | |||
+ | ====8x8 RGB LED Martix==== | ||
+ | * Firstly you need a GPIO Extend Board for 8x8 LED Martix | ||
+ | [[Image: WringPi_LED_Martix_Extend_Board.png]] | ||
+ | |||
+ | * Execute "/usr/local/bin/bpi_test_gpio40.sh" | ||
+ | [[Image: WringPi_LED_Martix.png]] | ||
+ | |||
+ | ==FAQ== | ||
+ | |||
+ | =Reference Link= | ||
+ | |||
+ | http://www.banana-pi.org/m2plus.html | ||
+ | |||
+ | http://forum.banana-pi.org/ |
Revision as of 22:38, 16 October 2018
Contents
- 1 介绍
- 2 Development For Android
- 3 Development For Linux
- 4 Reference Link
介绍
香蕉派M2+是一种微型的开发板, 在超便携的形状特性中提供了巨大的计算性能. M2+只有65mm*65mm的大小, 搭配Allwinner H系列芯片, 它具有不同的版本,但共享相同的接口.
- 关于更多 : Banana Pi BPI-M2+
- 烧录镜像 : Quick Start Banana pi SBC
BPI-M2+ H3
Key Features
- Quad-core 1.2GHz Cortex-A7 H3
- 1GB DDR3
- 8GB eMMC onboard
- WiFi and BlueTooth onboard
- 10/100/1000Mbps Ethernet Port
Development For Android
Load your first image on M2P
1.You could download latest image from our forum. Ex: http://forum.banana-pi.org/t/bananapi-bpi-m2p-h3-new-image-android7-0-release-2018-6-30/6147 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.
* Here is the example of M3
Load your image on M2P EMMC
1.The only different with sd card burning is the image burning mode item choice
* Here is the example of M3 2.After succeed to burn image to SD, then plug SD card in your M2P 3.Press power button, device will copy image to EMMC automatically
* Download PhoenixCard: https://pan.baidu.com/s/18Fo_JhYY02gmxtFw2Ps3rQ
Development For Linux
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
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
How to create an 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
GPIO Control
- 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
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
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 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 -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
IR function
- Execute "getevent"
- Use your IR device to send information to M2P
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"