【回眸】香橙派Zero2(全志H616)初探
前言
由于树莓派涨价,现在示例玩的开发板都换成了香橙派,成本倒是减少了一大半,但还是多花了100淘了一个二手的香橙派开发板继续学习。
香橙派的部分预计会更新的比较慢,毕竟是要上板跑的。总之,会尽快更新这个part,加油啤酒鸭!
Orangepi Zero2(全志H616)介绍
正面视图
背面视图
为什么学Orangepi Zero2(全志H616)
目标:Linux系统
平台:ARM架构
学习方向
应用开发:C++\QT,基于Linux系统开发
系统开发:原厂公司会招聘,涉及 uboot、Linux内核、文件系统
算法工程师:学历要求硕士及以上
平台介绍
CPU:全志H616 64位1.5GHz高性能四核Cortex-A53处理器
GPU: Mali G31 MP2,Supports OpenGL ES 1.0/2.0/3.2、OpenCL 2.0
视频解码:
H.265 Main10@L5.1 decoder up to 4K@60fps or 6K@30fps
VP9 Profile 2 decoder up to 4K@60fps
AVS2 JiZhun 10bit decoder up to 4K@60fps
H.264 BP/MP/HP@L4.2 decoder up to 4K@30fps
视频编码:
H.264 BP/MP/HP encoder up to 4K@25fps or 1080p@60fps
JPEG snapshot performance of 1080p@60fps
内存:512MB/1GB DDR3 足以运行各种应用程序,在稳定的同时,兼具流畅和优雅
板载存储:TF卡插槽、2MB SPI Flash
板载以太网:支持10/100M/1000M 以太网
板载WIFI+蓝牙:
AW859A芯片 支持双频Wifi 2.4GHz和5GHz
支持IEEE 802.11 a/b/g/n/ac
支持BT5.0
视频输出: Micro HDMI 2.0a up to 4K@60fps TV CVBS output,
音频输出:Micro HDMI输出
电源:USB Type C接口5V/3A输入
USB2.0端口: 1个
26pin接头:带有I2C、SPI、UART以及多个GPIO口
13pin接头:带有2个USB Host、IR pin、Tv-out、AUDIO(无MIC)以及3个GPIO口
调试串口:UART-TX、UART-RX以及GND
LED灯:电源指示灯和状态指示灯
支持的操作系统:Android 10、Ubuntu、Debian等操作系统
产品尺寸:53mm×60mm
重量:26g
配套操作系统支持
Orangepi Zero2刷机
硬件准备:
Orangepi Zero2
PC
TF卡及读卡器
USB转TTL
软件准备
SDFormatter
Win32Diskimager刷机工具
系统镜像文件
刷写镜像至Orangepi Zero2
可选连接显示屏(需要准备 Micro HDMI转HDMI的转换线和支持HDMI的显示器)
串口登录设置
用USB转TTL的串口线连接香橙派,注意TX接RX,RX接TX,供电可以用TypeC数据线供电
需要安装串口驱动,选择串口后波特率配置为115200,供电后启动,正常启动后香橙派上的LED灯为绿色,如果是红色灯则说明有问题。
登录用户名和密码
香橙派默认的用户名和密码都是orangepi,可以将密码修改为简单的单字符密码。
为香橙派配置WiFi连接
使用 nmcli dev wifi 命令可以查看附近的Wi-Fi名称
nmcli dev wifi
使用nmcli dev wifi connect [WIFI用户名] password [WIFI密码] 对香橙派进行联网配置
nmcli dev wifi connect [WIFI用户名] password [WIFI密码]
使用ifconfig命令可以看到香橙派被分配的IP地址
ifconfig
设置香橙派ssh登录
打开 Mobaxterm软件,选择ssh进行远程登录
host选择刚刚获取到的IP
输入密码后能够正常登录。 注意下次登录的时候IP可能会发生变化。
修改香橙派登录log配置文件
使用命令 sudo vi /boot/orangepiEnv.txt
sudo vi /boot/orangepiEnv.txt
修改第一行 verbosity为7,bootlogo为 serial(串口输出),保存并退出。
官方外设库SDK安装和验证
用命令下载发现下载不动,最后选择在windows里科学上网把外设库下载下来通过Mobaxterm上传到香橙派里。
解压缩后进入wringOP-next文件夹
使用命令 sudo ./build 进行安装
sudo ./build
使用gpio readall 进行验证,列出所有香橙派的IO口,说明官方SDK安装成功。
gpio readall
使用香橙派让蜂鸣器响
首先需要修改一下vi编译器配置,设置tab键为4个空格
sudo vi /etc/vim/vimrc
后面发现上面的设置会成为8个空格
查找后发现该设置成下图这样的配置,在runtime! debian.vim下面添加2行
set shiftwidth=4
set nu
注意等于号两边不能加空格,不然识别不出,vim编辑器就会出错
连接蜂鸣器至香橙派
将低电平触发的蜂鸣器的VCC用母对母的杜邦线连接到第一个电压为3.3V的物理PIN脚上,GND连接到第9个物理PIN脚(左边一行的第五个针脚)IO口我选择第7个物理PIN脚,也可以选择其他的IO口,比如11、13、15物理PIN脚也可以,只要代码也相应修改正确就ok
注意这里代码写的是wPi这一列的数值,而不是物理PIN脚的值。
香橙派与蜂鸣器连接的图如下:
修改代码
编辑 blink.c文件,按照照片的连接方式连接蜂鸣器,编写代码。因为蜂鸣器是低电平触发,所以初始化后设置蜂鸣器为输出口,设置PIN脚输出低电平,触发蜂鸣器,预期看到的效果是蜂鸣器在执行demo后一直响。
注意在香橙派编译的时候需要加一些参数,因为每次编译都需要加这么多参数有些浪费时间,我们可以写一个Shell脚本来代替我做这些重复的工作。
注意写完脚本后记得给脚本加可执行的权限后才能执行
chmod +x build.sh
这样编译就简化成执行./build.sh就可以了,注意这里运行demo的命令需要加sudo命令否则会提示权限不够。
./build.sh
再次完善修改代码,添加sleep()函数,实现蜂鸣器响一秒停一秒的现象。
改进代码:使用usleep()函数完成蜂鸣器短促警报。下面的代码可以让蜂鸣器循环播放短促的0.5秒警报,再等5秒安静,以此循环往复。
这里注意,在使用vim编辑器时我们可以在末行模式下输入gg=G 来对代码进行格式化。
gg=G
#include <stdio.h>#include <wiringPi.h>#include <unistd.h>#define BEEP 2int main(){wiringPiSetup();//digitalWrite (BEEP,HIGH);pinMode (BEEP,OUTPUT);while(1){sleep(5);digitalWrite (BEEP,LOW);usleep(500);digitalWrite (BEEP,HIGH);}return 0;}
完善香橙派编译脚本
完成上述一系列操作后,发现编译脚本的可复用性不高,可以编辑build.sh文件,将原本c文件的位置修改成 $1,这样就可以使用命令 ./build.sh [c文件名称]来进行编译了。
./build.sh [c文件名称]
完美
后记
这个系列最期待的部分是后面的项目实操,我会尽快更新完的!