8,460
个编辑
更改
→缩小TF卡中rootfs分区容量的方法
<big>'''顶层视图:'''</big><br>
[[File:zero3-img3-1.png]]
<big>'''底层视图:'''</big><br>
[[File:zero3-img4-1.png]]
<span id="orange-pi-zero-3的接口详情图"></span>
== Orange Pi Zero 3的接口详情图 ==
[[File:zero3-img5-1.png|800px]]
[[File:zero3-img6.png|800px]]
<p>[[File:zero3-img21.png]]</p></li>
<li><p>散热片,如果担心开发板的温度过高,可以加个散热片,散热片贴在H618芯片上即可</p>
<p>[[File:zero3-img22.png]] [[File:zero3-img23-1.png]]</p></li>
<li><p>5V的散热风扇,如下图所示,开发板的26pin和13pin接口上都有5V和GND引脚可以接散热风扇,26pin和13pin排针的间距为'''2.54mm''',散热风扇的电源接口参照这个规格去购买即可。</p>
{| class="wikitable" style="background-color:#ffffdc;width:800px;"
<big><p>'''注意,开发板插上电源后5V引脚就可以直接使用,无需其他设置,另外5V引脚输出的电压是无法通过软件调节和关闭的。'''</p></big>
|}
<p>[[File:zero3-img24-1.png]]</p></li>
<li><p>配套外壳'''(待添加图片)'''</p></li>
<li><p>USB转TTL模块和杜邦线,使用串口调试功能时,需要USB转TTL模块和杜邦线来连接开发板和电脑</p>
开发板上有一个16MB大小的SPI Flash,其所在位置如下图所示:
[[File:zero3-img60-1.png]]
SPI Flash中默认烧录有一个微型的linux系统,此系统主要用于证明开发板是能正常启动的。当拿到开发板后,不用烧录系统到TF卡中,只需要给开发板接上Type-C电源就能启动SPI Flash中的微型linux系统。此系统的主要功能有:
<p>[[File:zero3-img61.png]]</p></li>
<li><p>开发板的调试串口GND、TX和RX引脚的对应关系如下图所示</p>
<p>[[File:zero3-img62-1.png]]</p></li>
<li><p>USB转TTL模块GND、TX和RX引脚需要通过杜邦线连接到开发板的调试串口上</p>
<ol style="list-style-type: lower-alpha;">
<li><p>黑色的杜邦线需要插到26pin或者13pin接口的GND引脚上</p></li>
<li><p>26pin和13pin接口5V引脚和GND引脚在开发板中的位置如下图所示,'''<span style="color:#FF0000">切记不要接反了</span>'''</p>
<p>[[File:zero3-img24-1.png]]</p></li></ol>
</li></ol>
<p>[[File:zero3-img80.png]]</p></li>
<li><p>如果需要在13pin接口上同时接两个USB设备,会发现13pin接口上的5V和GND引脚不够用,此时其中一个USB设备可以使用26pin接口中的5V和GND引脚,位置如下图所示:</p>
<p>[[File:zero3-img24-1.png]]</p></li></ol>
</li></ol>
<li><p>'''Resize/Move'''选项打开后会弹出下面的设置界面</p>
<p>[[File:zero3-img97.png]]</p></li>
<li><p>然后可以直接拖动下图所示的位置来设置容量的大小,也可以通过设置'''New siezesize(MiB)'''中的数字来设置rootfs分区的大小</p>
<p>[[File:zero3-img98.png]]</p></li>
<li><p>设置好容量后,再点击右下角的'''Resize/Move'''即可</p>
<li><p>'''Resize/Move'''选项打开后会弹出下面的设置界面</p>
<p>[[File:zero3-img107.png]]</p></li>
<li><p>然后可以直接拖动下图所示的位置来设置容量的大小,也可以通过设置'''New siezesize(MiB)'''中的数字来设置rootfs分区的大小</p>
<p>[[File:zero3-img98.png]]</p></li></ol>
<li><p>先登录linux系统,有下面三种方式</p>
<ol style="list-style-type: lower-alpha;">
<li>如果开发板连接了网线,可以通过[[Orange Pi Zero 3#Ubuntu下SSH远程登录开发板|'''ssh远程登录linux系统''']]</li></ol>
<!-- -->
<li><p>先登录linux系统,有下面三种方式</p>
<ol style="list-style-type: lower-alpha;">
<li><p>如果开发板连接了网线,可以通过[[Orange Pi Zero 3#Ubuntu下SSH远程登录开发板|'''ssh远程登录linux系统''']]</p></li>
<li><p>如果开发板连接好了调试串口,可以使用串口终端登录linux系统(串口软件请使用MobaXterm,使用minicom无法显示图形界面)</p></li>
<li><p>如果连接了开发板到HDMI显示器,可以通过HDMI显示的终端登录到linux系统</p></li></ol>
<p>而开发板的DHCP服务默认会给接入热点的设备分配'''192.168.12.0/24'''的IP地址,这时点击已经连接的WIFI热点'''orangepi''',然后就可以看到手机的IP地址是'''192.168.12.X'''。</p>
<p>[[File:zero3-img121.png]]</p>
<p>[[File:zero3-img122-1.png]]</p></li>
<li><p>如果想要为接入的设备指定不同的网段,可以通过-g参数指定,如通过-g参数指定接入点AP的网段为192.168.2.1</p>
<p>[[File:zero3-img133.png]]</p></li>
<li><p>然后就可以在下图所示的位置设置IP地址(Addresses)、网关(Gateway)和DNS服务器的地址(里面还有很多其他设置选项,请自行探索),'''<span style="color:#FF0000">请根据自己的具体需求来设置,下图中设置的值只是一个示例</span>'''</p>
<p>[[File:zero3-img134-1.png]]</p></li>
<li><p>设置完后将光标移动到右下角的'''<OK>''',然后回车确认</p>
<p>[[File:zero3-img135.png]]</p></li>
<span id="使用nmcli命令来设置静态ip地址"></span>
==== 使用nmcli命令来设置静态IP地址 ====
<p>orangepi@orangepi:~$ '''sudo bluetoothctl'''</p>
<p>Agent registered</p>
<p>[bluetooth]# '''paired-devices #查看已配对的蓝牙设备的MAC地址'''</p>
<p>Device DC:72:9B:4C:F4:CF orangepi</p>
<p>[bluetooth]# '''connect DC:72:9B:4C:F4:CF #使用MAC地址连接蓝牙设备'''</p>
<p>Attempting to connect to DC:72:9B:4C:F4:CF</p>
<p>[CHG] Device DC:72:9B:4C:F4:CF Connected: yes</p>
<p>[CHG] Device DC:72:9B:4C:F4:CF ServicesResolved: yes</p>
<p>[CHG] Controller 10:11:12:13:14:15 Discoverable: no</p>
<p>'''[orangepi]# #出现这个提示符说明连接成功'''</p>
|}
</li>
<ol style="list-style-type: decimal;">
<li><p>Orange Pi Zero 3开发板26 pin接口引脚的顺序请参开发板上的丝印图</p>
<p>[[File:zero3-img171-1.png]]</p></li>
<li><p>开发板26 pin接口引脚的功能如下表所示</p></li>
<div style="display: flex;">{| class="wikitable" style="width:800px300px;margin-right: 20px"
|-
| style="text-align: left;"| '''GPIO序号'''
| style="text-align: left;"| '''功能'''
| style="text-align: left;"| '''引脚'''
|-
| style="text-align: left;"|
| style="text-align: left;"| '''3.3V'''
| style="text-align: left;"| '''1'''
|-
| style="text-align: left;"| '''229'''
| style="text-align: left;"| '''TWI3-SDA'''
| style="text-align: left;"| '''3'''
|-
| style="text-align: left;"| '''228'''
| style="text-align: left;"| '''TWI3-SCK'''
| style="text-align: left;"| '''5'''
|-
| style="text-align: left;"| '''73'''
| style="text-align: left;"| '''PC9'''
| style="text-align: left;"| '''7'''
|-
| style="text-align: left;"|
| style="text-align: left;"| '''GND'''
| style="text-align: left;"| '''9'''
|-
| style="text-align: left;"| '''70'''
| style="text-align: left;"| '''PC6'''
| style="text-align: left;"| '''11'''
|-
| style="text-align: left;"| '''69'''
| style="text-align: left;"| '''PC5'''
| style="text-align: left;"| '''13'''
|-
| style="text-align: left;"| '''72'''
| style="text-align: left;"| '''PC8'''
| style="text-align: left;"| '''15'''
|-
| style="text-align: left;"|
| style="text-align: left;"| '''3.3V'''
| style="text-align: left;"| '''17'''
|-
| style="text-align: left;"| '''231'''
| style="text-align: left;"| '''SPI1_MOSI'''
| style="text-align: left;"| '''19'''
|-
| style="text-align: left;"| '''232'''
| style="text-align: left;"| '''SPI1_MISO'''
| style="text-align: left;"| '''21'''
|-| style="text-align: left;"| '''230'''| style="text-align: left;"| '''PH6'''| style="text-align: left;"| '''SPI1_CLK'''| style="text-align: left;"| '''23'''|-| style="text-align: left;"|| style="text-align: left;"|| style="text-align: left;"| '''GND'''| style="text-align: left;"| '''25'''|}{| class="wikitable" style="width:300px;"|-| style="text-align: left;"| '''引脚'''| style="text-align: left;"| '''功能'''| style="text-align: left;"| '''GPIO'''| style="text-align: left;"| '''GPIO序号'''|-| style="text-align: left;"| '''2'''| style="text-align: left;"| '''5V'''| style="text-align: left;"|| style="text-align: left;"||-| style="text-align: left;"| '''4'''| style="text-align: left;"| '''5V'''| style="text-align: left;"|| style="text-align: left;"||-| style="text-align: left;"| '''6'''| style="text-align: left;"| '''GND'''| style="text-align: left;"|| style="text-align: left;"||-| style="text-align: left;"| '''8'''| style="text-align: left;"| '''UART5_TX'''| style="text-align: left;"| '''PH2'''| style="text-align: left;"| '''226'''|-| style="text-align: left;"| '''10'''| style="text-align: left;"| '''UART5_RX'''| style="text-align: left;"| '''PH3'''| style="text-align: left;"| '''227'''|-| style="text-align: left;"| '''12'''| style="text-align: left;"| '''PC11'''| style="text-align: left;"| '''PC11'''| style="text-align: left;"| '''75'''|-| style="text-align: left;"| '''14'''| style="text-align: left;"| '''GND'''| style="text-align: left;"|| style="text-align: left;"||-| style="text-align: left;"| '''16'''| style="text-align: left;"| '''PC15'''| style="text-align: left;"| '''PC15'''| style="text-align: left;"| '''79'''|-| style="text-align: left;"| '''18'''| style="text-align: left;"| '''PC14'''| style="text-align: left;"| '''PC14'''| style="text-align: left;"| '''78'''|-| style="text-align: left;"| '''20'''| style="text-align: left;"| '''GND'''| style="text-align: left;"|| style="text-align: left;"||-
| style="text-align: left;"| '''22'''
| style="text-align: left;"| '''PC7'''
| style="text-align: left;"| '''71'''
|-
| style="text-align: left;"| '''24'''
| style="text-align: left;"| '''SPI1_CS'''
| style="text-align: left;"| '''233'''
|-
| style="text-align: left;"| '''26'''
| style="text-align: left;"| '''PC10'''
| style="text-align: left;"| '''74'''
|}
</div>
</ol>
<ol start="3" style="list-style-type: decimal;">
|}
<ol style="list-style-type: lower-alpha;">
<li><p>在命令行中输入下面的命令可以让pwm1输出一个50Hz的矩形波在命令行中输入下面的命令可以让pwm1输出一个50Hz的方波</p>
{| class="wikitable" style="width:800px;"
|-
</ol>
<ol start="3" style="list-style-type: lower-alpha;">
<li>在命令行中输入下面的命令可以让pwm3输出一个50Hz的矩形波在命令行中输入下面的命令可以让pwm3输出一个50Hz的方波</li>
{| class="wikitable" style="width:800px;"
<ol start="3" style="list-style-type: lower-alpha;">
<li><p>然后就可以开始安装dlib,命令如下所示</p>
<ol style="list-style-type: lower-alphanone;"><li><p>a) Ubuntu20.04</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>b) Ubuntu22.04</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>c) Debian11</p>
{| class="wikitable" style="width:800px;"
|-
</li>
<li><p>使用浏览器测试的方法如下所示:</p>
<ol style="list-style-type: lower-alphanone;"><li><p>a) 首先打开浏览器,然后在浏览器的地址栏输入'''开发板的IP地址:5001''',然后就能看到下面的页面</p>
<p>[[File:zero3-img206.png]]</p></li>
<li><p>b) 然后将obama2.jpg复制到桌面</p>
{| class="wikitable" style="width:800px;"
|-
|}
</li>
<li><p>c) 然后在浏览器中选择刚才复制的图片</p>
<p>[[File:zero3-img207.png]]</p></li>
<li><p>d) 然后点击'''Upload'''上传刚才选择的图片进行人脸识别</p>
<p>[[File:zero3-img208.png]]</p></li>
<li><p>e) 等待一段时间后就会显示检测的结果</p>
<p>[[File:zero3-img209.png]]</p></li></ol>
</li></ol>
</li>
<li><p>使用多核并行检测多张图片的示例如下所示:</p>
<ol style="list-style-type: lower-alphanone;"><li><p>a) 首先进入'''face_recognition/examples'''文件夹</p></li><li><p>b) 然后新建一个test文件夹</p></li><li><p>c) 然后将jpg图片都拷贝到test文件夹中</p></li><li><p>d) 然后使用所有的cpu并行运行'''face_detection'''来检查test文件夹中的图片,其中'''--cpus -1'''表示使用所有的cpu</p>
{| class="wikitable" style="width:800px;"
|-
|-
|
<big>'''注意,使用H618 Soc的开发板是需要下载orangepi-build的next分支源码的,上面的git clone命令需要指定orangepi-build源码的分支为build的<span style="color:#FF0000">next</span>。分支源码的,上面的git clone命令需要指定orangepi-build源码的分支为next。'''</big>
[[File:zero3-img295.png]]
<p>'''gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu'''</p>
|}
</li></ol><p>编译H618 u-boot源码使用的交叉编译工具链为:</p></li></ol>
<!-- -->
<ol style="list-style-type: lower-alpha;">
<li><p>linux内核源码存放的git仓库如下,注意切换linux-orangepi仓库的分支为</p>
<ol style="list-style-type: lower-alphanone;">
<li><p>a) Linux5.4</p>
{| class="wikitable" style="width:800px;"
<li><p>next分支会编译linux6.1镜像需要使用的u-boot v2021.07版本的代码</p>
<p>[[File:zero3-img299.png]]</p></li></ol>
</li>
<li><p>如果选择的next分支还会提示需要选择内存的大小,current分支不需要选择</p>
<ol style="list-style-type: lower-alpha;">
<li><p>如果购买的开发板为1.5GB内存大小的,请选择第一项</p></li>
<li><p>如果购买的开发板为1GB或2GB或4GB内存大小的,请选择第二项</p>
<p>[[File:zero3-img299-1.png|1000px]]</p></li></ol>
</li>
<li><p>然后就会开始编译u-boot,编译next分支时提示的部分信息说明如下所示:</p>
<li><p>然后选择'''5 Install/Update the bootloader on SD/eMMC'''</p>
<p>[[File:zero3-img300.png]]</p></li>
<li><p>按下回车键后首先会弹出一个Warring按下回车键后首先会弹出一个'''Warning'''</p>
<p>[[File:zero3-img301.png]]</p></li>
<li><p>再按下回车键就会开始更新u-boot,更新完后会显示下面的信息</p>
<li><p>然后选择镜像的类型</p>
<ol style="list-style-type: lower-alpha;">
<li><p>'''Image with console interface > (server)'''表示服务器版的镜像,体积比较小</p></li>
<li><p>'''Image with desktop environment'''表示带桌面的镜像,体积比较大</p>
<div class="figure">
<li><p>next分支可以看到debian11、debian12、ubuntu22.04三个选项</p>
<p>[[File:zero3-img299.png]]</p></li></ol>
</li>
<li><p>如果选择的next分支还会提示需要选择内存的大小,current分支不需要选择</p>
<ol style="list-style-type: lower-alpha;">
<li><p>如果购买的开发板为1.5GB内存大小的,请选择第一项</p></li>
<li><p>如果购买的开发板为1GB或2GB或4GB内存大小的,请选择第二项</p>
<p>[[File:zero3-img299-1.png]]</p></li></ol>
</li>
<li><p>然后选择rootfs的类型</p>
<li><p>然后选择镜像的类型</p>
<ol style="list-style-type: lower-alpha;">
<li><p>'''Image with console interface > (server)'''表示服务器版的镜像,体积比较小</p></li>
<li><p>'''Image with desktop environment'''表示带桌面的镜像,体积比较大</p>
<div class="figure">
<li><p>然后选择'''Advanced display settings'''</p>
<p>[[File:zero3-img319.png]]</p></li>
<li><p>然后选择'''HDMI outpu output mode'''</p>
<p>[[File:zero3-img320.png]]</p></li>
<li><p>然后就能看到显示器支持的分辨率列表了。此时点击对应的选项就会切换到对应的分辨率。请注意,不同显示器支持的分辨率可能是不同的,如果接到电视上,一般会看到比下图更多的分辨率选项。</p>
<span id="hdmi转vga显示测试-1"></span>
== HDMI转VGA显示测试 ==
<p>[[File:zero3-img357.png]]</p></li>
<li><p>然后就能在开发板连接的HDMI屏幕上看到手机屏幕的内容了</p>
<p>[[File:zero3-img358-1.png]]</p></li></ol>
<span id="pin-接口-gpiouartspi-测试"></span>
<li><p>最后APP会显示读取到的板载SPI Flash的ID信息</p></li>
[[File:zero3-img377-1.png]]
</ol>
<ol start="9" style="list-style-type: decimal;">
|-
| style="text-align: left;"| v1.0
| style="text-align: left;"| 2023-07-0510
| style="text-align: left;"| 初始版本
|}
| '''更新说明'''
|-
| 2023-07-0510
| Orangepizero3_1.0.0_ubuntu_jammy_server_linux5.4.125.7z
Orangepizero3_1.0.0_debian_bullseye_desktop_xfce_linux5.4.125.7z
Orangepizero3_1.0.0_ubuntu_jammy_server_linux6.1.31.7z
Orangepizero3_1.0.0_debian_bullseye_desktop_xfce_linux6.1.31.7z
OrangePi_Zero3_Android12_v1.0.tar.gz
* 初始版本
|}