Getting Started with M1P - Banana Pi Wiki
Introduction
BPI-M1P
Overview: BPI-M1P ubuntu linux
Read more about : Banana Pi BPI-M1+
Key Features
Dual-core 1.0GHz CPU
1 GB DDR3 memeory
Mali-400 MP2 with Open GL ES 2.0/1.1
WiFi onbaord
Development
Let's get start to develop on BPI-M1P, see amazing things happen.
Basic Development
Prepare to develop
Load your first image on M1P
Advanced Development
SATA
1. Mount SATA on M1P
After insert sata interface, execute "fdisk -l"
Then "mount /dev/sdx /mnt/xxx"
2. If you meet some errors when you mount SATA, try these following commands:
"fdisk /dev/sdx" to create new partition , set your partition numbers and size, after created partitions, input "wq" to save and quit.
"mkfs.ext2 /dev/sdx" to format the SATA
"mount /dev/sdx /mnt/xxx"
3. After you success to insert SATA, we could input following commands to test SATA interface:
"time dd if=/dev/xxx of=/dev/null bs=1M count=1000" to test read speed
"time dd if=/dev/zero of=/dev/sdx bs=1M count=1000" to test write speed
Touch screen
GMAC
Use iperf3 to test gmac
1. On PC Terminal:
Execute "iperf3 -s"
2. On M1P console:
TCP test: "iperf3 -c serverIP"
UDP test: "iperf3 -u -c serverIP"
WiFi on M1P
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
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
dhclient wlan0
2. Use UI interface to setup WiFi Client
Clear boot
bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
IR function
Execute "getevent"
Use your IR device to send information to M1P
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
We also have built-in test command in "/usr/local/bin"
RGB 1602 LCD
Execute "/usr/local/bin/bpi_test_lcd1602.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 /"
Install QT
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install cmake
sudo apt-get install qt5-default qtcreator
A20 CAN Bus
In order to port can4linux to the BananaPi, the CAN module description is needed from the A20 hardware manual. can4linux is a character-driver-based Linux driver used already on desktop PCs and embedded platforms like Freescale FlexCAN (the i.MX series of micro controllers) or Xiliny Zynq.
There is a more detailed document about CAN on the A20 at: https://dl.linux-sunxi.org/A20/CAN%20Bus1.pdf
This is a tutorial for using CAN BUS on bananapi with bananian 15-01
Thank selqcir share this example:
Download and install "bananian-1501.img" into 8 GB SDCard.
Expand the root file system using "bananian-config"
Install missing package:
Get last bananian available, and continu to install missing package:
Build kernel:
Exit without saving when menu appears
At this step, kernel should be compiled and "Module.symvers" should be available
Then rename modules and firmware provide by Bananian, and replace by the new one.
Same for uImage:
Create link for further build:
Get Can4Linux and build it:
Install module for each startup of the board:
Build CAN example
Update CAN speed and device in file "pyCan-example.py"
Connect CAN transceiver and CAN bus, and check with for example:
That's all
With this method, kernel version is "Linux bananapi 3.4.104" instead of "Linux bananapi 3.4.104+", because i was unable to find same sources than Bananian 15-01 , but CAN bus work !
FAQ
Last updated