Getting Started with M2M: Difference between revisions

From Banana Pi Wiki
Jump to navigation Jump to search
m Reverted edits by Dangku (talk) to last revision by Sinovoip
Line 16: Line 16:
=Development=
=Development=
==Basic Development==
==Basic Development==
===Prepare===
===Prepare to develop===
Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System, connect USB-Serial Connect debug console to M2M debug uart.
  * Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
  * Using your USB-Serial Connect debug console on M2M
    
    
   [[Image:M2M__debug_console.png | 240px]]  [[Image:M2M__pin_define.png | 240px]]
   [[Image:M2M__debug_console.png | 240px]]  [[Image:M2M__pin_define.png | 240px]]


'''Install bpi-tools'''
====Install Bpi tools====
  $ 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


===Install bpi image to SD card===
====Load your first Linux image on SD card====
:1. [http://wiki.banana-pi.org/Banana_Pi_BPI-M2M#Image_Release Download image]
* you could download image from here: http://forum.banana-pi.org/t/bpi-m2m-r16-new-image-release-ubuntu-16-04-2018-08-25/6596
* after download image, copy it to your ubuntu PC
* plug your sd card to your ubuntu PC, and Execute "fdisk -l" to check the SD card drive letter
* Execute "bpi-copy  xxx.img /dev/sd<drive letter>"


:2. Install image with bpi-tools on Linux
* Ex: my sd card is recognised as /dev/sdf
::plug your sd card to your Linux PC
* I can use "bpi-copy xxx.img /dev/sdf" to install image on my SD card.
        $ bpi-copy xxx.img /dev/sdX


:3. Install bpi image with Etcher on Windows, Linux and MacOS
===Compile code===
::[https://www.balena.io/etcher/ Balena Etcher] is an open source project by Balena, Flash OS images to SD cards & USB drives
* git clone https://github.com/BPI-SINOVOIP/BPI-M2M-bsp.git
[[Image:m2m_code.png]]


===Install Image to EMMC with SD Ubuntu===
After download code, execute "./build.sh" to compile it.
* ./build.sh
[[Image:m2m_build.png]]


:1. Prepare a sd which is installed ubuntu image and bootup with sdcard
[[Image:m2m_build_success.png]]


:2. Copy emmc image to udisk then plug in W2, then mount udisk.
===Update your image===
:3. After mount udisk, use command "bpi-copy xxx-emmc-xxx.img" to install image on Emmc.
====Update rootfs & kernel====
:4. After success install, power off M4, eject the sdcard and poweron with emmc boot.
After we succeed to the code, Bootloader, kernel, rootfs will be generated in "SD" directory, then how to update the image?


===Build Source Code ===
* cd SD/bpi-m2m
Get the bsp source code


  $ git clone https://github.com/BPI-SINOVOIP/BPI-M2M-bsp.git
[[Image:m2m_code_sd.png]]


Build & Install
Plug in your SD card to Ubuntu PC, then execute "fdisk -l" to check which /dev/sdX were generated by system
:Please read the source code README.md


==Advance Development==
[[Image:m2m_code_sd_dev.png]]
 
* bpi-update -c bpi-m2m.conf -d /dev/sde
 
[[Image:m2m_bpi_update.png]]
 
====Update boot====
* cd 100MB
 
Execute "df -l" to check which /dev/sdX is "BPI-BOOT"
* 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===


===Bluetooth===
===Bluetooth===

Revision as of 08:33, 10 July 2020

Introduction

BPI-M2M

Overview:Banana Pi BPI-M2M
Overview: BPI-M2M ubuntu 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. 

Key Features

  • Quad Core ARM Cortex A7 CPU. R16
  • 512MB DDR3 SDRAM
  • WiFi (AP6212) & Bluetooth onboard

Development

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 M2M
 
   

Install Bpi tools

Load your first Linux image on SD card

  • Ex: my sd card is recognised as /dev/sdf
  • I can use "bpi-copy xxx.img /dev/sdf" to install image on my SD card.

Compile code

After download code, execute "./build.sh" to compile it.

  • ./build.sh

Update your image

Update rootfs & kernel

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

Plug in your SD card to Ubuntu PC, then execute "fdisk -l" to check which /dev/sdX were generated by system

  • bpi-update -c bpi-m2m.conf -d /dev/sde

Update boot

  • cd 100MB

Execute "df -l" to check which /dev/sdX is "BPI-BOOT"

  • df -l

  • bpi-bootsel BPI-M2M-LCD7-8k.img.gz /dev/sd1

Make your own image

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

StartX

  • apt-get install xorg
  • apt-get install xserver-xorg
  • apt-get install xinit

https://askubuntu.com/questions/518454/what-does-startx-command-do

NAS Application

1. Usb hub + sata to usb

  • HDD is supported

  • SSD is supported

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

BPI-Tools

Install Bpi-tools

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

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"