Difference between revisions of "快速上手 BPI-M4 Berry"
(Created page with " thumb|[[Banana Pi BPI-M4 Berry H618 design]] thumb|[[Banana Pi BPI-M2 Berry A40i-H design]] File...") |
(→WiringPi) |
||
Line 68: | Line 68: | ||
===WiringPi=== | ===WiringPi=== | ||
− | : 注意:此WiringPi仅支持将40引脚GPIO设置为输出、输入或软件PWM,对于io功能如i2c、spi、pwm等,您必须在boot. | + | : 注意:此WiringPi仅支持将40引脚GPIO设置为输出、输入或软件PWM,对于io功能如i2c、spi、pwm等,您必须在boot.ini中启用DTB overlay。 |
− | :1. | + | :1. 构建并安装WiringPi,对于Debian系统,您必须在构建之前[https://wiki.banana-pi.org/Getting_Started_with_BPI-M4_Berry#Enable_sudo_for_Debian install sudo] before build |
$ sudo apt-get update | $ sudo apt-get update | ||
$ sudo apt-get install build-essential git | $ sudo apt-get install build-essential git |
Revision as of 01:53, 27 September 2023
Contents
开发
Linux
准备
- 1. Linux镜像支持SD卡或EMMC启动,但您应该首先阅读[Boot_Sequence启动顺序]。
- 2. 建议使用A1级别的SD卡,至少8GB。
- 3. 如果要从SD卡启动,确保可启动的EMMC已经格式化。
- 4. 如果要从EMMC启动并将SD卡用作存储,确保SD卡已经格式化,没有刷入Linux镜像。
- 5. 下载最新的[Linux镜像],并确认md5校验和正确。
- 6. 默认登录用户名:pi/bananapi或root/bananapi。
- 7. Wiki指南仅适用于[bananapi 4.9 bsp ubuntu/debian镜像]。
将镜像安装到SD卡
- 1. 在Windows、Linux和MacOS上使用Balena Etcher安装镜像。
- Balena Etcher 是Balena提供的开源GUI闪存工具,用于将操作系统镜像写入SD卡或USB驱动器。
- 2. 在Windows、Linux和MacOS上使用Balena Cli安装镜像。
- Balena CLI 是用于balenaCloud或openBalena的命令行界面。 您可以从balena-io 下载安装程序或独立包,然后正确安装到您的PC上,然后您可以使用balena的"local flash"令选项将Linux镜像写入SD卡或USB驱动器。
$ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip $ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2 $ sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2 --yes
- 3. 在Linux上使用dd命令安装镜像,如果SD卡自动挂载,请取消挂载SD卡设备/dev/sdX分区。实际上,bpi-copy与此dd命令相同。
$ sudo apt-get install pv unzip $ sudo unzip -p xxx-bpi-m4-berry-xxx.img.zip | pv | dd of=/dev/sdX bs=10M status=noxfer
- 4. 使用bpi-tools在Linux上安装镜像,将SD卡插入Linux PC并运行以下命令:
$ sudo apt-get install pv unzip $ sudo bpi-copy xxx-bpi-m4-berry-xxx.img.zip /dev/sdX
DTB overlay
- 1. DTB overlay 用于40引脚GPIO的多功能配置,并安装在vfat引导分区中,您可以使用mount命令检查挂载点。
root@bananapi:~# ls /boot/overlays/ custom_ir.dtbo pwm_b-backlight.dtbo spi0.dtbo ds3231.dtbo pwm_c-beeper.dtbo uart1_cts_rts.dtbo hifi_pcm5102a.dtbo pwm_cd-c.dtbo uart1.dtbo hifi_pcm5122.dtbo pwm_cd.dtbo uart2.dtbo i2c0.dtbo pwm_ef.dtbo waveshare_tft24_lcd.dtbo i2c1.dtbo pwm_ef-f.dtbo waveshare_tft35c_lcd.dtbo pwm_ab.dtbo sdio.dtbo waveshare_tft35c_rtp.dtbo
- 2. 更新vfat /boot/boot.ini中的overlay设置以启用所需的overlay。默认启用i2c0、spi0和uart1。
# 要加载的overlay # 示例组合: # spi0 i2c0 i2c1 uart0 # hktft32 # hktft35 setenv overlays "i2c0 spi0 uart1"
- 3. 必须重新启动板以加载DTB overlay。
WiringPi
- 注意:此WiringPi仅支持将40引脚GPIO设置为输出、输入或软件PWM,对于io功能如i2c、spi、pwm等,您必须在boot.ini中启用DTB overlay。
- 1. 构建并安装WiringPi,对于Debian系统,您必须在构建之前install sudo before build
$ sudo apt-get update $ sudo apt-get install build-essential git $ git clone https://github.com/BPI-SINOVOIP/amlogic-wiringPi $ cd amlogic-wiringPi $ chmod a+x build $ sudo ./build
- 2. Run gpio readall to show all 40pins status.
- 3. BPI GPIO Extend board and examples in amlogic-wiringPi/examples
- blinkall, blink all pin header gpios, no extend board.
- lcd-bpi, BPI LCD 1602 display module example.
- 52pi-bpi, BPI OLED Display Module example.
- matrixled-bpi, BPI RGB LED Matrix Expansion Module example.
- berryclip-bpi, BPI BerryClip Module
RPi.GPIO
- Build and install, for debian, you must install sudo before build
$ sudo apt-get update $ sudo apt-get install build-essential python3 python3-pip python3-dev python3-setuptools git $ git clone https://github.com/Dangku/RPi.GPIO-Amlogic.git $ cd RPi.GPIO-Amlogic $ sudo python3 setup.py clean --all $ sudo python3 setup.py install
- Create and install wheel package
$ sudo python3 setup.py bdist_wheel $ sudo pip3 install dist/RPi.GPIO-XXX.whl
- Install from git source directly without development
$ sudo pip3 install git+https://github.com/Dangku/RPi.GPIO-Amlogic.git
- If the package is already installed, it should be uninstalled before installing the new one, or installing the new one with --force-reinstall option.
WiringPi2-Python
- Build and install, for debian, you must install sudo before build
$ sudo apt-get update $ sudo apt-get install build-essential python3 python3-dev python3-setuptools swig git $ git clone --recursive https://github.com/Dangku/WiringPi2-Python-Amlogic.git $ cd WiringPi2-Python-Amlogic $ sudo python3 setup.py install
Luma.Examples
- luma.examples use GPIO.BCM gpio mode default, so you should map 40pin header pins to bcm gpio number and connect the hardware correctly.
- 1. build and install RPi.GPIO
$ sudo apt-get update $ sudo apt-get install build-essential python3 python3-dev python3-setuptools git $ git clone https://github.com/Dangku/RPi.GPIO-Amlogic.git $ cd RPi.GPIO-Amlogic $ sudo python3 setup.py clean --all $ sudo python3 setup.py install
- you can change the bcmledpin variable in test/led.py to your hardware backlight gpio and run it to check RPi.GPIO works well.
$ sudo python3 test/led.py
- hardware backlight will repeat on and off
- 2. luma.examples libs install
$ sudo usermod -a -G i2c,spi,gpio pi
- if group does not exist, the following command will create it:
$ sudo groupadd --system xxx
$ sudo apt-get install python3-dev python3-pip libfreetype6-dev libjpeg-dev build-essential $ sudo apt-get install libsdl-dev libportmidi-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-image1.2-dev $ git clone https://github.com/rm-hull/luma.examples.git $ cd luma.examples
- install luma.core, luma.emulator, luma.lcd, luma.le-matrix, luma.oled pip libs, make sure this step without error or downloading interrupted, try again if get errors
$ sudo -H pip install -e .
- or
$ sudo -H pip3 install -e .
- for debian buster(python 3.7) which does not include /usr/bin/pip in package python3-pip, and will get the following errors when install luma packages with pip3
... WARNING, No "Setup" File Exists, Running "buildconfig/config.py" Using UNIX configuration... /bin/sh: 1: sdl2-config: not found /bin/sh: 1: sdl2-config: not found /bin/sh: 1: sdl2-config: not found ...
- install sdl2 related packages to fix this issue, then install luma libs again with pip3
$ sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev $ sudo -H pip3 install -e .
- check installed luma pip libs
$ pip3 list | grep luma luma.core 2.4.0 luma.emulator 1.4.0 luma.lcd 2.10.0 luma.led-matrix 1.7.0 luma.oled 3.11.0
- 3. examples test
- Enable i2c or spi overlays before running test examples
$ cd examples $ sudo python3 bounce.py --config ../conf/ili9341.conf
Other Development
Enable sudo for Debian
- The release Debian image do not install sudo default, with "su -" command, user can change to root. If you like sudo, you can install it.
$ su root Password:(enter bananapi) # apt-get update # apt-get install sudo # adduser pi sudo
- Then please do logout and login again