Difference between revisions of "Getting Started with M64"

From Banana Pi Wiki
Jump to: navigation, search
(Download Image to SDcard)
(Install Linux Image on M64)
Line 30: Line 30:
 
==Install Linux Image on M64==
 
==Install Linux Image on M64==
 
===Prepare===
 
===Prepare===
  * Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
+
:1. Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
  * Using your USB-Serial Connect debug console on M64
+
:2. Using your USB-Serial Connect debug console on M64
 
+
:3. Install bpi-tools on your Linux PC
===Download Image to SDcard===
 
  1.Download BPI [http://wiki.banana-pi.org/Banana_Pi_BPI-M64#Image_Release latest image]
 
 
 
  2.Install bpi-tools on your Linux PC
 
 
   $ apt-get install pv
 
   $ apt-get install pv
 
   $ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
 
   $ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
 
+
:4. Download BPI [http://wiki.banana-pi.org/Banana_Pi_BPI-M64#Image_Release latest image]
  3.Install image with bpi-tools on Linux
+
 
  * plug your sd card to your Linux PC, and run
+
===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
 
   $ sudo bpi-copy  xxx.img /dev/sdX
 
    
 
    
  4.After step 3, then you can insert your TF card into M64, and press power button setup M64
+
: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
  
===Download Image to EMMC===
+
===Install Image to EMMC===
  * Run your M64 with TF card
+
:1. Prepare a sd which is installed Linux image and bootup with sdcard
  * Copy "xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to your USB disk
+
:2. Copy emmc image to udisk then plug in M64, then mount udisk.
  * Plug your USB disk in M2U
+
:3. After mount udisk, use command "bpi-copy xxx-emmc-xxx.img" to install image on Emmc.
  * After M64 recognise USB disk, execute "bpi-copy xxx-sd-emmc-xxx.img.zip / xxx-sd-emmc-xxx.img" to install image on EMMC
+
:4. After success install, power off M64, eject the sdcard and poweron with emmc boot.
  * Then power off M64, take TF card out, power on M64
 
  
 
===Switch to LCD7 bootup===
 
===Switch to LCD7 bootup===

Revision as of 01:28, 10 July 2020

Introduction

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

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 on M64

Build M64 Android source code

Development For Linux

Install Linux Image on M64

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. Install bpi-tools on your Linux PC
  $ apt-get install pv
  $ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
4. Download BPI latest image

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 LCD7 bootup

  • The default release images are HDMI bootup type, you can switch to LCD bootup type after first boot.
 $ sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m64/BPI-M64-LCD7-linux4.4-8k.img.gz
 $ reboot

Build M64 Linux source code

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"

A64 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:

A64 bluetooth.png

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:

A64 ap 1.png

Then, you could solve by following command:

  • nmcli radio wifi off

A64 ap 2.png

  • rfkill unblock 1
  • rfkill unblock 2
  • ifconfig wlan0 up
  • hostapd -d hostapd.conf

A64 ap 3.png

Clear boot

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.

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

RPi GPIO.png


WringPi

How to Update WiringPi

  • Execute "bpi-update -c pkglist.conf"

Update Pkglist.png

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

Update WringPi.png

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 /"

FAQ