Difference between revisions of "Getting Started with M2M"

From Banana Pi Wiki
Jump to: navigation, search
(Prepare)
(Build Source Code)
Line 48: Line 48:
 
   $ git clone https://github.com/BPI-SINOVOIP/BPI-M2M-bsp.git
 
   $ git clone https://github.com/BPI-SINOVOIP/BPI-M2M-bsp.git
  
Build the bsp source code
+
Build & Install
  $ ./build.sh 1
+
:Please read the source code README.md
 
 
:Get the docker image from [https://hub.docker.com/r/sinovoip/bpi-build Sinovoip Dock Hub], build the source code with this docker image if you have build environment issue.
 
 
 
Install the bsp package to SD card with bpi image flashed
 
 
 
  $ sudo ./update_bsp2sd.sh /dev/sdX
 
  
 
==Advance Development==
 
==Advance Development==

Revision as of 00:32, 10 July 2020

Introduction

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

Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System, connect USB-Serial Connect debug console to M2M debug uart.

 M2M debug console.png  M2M pin define.png

Install bpi-tools

 $ apt-get install pv
 $ curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash

Install bpi image to SD card

1. Download image
2. Install image with bpi-tools on Linux
plug your sd card to your Linux PC
       $ bpi-copy  xxx.img /dev/sdX
3. 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 with SD Ubuntu

1. Prepare a sd which is installed ubuntu image and bootup with sdcard
2. Copy emmc image to udisk then plug in W2, 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 M4, eject the sdcard and poweron with emmc boot.

Build Source Code

Get the bsp source code

 $ git clone https://github.com/BPI-SINOVOIP/BPI-M2M-bsp.git

Build & Install

Please read the source code README.md

Advance Development

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:

M2M BT bluetoothctl.png

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

M2m connect hdd.png

M2m connect hdd cmd.png

  • SSD is supported

M2m connect ssd.png

M2m connect ssd cmd.png

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

BPI-Tools

Install Bpi-tools

Update Bpi-tools

  • Execute "bpi-tools"

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

RPi GPIO.png

WiringPi

How to Update WiringPi

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

Update Pkglist.png

  • Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf"

Update WringPi.png

RGB 1602 LCD

  • Execute "/usr/local/bin/bpi_test_lcd1602.sh"

WringPi 1602 LCD m2m.png

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"

WringPi LED Martix m2m.png