Difference between revisions of "Getting Started with M64"
JackZengWiki (talk | contribs) (→How to Update WiringPi) |
(→Prepare) |
||
| (34 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
[[zh:快速上手 香蕉派 BPI-M64]] | [[zh:快速上手 香蕉派 BPI-M64]] | ||
=Introduction= | =Introduction= | ||
| − | |||
[[File:Banana_pi_BPI-M64_1.jpg|thumb|Overview [[Banana Pi BPI-M64]]]] | [[File:Banana_pi_BPI-M64_1.jpg|thumb|Overview [[Banana Pi BPI-M64]]]] | ||
[[File:M64_respbian.png|thumb|Overview: BPI-M64 respbian linux]] | [[File:M64_respbian.png|thumb|Overview: BPI-M64 respbian linux]] | ||
| − | + | Banana Pi BPI-M64 is a 64-bit quad-core mini single board computer. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M64 has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, and lastly a DC power port. The processor is pin-to-pin comptialbe with R18, so it comes with two versions:M64 and M64-R18 | |
*Read more about : [[Banana Pi BPI-M64]] | *Read more about : [[Banana Pi BPI-M64]] | ||
| Line 23: | Line 22: | ||
* WiFi (AP6212) & Bluetooth | * WiFi (AP6212) & Bluetooth | ||
| − | =Development= | + | =Development For Android= |
| − | == | + | ==Install Android Image== |
| − | ===Prepare | + | ===Prepare=== |
| − | + | :1. Prepare a USB-Serial cable, a MicroUSB cable and PC with Linux or WIndows 7/10 | |
| − | + | :2. The USB-Serial cable is used for console debug and MicroUSB cable is used for Image download and ADB debug. | |
| + | :3. M64 board is only suport DC power supply bootup. | ||
| + | :4. If you want insert a SDcard for Android storage using, and your SDcard was download Linux Image or any other allwinner bootable SDcard image, please format the SDcard start from block 0. | ||
| + | :5. Download and Install [https://download.banana-pi.dev/d/3ebbfa04265d4dddb81b/?p=%2FTools%2Fimage_download_tools&mode=list Allwinner Image Download Tools], PhoenixSuit is for window and LiveSuit is for Linux | ||
| + | :6. Download BPI [http://wiki.banana-pi.org/Banana_Pi_BPI-M64#Android latest Android Image] | ||
| − | === | + | ===Install Image with PhoenixSuit on Windows=== |
| − | 1. | + | :1. Open PhoenixSuit, click the Firmware icon to switching to firmware download panel, then click Image button and choose the Android Image file. |
| + | |||
| + | :[[File:firmware_panel.png]] | ||
| + | |||
| + | :2. M64 board disconnect DC power, press and hold the uboot-key button(new uart debug pin), plugin mirco-usb cable to PC, popup a warning dialog. | ||
| + | |||
| + | :[[File:usb_plugin_warning.png]] | ||
| + | |||
| + | :3 Press Yes to continue and popup another waring dialog, Press Yes to continue | ||
| + | :4 Downloading | ||
| + | |||
| + | :[[File:downloading.png]] | ||
| + | |||
| + | :5 Download finish | ||
| + | :[[File:download_finish.png]] | ||
| + | |||
| + | ===Install Image with LiveSuit on Linux=== | ||
| + | :According to the Readme.pdf in LiveSuit Install package, After install the LiveSuit successfully please run LiveSuit.sh with '''root permission''', then the download process is almost the same as PhoenixSuit. | ||
| + | |||
| + | :[[File:live_suit.png]] | ||
| + | |||
| + | ==Build Android source code== | ||
| + | |||
| + | Get Android source code | ||
| + | :Android 7.1 | ||
| + | $ git clone https://github.com/BPI-SINOVOIP/BPI-A64-Android7 | ||
| + | |||
| + | :Android 6.1 | ||
| + | $ git clone https://github.com/BPI-SINOVOIP/BPI-A64-Android | ||
| + | |||
| + | Build Android Source code | ||
| + | :Please read the source code README.md | ||
| + | |||
| + | =Development For Linux= | ||
| + | ==Install Linux Image== | ||
| + | ===Prepare=== | ||
| + | :1. Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System | ||
| + | :2. Using your USB-Serial Connect debug console on M64 | ||
| + | :3. M64 board is only suport DC power supply bootup | ||
| + | :4. Install bpi-tools on your Linux PC. 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. | ||
| + | $ apt-get install pv | ||
| + | $ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash | ||
| + | :5. Download BPI [http://wiki.banana-pi.org/Banana_Pi_BPI-M64#Image_Release latest image] | ||
| + | :6. Login user/password: pi/bananapi or root/bananapi | ||
| + | |||
| + | ===Install Image to SDcard=== | ||
| + | :1. Install image with bpi-tools on Linux | ||
| + | ::plug your sd card to your Linux PC, and run | ||
| + | $ sudo bpi-copy xxx.img /dev/sdX | ||
| − | + | :2. Install bpi image with Etcher 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=== | |
| − | + | :1. Prepare a sd which is installed Linux image and bootup with sdcard | |
| − | + | :2. Copy emmc image to udisk then plug in M64, 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 M64, eject the sdcard and poweron with emmc boot. | |
| + | |||
| + | ===Switch to LCD boot type=== | ||
| + | :1. The default release images are HDMI boot type, you can switch to LCD boot type for BPI 7" LCD support after first boot. | ||
| + | $ sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m64/BPI-M64-LCD7-linux4.4-8k.img.gz | ||
| + | $ reboot | ||
| + | |||
| + | :2. Load the Touchscreen driver if you want to using TP | ||
| + | $ sudo modprobe gt9xxnew_ts.ko | ||
| + | |||
| + | ==Build Linux source code== | ||
| − | + | Get the bsp source code | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | $ git clone https://github.com/BPI-SINOVOIP/BPI-M64-bsp-4.4 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Build the bsp source code | |
| − | + | :Please read the source code README.md | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | ==Other development and test== | ||
===GMAC=== | ===GMAC=== | ||
Use iperf3 to test gmac | Use iperf3 to test gmac | ||
| Line 107: | Line 146: | ||
2. Use UI interface to setup WiFi Client | 2. Use UI interface to setup WiFi Client | ||
| + | |||
| + | ====Ap Mode==== | ||
| + | 1.Install hostapd and create hostapd configuration file hostapd.conf: | ||
| + | interface=wlan0 | ||
| + | driver=nl80211 | ||
| + | ssid=test | ||
| + | hw_mode=g | ||
| + | channel=1 | ||
| + | |||
| + | 2.Execute command:"hostapd -d /<path>/hostapd.conf" | ||
| + | If you meet problem like this: | ||
| + | |||
| + | [[Image:A64_ap_1.png]] | ||
| + | |||
| + | Then, you could solve by following command: | ||
| + | * nmcli radio wifi off | ||
| + | [[Image:A64_ap_2.png]] | ||
| + | * rfkill unblock 1 | ||
| + | * rfkill unblock 2 | ||
| + | * ifconfig wlan0 up | ||
| + | * hostapd -d hostapd.conf | ||
| + | [[Image:A64_ap_3.png]] | ||
===Clear boot=== | ===Clear boot=== | ||
* git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB | * git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB | ||
* bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX | * bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX | ||
| + | |||
| + | ===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 | ||
===Camara function=== | ===Camara function=== | ||
| Line 153: | Line 223: | ||
* If your image is 32bit please do this command to install wring pi | * If your image is 32bit please do this command to install wring pi | ||
* Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf" | * Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf" | ||
| + | * If your image is 64bit please do:"bpi-update -c bpi-pkg-bpi-wiringpi-arm64.conf" | ||
| + | |||
[[Image: Update_WringPi.png]] | [[Image: Update_WringPi.png]] | ||
| − | |||
| − | |||
====RGB 1602 LCD==== | ====RGB 1602 LCD==== | ||
Latest revision as of 02:14, 2 September 2020
Contents
- 1 Introduction
- 2 Development For Android
- 3 Development For Linux
Introduction
Banana Pi BPI-M64 is a 64-bit quad-core mini single board computer. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M64 has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, and lastly a DC power port. The processor is pin-to-pin comptialbe with R18, so it comes with two versions:M64 and M64-R18
- Read more about : Banana Pi BPI-M64
A64 Key Features
- 1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor-A64
- 2GB DDR3 SDRAM
- 8G EMMC
- 10/100/1000Mbps Ethernet
- WiFi (AP6212) & Bluetooth
R18 Key Features
- 1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor-R18
- 2GB DDR3 SDRAM
- 8G EMMC
- 10/100/1000Mbps Ethernet
- WiFi (AP6212) & Bluetooth
Development For Android
Install Android Image
Prepare
- 1. Prepare a USB-Serial cable, a MicroUSB cable and PC with Linux or WIndows 7/10
- 2. The USB-Serial cable is used for console debug and MicroUSB cable is used for Image download and ADB debug.
- 3. M64 board is only suport DC power supply bootup.
- 4. If you want insert a SDcard for Android storage using, and your SDcard was download Linux Image or any other allwinner bootable SDcard image, please format the SDcard start from block 0.
- 5. Download and Install Allwinner Image Download Tools, PhoenixSuit is for window and LiveSuit is for Linux
- 6. Download BPI latest Android Image
Install Image with PhoenixSuit on Windows
- 1. Open PhoenixSuit, click the Firmware icon to switching to firmware download panel, then click Image button and choose the Android Image file.
- Error creating thumbnail: Unable to save thumbnail to destination
- 2. M64 board disconnect DC power, press and hold the uboot-key button(new uart debug pin), plugin mirco-usb cable to PC, popup a warning dialog.
- Error creating thumbnail: Unable to save thumbnail to destination
- 3 Press Yes to continue and popup another waring dialog, Press Yes to continue
- 4 Downloading
- Error creating thumbnail: Unable to save thumbnail to destination
- 5 Download finish
- Error creating thumbnail: Unable to save thumbnail to destination
Install Image with LiveSuit on Linux
- According to the Readme.pdf in LiveSuit Install package, After install the LiveSuit successfully please run LiveSuit.sh with root permission, then the download process is almost the same as PhoenixSuit.
- Error creating thumbnail: Unable to save thumbnail to destination
Build Android source code
Get Android source code
- Android 7.1
$ git clone https://github.com/BPI-SINOVOIP/BPI-A64-Android7
- Android 6.1
$ git clone https://github.com/BPI-SINOVOIP/BPI-A64-Android
Build Android Source code
- Please read the source code README.md
Development For Linux
Install Linux Image
Prepare
- 1. Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
- 2. Using your USB-Serial Connect debug console on M64
- 3. M64 board is only suport DC power supply bootup
- 4. Install bpi-tools on your Linux PC. If you can't access this URL or any other problems, please go to bpi-tools repo and install this tools manually.
$ apt-get install pv $ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
- 5. Download BPI latest image
- 6. Login user/password: pi/bananapi or root/bananapi
Install Image to SDcard
- 1. Install image with bpi-tools on Linux
- plug your sd card to your Linux PC, and run
$ sudo bpi-copy xxx.img /dev/sdX
- 2. Install bpi image with Etcher 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
- 1. Prepare a sd which is installed Linux image and bootup with sdcard
- 2. Copy emmc image to udisk then plug in M64, 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 M64, eject the sdcard and poweron with emmc boot.
Switch to LCD boot type
- 1. The default release images are HDMI boot type, you can switch to LCD boot type for BPI 7" LCD support after first boot.
$ sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m64/BPI-M64-LCD7-linux4.4-8k.img.gz $ reboot
- 2. Load the Touchscreen driver if you want to using TP
$ sudo modprobe gt9xxnew_ts.ko
Build Linux source code
Get the bsp source code
$ git clone https://github.com/BPI-SINOVOIP/BPI-M64-bsp-4.4
Build the bsp source code
- Please read the source code README.md
Other development and test
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"
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 A64
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
Ap Mode
1.Install hostapd and create hostapd configuration file hostapd.conf:
interface=wlan0 driver=nl80211 ssid=test hw_mode=g channel=1
2.Execute command:"hostapd -d /<path>/hostapd.conf" If you meet problem like this:
Then, you could solve by following command:
- nmcli radio wifi off
- rfkill unblock 1
- rfkill unblock 2
- ifconfig wlan0 up
- hostapd -d hostapd.conf
Clear boot
- git clone https://github.com/BPI-SINOVOIP/BPI-files/tree/master/SD/100MB
- bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
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
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 A64
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
WringPi
- 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"
- If your image is 32bit please do this command to install wring pi
- Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf"
- If your image is 64bit please do:"bpi-update -c bpi-pkg-bpi-wiringpi-arm64.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"
File System
- read only system change to read & write mode: "mount -o remount,rw /"