更改

跳转至: 导航搜索

Orange Pi I96

添加24,664字节, 2022年6月29日 (三) 19:33
下载 Orange Pi i96 用户手册
=== 什么是 Orange Pi i96 ===
香橙派是一款开源的单板电脑,新一代的 arm 开发板,它可以运行 Android4.4、Ubuntu、Debian 等操作系统。Orange Pi i96 使用 RDA8810 系统级芯片,同时集成256MB LPDDR2 SDRAM 内存<br>
=== Orange Pi 4 i96 的用途 ===
我们可以用它搭建:<br>
* 一台计算机
* Android <br><br>
当然还有其他更多的功能,因为Orange Pi是开源的<br>
 
=== Orange Pi i96 是为谁设计的 ===
Orange Pi i96 不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的。它是一款非常简单、有趣、实用的工具,你可以用它去打造你身边的世界
! 编号 !! 项目 !! 最低要求及说明
|-
| 1 || TF卡 || 最小 8GB容量,class 10 级,建议使用品牌TF卡8 GB 容量或更大容量,class 10。建议使用品牌 TF 卡,它们更加可靠。
|-
| 2 || 标准HDMI转HDMI线<br>标准HDMI转DVI线 电源适配器 || 标准HDMI转HDMI线用于连接 HD TV 或者HD显示器<br>标准HDMI转DVI线用于接DVI显示器至少 5V/2A 高品质电源适配器,OTG 用作电源输入。
|-
| 3 || 键盘鼠标 || 任何标准usb接口的键盘鼠标都可以。键盘和鼠标可能会需要较大的功率,所以可能需要使用一个 USB 集线器。
|-
| 4 || 网线(可选) 调试串口线 || 网络属于可选项,它能够更加方便的更新和安装你的香橙派开发板上的软件。|-| 5 || 电源适配器 || 至少 5V/2A 高品质电源适配器,OTG 尽量不用作电源输入。支持串口登录。
|-
| 6 || 音频线(可选) || 你可以选择一个 3.5 mm 接口的音频线来体验立体音效。
|}<br>
[[Image:winPlusI96-294.png]]<br> HDMI 转 HDMI HDMI 转 DVI TF卡 电源适配器=== 步骤2: 准备板子启动需要的 TF 准备TF 卡 ===为了能够正常使用香橙派开发板,必须先在 TF 卡上安装操作系统。为了能够正常使用香橙派开发板,必须先在TF卡或者 Nand 上安装操作系统。以下将会详细说明如何在Windows和Linux环境下向TF卡写入操作系统镜像文件。<br>目前支持 T 卡启动 Android 和 Linux 发行版,仅支持 Nand 启动 Android 系统, 后续段落介绍 Nand 烧录方法。<br><br>'''<big>1)基于Windows 平台将linux 操作系统写入TF 卡Windows 平台 SD 卡制卡介绍</big>'''<br><br>
a.把TF卡插入电脑中,TF卡的容量必须比操作系统镜像大,通常需要 8GB或更大的容量。<br>
b.格式化TF卡<br>
i 下载TF卡格式化工具,例如TF Formatter,下载地址<br>
'''https://www.sdcard.org/downloads/formatter_4/eula_Windows/''' <br>
ii 解压下载的文件,并运行 setup.exe
iii 在“选项设置”选项里, 设置“格式化类型”选项为快速格式化,“逻辑大小调整”选项为“开启(ON)”
iv 确认插入的TF卡盘符和选择的盘符一致<br>
v 点击“格式化”按钮<br>
c.从下载页面下载操作系统镜像文件,页面地址如下:<br> '''http://www.orangepi.cn/downloadresourcescnhtml/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br>
d.解压下载的文件(除Android系统外的系统可用该方法来烧写,Android系统需要用其他的模式来烧写)<br>
e.右键单击下载的文件,选择 “解压文件”写入镜像文件到TF卡i 下载镜像写入工具,例如 Win32Diskimager,下载页面:
http://sourceforge.net/projects/Win32diskimager/files/Archive/<br>
ii选择已经解压的镜像文件路径<br>
[[Image:winPlus-31.png]]<br><br>
iii点击 “Write” 按钮,耐心等待镜像写入<br>
iv镜像写入完成后,点击“Exit”按钮
  <big>'''2)基于Linux 平台将linux 操作系统写入TF 卡Linux 平台 SD 卡制卡介绍'''</big><br>
a.把 TF 卡插入电脑,TF卡的容量必须比操作系统镜像大,通常需要 8GB或更大<br>
b.格式化 TF 卡<br>
FAT32 格式(根据你的 TF 卡盘符来替换 x )<br>
c.从下载页面下载操作系统镜像文件,页面地址如下:<br>
'''http://www.orangepi.cn/downloadresourcescnhtml/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br>
d.解压下载的文件右键单击下载的文件,选择 “解压文件”<br>
e.写入镜像文件到 TF 卡<br>
i运行 sudo fdisk –l 命令确认TF卡的盘符<br>
ii确认镜像文件的hash key或者是md5 和下载页面提供的一致(可选)
sha1sum '''''[path]/[imagename]'''''<br><br>
这将会输出一长串数字,应该和你下载的镜像页面的"SHA-1" 那一行匹配<br>
iii运行 umount /dev/sdxx 命令卸载TF卡的所有分区
iv运行 sudo dd bs=4M if=[path]/[imagename] of=/dev/sdx 命令去写入镜像文件,耐心等待镜像写入。你可以使用 sudo pkill –USR1 –n –x dd 命令去查看烧写进度。
3)'''<big>使用工具 PhoenixCard 工具将Android 系统镜像写入 TF 卡</big>'''<br>
Android 系统镜像文件不能在 Linux 下使用 dd 命令或者在 Window 用 Win32 Diskimager 工具来写入 TF 卡。需要使用工具 PhoenixCard 来写入。<br>
a.下载 Android 系统和 PhoenixCard 烧写工具
PhoenixCard 从下面网页中下载:<br>
'''http://pan.baidu.com/share/link?shareid=2785461830&uk=1077680202'''<br>
Android 系统从下面的网页中下载:<br>
'''http://www.orangepi.cn/downloadresourcescn/'''
b.格式化 TF 卡
[[Image:winPlus-32.png]]<br><br>
c.检查插入的 TF 卡是否与选择的盘符一致,单击“恢复卡”按钮,开始格式 TF
[[Image:winPlus-33.png]]<br>格式化 TF 卡成功后,单击“确定”按钮<br><br>
d.然后开始将 Android 系统写入 TF 卡,请注意下图红色标记的地方。
[[Image:winPlus-34.png]]<br><br>
点击“烧录”,开始写入 TF 卡,等待烧录完成。<br><br>
[[Image:winPlus-35.png]]<br><br>
Android 系统成功烧写完成后。单击“退出” 按钮。
<big>'''4)Armbian 镜像写入 TF 卡'''</big><br>
a.TF 卡插入电脑中,TF 卡的容量必须比操作系统镜像大,通常需要 8GB. 下载操作系统镜像文件,镜像下载页面地址如下: '''http://www.armbian.com/download/'''<br>
b.烧录至 TF 卡(镜像)
i下载镜像写入工具,例如 Rufus,下载页面: '''https://rufus.akeo.ie/'''
[[Image:winPlus-36.png]]<br><br>
ii选择已经解压的镜像文件路径。<br>
[[Image:winPlus-37.png]]<br><br>
iii点击开始按钮,耐心等待镜像写入
iv镜像写入完成后,点击“关闭”按钮。
=== 步骤3: 启动你的香橙派开发板 ===
* 将写好镜像的 TF 卡插入香橙派开发板左边缘底部的 TF 卡槽中<bigbr>'''1)硬件连接示意图'''[[Image:I96-6.png]]</bigbr><br>* 将 Orange Pi i96 开发板上的拨动开关调至下图,并接上跳线帽,采用 SD 卡启动。<br>[[Image:winPlusI96-387.png]]<br><br>'''OrangePi Win/Win Plus 运行android系统'''<br><br>* 将 USB 键盘或鼠标插入右边缘的 USB 接口,拨动开关为 USB 模式* 连接好 wifi 天线* 连接摄像头(可选)[[Image:winPlusI96-398.png]]<br><br>[[Image:winPlusI96-409.png]]<br><br>* 连接调试串口线,并参考本文的串口调试方法<bigbr>'''2)启动 Orangepi 开发板Android 波特率为 921600, Linux 波特率为 '''</bigspan style="color:red;">921600<br/span><br>'''。串口线使用 TTL 转 USB a.将写好镜像的 TF 卡插入香橙派开发板 TF 卡插槽串口线。<br> b.板子 mips 接口和 csi 接口之间是标准 HDMI 接口。用 HDMI 线连接香橙派开发板和 HDMI TV 或者显示器.如果没有 HDMI 或者 DVI 接口的显示器, 你可以使用mips接口接LCD。将 USB 键盘和鼠标插入右边缘的 USB 接口<br> c[[Image:I96-9.将 USB 键盘和鼠标插入右边缘的 USB 接口png]]<br> d.夹在 4 个USB接口中间的是千兆网口,你可以将香橙派开发板接入有线网络<br> e.* 下边缘的最右边是电源输入接口,连接一个至少 5V/ 2A的电源适配器。比 2A 的电源适配器。比 2A 大也可以。避免使用较小功率的 GSM 手机充电器,即使上面标明了"5V 手机充电器,即使上面标明了“5V 2A”,它也不一定能够输出 2A", 它也不一定能够输出 2A。DC电源座子下端是 4 个排针,用跳线帽短接板子边缘两个脚,表示供电方式采用DC in。如果短接另外的两个针脚,表示使用电池供电,电池接在板子背面的两个大焊点上,丝印处标注了+ -极和BAT1 的标志。<br>[[Image:winPlusI96-4110.png]]<br><br>如果上面的步骤都很顺利的话,开发板将会在几分钟内启动。显示屏上将显示系统的图形界面。首次启动时可能会需要很长的时间,请耐心等待。往后的启动时间将会很快<br><br>如果上述步骤都进行顺利的话,OrangePi i96 将会在几分钟内启动。LCD 屏上将显示Android的图形界面。首次启动时可能会需要很长的时间,请耐心等待。往后的启动时间将会很短。 
=== 步骤4:正确关闭你的香橙派开发板 ===
* 你可以使用界面中的关机按键来安全关闭香橙派开发板。<br>* 你也可以在 你可以使用界面中的关机按键来安全关闭香橙派开发板。你也可以在 shell 里面输入命令来关闭系统:<br>
sudo halt <br>or<br>
sudo shutdown –h<br><br>
如果以上步骤进行顺利,你将能安全地关闭香橙派开发板,如果直接使用电源按键关闭系统可能会损坏TF卡或者是文件系统。系统关闭后可以长按 这将安全地关闭香橙派开发板,如果直接使用电源按键关闭系统可能会损坏TF 卡或者是文件系统。系统关闭后可以长按 5 秒以上的电源案件进行断电。秒以上的电源案件进行断电。如果以上步骤能顺利进行,你的香橙派就可以关闭了。<br><br> === 其他设置 初始化设置您的 Linux 系统 ===第一次在 Orange Pi i96 上使用 Linux, 需要进行基础的系统设置,如 wifi 设置, 音频设置,系统用户设置等。<bigbr>'''1)扩展TF 卡串口设置 wifi'''</bigbr><br>在使用串口方式登录系统后,输入登录密码,系统会提示使用 orangepi-config 工具进行基础设置,其中包括 wifi 设置。你可以在命令行使用如下命令进入设置界面:<br>sudo orangepi-config<br>> wifi settings<br><br>该设置包括 WIFI 状态设置,WIFI 搜网和连接到 AP 的功能。你可以使用该方法设置 wifi。<br><br>2)'''ssh 方式连接 wifi'''<br>做好系统运行卡之后立即进行文件系统 rootfs 分区的扩展,这将能大大提升系统的性能,避免空间不足带来的各种繁琐问题。该方法需要使用两个手机。可参考使用Orange Pi i96 默认连接到热点名为orangepi 的热点上,连接密码也是 orangepi。使用其中一个手机热点功能,将手机的热点名设置为 orangepi, <br>热点连接密码为 orangepi,这样系统启动后就会默认连接到 orangepi热点上。接着使用另外一个手机连接到前一个手机的热点上,并在该手机上使用 “WIFI 助手”工具查看 Orange Pi i96 a的 IP 地址。<br>获得 Orange Pi i96 IP 地址之后,通过在 Linux 主机或者 Windows 主机上使用 SSH 进行远程登录。使用如下命令:<br>ssh orangepi@192.168.xxx.方法 1:xxx<br>登录密码都是 orangepi<br>通过 ssh 登录系统之后,运行如下命令进行路由器连接<br>sudo orangepi-config<br><br> 在 PC 机上扩展 TF 卡 rootfs 文件系统分区:=== 烧写 Android 系统到 Nand ===Orange Pi i96 支持 Nand 启动 Android 系统,也支持更新 Nand 里的 Android系统<br><br>'''1)NAND 启动 Android 系统'''<br><br>首先通过短接跳线帽,切换系统的启动方式为 NAND<br><br> 选择指定盘符,右键选择相应盘符,选择 “更改大小”调整成自己想要的大小, 单击“调整大小”,关闭对话框单击 “应用全部操作”,选择应用,完成扩容操作。[[Image:I96-11.png]]<br><br>连接电源,正常开机,OrangePi i96 将从 NAND b启动系统。具体开机操作,请操作步骤 2.<br><br>'''2)升级 NAND 里的 Android 系统'''<br>首先短接跳接帽为 NAND 启动,并拨动开关为 1234 UP, 5678 Down,如图<br><br>[[Image:I96-12.png]]<br><br>'''3)Windows 上安装烧写工具'''<br>目前 Nand 烧录工具只支持 Windows 版本,请从 OrangePi 官网下载该工具, 连接为:<br>'''http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br><br>[[Image:Xiazai3.png]]<br><br> '''4)Windows 上安装 USB 驱动'''<br>解压下载后的工具包,安装 USB 驱动。路径为:<br>'''http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html''' <br>根据你的平台进行安装,32 位系统安装 x86 USB驱动。64 位系统安装 x64 驱动。<br><br> '''5)下载 NAND 版 Android 镜像'''<br>下载地址为:<br>'''http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html''' <br><br>[[Image:Xiazai3.png]]<br><br>'''6)使用烧写工具'''<br>使用安装包中的烧录工具进行 NAND 烧录<br>'''http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br><br>[[Image:I96-15.png]]<br><br>点击 “load BIN”,将从官网下载的 NAND 版Android 镜像导入到工具里。加载完成之后,点击 Download 按钮进行下载。此时,工具正等待 OrangePi i96 的下载连接。<br><br> '''7)下载镜像'''<br>准备好一个根 Android 数据线,先连接到Orange Pi i96 的OTG口,接着同时按下电源键 5s不放,将数据线一段连接到 Windows 主机。<br>此时下载器会显示连接成功并开始下载程序,预计花费 3 分钟。下载完毕之后,重新启动系统,系统就是运行更新后的 Android 系统。<br><br>[[Image:I96-16.png]]<br><br>注意! 如果一直无法下载,请确认短接帽和开关是否设置正确。<br><br> === ADB 调试无屏模式下的 Android 系统 ===* 设置 adb 模式: 将拨动开关拨动为 1234 “UP”,5678 为 “Down”,此时系统处于 adb 模式,该模式下 USB 口不能使用<br>[[Image:I96-17.方法 2:png]]<br><br>* 将数据线一端连接 OragnePi i96 的 OTG 口,另外一端连接电脑,按下电源键, 系统启动进入 Android 系统。 进入系统,通过 * 如果主机还未配置 adb,请在网上参考 Ubuntu 或 windows adb 配置教程。在主机终端上使用 adb 命令进行 adb 连接,如下:adb shell 扩容未分区之前* 通过 adb 连接到 OrangePi i96 之后,可以参考网上 adb 调试方法使用OrangePi i96。* 推荐使用 Chrome 浏览器插件 Vysor,该工具可以通过 adb 进入 Android 屏幕,如图:[[Image:I96-18.png]]<br><br>[[Image:winPlusI96-4219.png]]<br><br>进入系统后使用 resize_rootfs=== 通用软件配置 ==='''1)更改默认账号'''<br>香橙派默认的登陆账号和密码为 orangepi/orangepi 或 root/orangepi,为了安全, 建议修改这个默认的 orangepi 账号成为你自己的账号,例如 zhangsan,步骤如下: a.sh 扩容:root 账号登陆 b.$ usermod -l zhangsan orangepi修改 orangepi 的账号为 zhangsan<br>[[Image:I96-20.png]]<br><br> c.$ groupmod -n zhangsan orangepi 修改组<br>[[Image:winPlusI96-4321.png]]<br><br>命令行输入:resize_rootfs d.sh,系统自动分区扩容,重启系统。 $ mv /home/orangepi /home/zhangsan把原来 orangepi 目录改掉<br>[[Image:I96-22.png]]<br><br> df e.$ usermod -lh 检查分区扩容是否成功d /home/orangepi orangepi把这目录设置成 orangepi 用户的 home 目录<br>[[Image:I96-23.png]]<br><br> f.$ cat /etc/passwd[[Image:winPlusI96-4424.png]]<br><br>以上修改完后就可以使用新账号 zhangsan 登陆了。<br><br> '''2)配置系统源'''配置系统源为国内源可以使更新,安装软件时速度更快,下面以 Ubuntu 为例 a.打开源文件$ sudo vi /etc/apt/sources.list b.编辑源文件把源文件替换成自己喜欢的源,例如 Ubuntu 16.04 的中科大源为:<br>deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe<br>deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe<br>deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe<br>deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe<bigbr>deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe<br>deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe<br>deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe<br>deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe<br>deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe<br>deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe<br>(注:在此源中xenial字样是版本代号,若是Ubuntu其他版本替换成相应版本代号即可,版本代号可在网上查到)<br><br> '''3)SSH方式登录系统'''<br>参考 5. 2)连接有线网络中的通过 SSH 连接 wifi.<br><br> '''4)如何修改ext4 文件系统的大小'''<br><br> 做好系统运行卡之后立即进行文件系统 rootfs 分区的扩展,这将大大提升系统的性能,避免空间不足带来的各种繁琐问题。<br>在PC机上扩展TF卡的文件系统rootfs分区:<br>用GParted调整分区的大小:<br>选择指定盘符,右键相应的盘符,选择“更改大小”调整成自己想要的大小,单击“调整大小”,关闭对话框单击“应用全部操作”,选择应用,完成扩容操作。<br>a.扩大文件系统 i启动到 Linux,umount /dev/sdb1 和/dev/sdb2,若提示磁盘忙的话使用 fuser将正在使用磁盘的程序破坏掉。(推荐使用另外的 Linux 启动盘来引导系统)<br> ii使用 fdisk /dev/sdb 调整分区大小,进去之后,输入 p,记下要扩大分区起始位置的大小。<br> iii输入 d 删除需要变化的分区(我的文件系统是/dev/sdb2,也就是第二个分区) iv 输入 n 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。<br> v输入 w 保存分区表<br> vi使用下面命令检查文件系统(保证文件系统没有错误,为修改文件系统做准备):e2fsck -f /dev/bigsdb2 <br> vii 调整分区大小:resize2fs /dev/sdb2<br> viii 可以挂载一个磁盘分区,看大小是否改变b.缩小文件系统 i启动到 Linux,umount 掉/dev/sdb1 和/dev/sdb2,若提示磁盘忙的话使用 fuser将正在使用磁盘的程序破坏掉。(推荐使用另外的 Linux 启动盘来引导系统)。<br>Orange pi 在加电开机前如果已连接网线,则系统启动后自动获取 IP 地址,如果没有连接网线,或是其它网络问题,则会导致获取 IP 地址失败,同时系统启动会因此等待一小段时间。 ii使用 fsck 检查文件系统(保证文件系统没有错误,为修改文件系统做准备) e2fsck -f /dev/sdb2<br>连接上网络之后应该是绿灯常亮,黄灯闪烁。要确定烧录的镜像是该板子的, 因为有些网卡是百兆网口 iii修改文件系统的大小(使用 resize2fs) resize2fs /dev/sdb2 900M数字后面的“s”表示通过扇区数(pc,one按每扇区 512 字节算)来指定文件系统的大小。还可以指定 K(KB),M(MB),G(GB),有些网口是千兆等。<br> iv使用 fdisk /dev/sdb 调整分区大小,进去之后,输入 p,记下要扩大分区起始位置的大小。因为 fdisk 无法动态的修改分区大小,所以只能先删除分区,然后再重建一个小一点的分区(size 要计算好,必须要能容纳下我们在上一步调整后的文件系统)。<br> v输入 d 删除需要变化的分区(PC Plus我的文件系统是/dev/sdb2,也就是第二个分区),不能混用。vi 输入 n 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。<br>另外,如果你修改的是可引导分区,注意它的可引导标志要保留, 否则可能导致系统无法 boot。上述方法是使用 fdisk 和 resize2fs 来修改分区和文件系统,也可以使用 gparted。gparted 提供了图形界面,而且它在 resize 分区的同时会帮你 resize 文件系统,用起来更方便,不容易出错。目前官网的 Lubuntu 和 raspbian 暂不可用。<br><br> === GPIO 及 WiringPi 的使用 ===目前 OrangePi i96 已经支持 WiringPi,开发者可以根据本节介绍实现在OrangePi i96 上使用 WiringPi,下图为 OrangePi i96 的 40 Pin 定义图。<br><br>[[Image:I96-26.png]]<br><br> * 在 OrangePi i96 上下载最新的 OrangePi 版 WiringPi 源码<br>在下载最新源码之前,请确保 OrangePi i96 已经成功连接上 wifi 或有线网络,如果未能连接上网络,请参考官方 OrangePi i96 用户手册。<br>在连接网络的情况下,安装必要的工具,开发者可以使用如下命令进行安装:<br> sudo apt-get install git gcc make* 下载最新的源码<br>开发者可以从 OrangePi 官网 github 上获得 OrangePi 版 WiringPi 最新源码,该项目由官方进行维护。<br>发者也可以使用如下命令进行下载:<br> git clone https://github.com/OrangePiLibra/WiringPi.git* 编译并安装 WiringPi<br>开发者在获得最新的源码后,对源码进行编译并安装,使用如下命令:<br>cd WiringOP/<br>./build OrangePi_i96<br>./build OrangePi_i96 install<br>* 使用 gpio 命令测试 WiringPi<br>在安装好 WringPi 的 OrangePi i96 上,可以使用 gpio 命令对 40 Pin 的GPIO 进行测试。<br>* 使用 "gpio readall" 命令打印所有的 WiringPi 管脚映射。从下图所示: OrangePi i96 的 40 Pin 引脚映射图。<br>'''BCM 栏数据'''代表硬件实际 GPIO 编号,OrangePi i96 共支持 4 组<br>GPIO,每组 32 个引脚,编号从第一组 PA 组开始编号。<br>PA0 对应 BCM 编号为0,PB0 对应 BCM 编号为 32,PC0 对应 BCM 编号为 64,PD0 对应 BCM 编号96, PE0 对应 BCM 编号 128<br>PF0 对应 BCM 编号为 160,PG0 对应 BCM 编号为 192...... PL0 对应 BCM 编号 352。<br><br>'''wPi 栏数据'''代表 wiringPi 定义的引脚,开发者在基于 wiringPi 的 C 库或gpio 命令中, pin 定义应使用这组数据。 如硬件 37 号引脚对应的wiringPi 引脚为 26,开发者通过使用 26 就能操作该引脚。<br>'''Name 栏'''代表硬件 Pin 脚定义的名字。<br>'''Mode 栏'''代表引脚的模式,可以为输入也可以是输出。V 栏代表当前引脚的电压值。<br>百兆网卡用的是芯片内部的数据线(internal phy),配置如下: 2 表示 internal phy'''Physical 栏'''代码是实际的硬件编号。<br><br>[[Image:winPlusI96-4527.png]]<br><br>千兆网卡用外部的千兆网卡芯片,用的是 external phy * 使用 "gpio export pin mode" 导出一个 wiringPi GPIO 到 /sys/class/gpio 目录下,并设置 GPIO 模式为 mode。 例子如下:<br>根据上图可知,硬件管脚 29 对应的 WiringPi 管脚为 GPIO 25, 将其导出并设置为输出模式* 使用 “gpio unexport pin”取消 pin 导出到 /sys/class/gpio.例子: orangepi# gpio unexport 26<br>* 使用 “gpio exports” 查看当前系统已经导出的 gpio 例子: orangepi# gpio exports<br>* 使用命令 “gpio mode pin mode” 设置 wiringPi 引脚模式。<br>例子: 设置 wiringPi 24 引脚为输出模式 orangepi# gpio mode 24 out<br>设置 wiringPi 26 引脚为输入模式 orangepi# gpio mode 26 in<br>* 使用命令 "gpio write pin value" 向输出模式的 pin 写值。<br>例子: 设置 wiringPi 26 引脚为输出引脚:orangepi# gpio mode 26 out 向 wiringPi 26 引脚写 0:orangepi# gpio write 26 0向 wiringPi 26 引脚写 1:orangepi# gpio write 26 1 表示 external phy<br>* 使用命令 "gpio read pin" 读取输入模式 pin 的值。<br>例子:设置 wiringPi 26 引脚为输入引脚:orangepi# gpio mode 26 in 从 wiringPi 26 中读取值:orangepi# gpio read 26<br><br>[[Image:winPlusI96-4628.png]]<br><br>* 更多 “gpio” 命令用法,请参考 "gpio -h" 获得。<br>* 使用 WiringPi C 库<br>WiringPi 支持 C 库和 python 库,开发者可以使用 C 语言直接操作 GPIO 口,代码样例位于源码目录 /example/OrangePi/ 目录下。<br>开发者在 C 代码中使用 GPIO 的简单样例如下: 编写 GPIO 呼吸灯<br><br>[[Image:I96-29.png]]<br>C 库调用 wiringPi 流程基本如下:<br><br>以上配置默认已经配置好,可作为了解使用。首先,为了调用 wiringPi C 库,开发者需要导入 <wiringPi.h> 头文件。<br>接着在使用 GPIO 之前,需要初始化 wiringPi,使用函数 wiringPiSetup() 进行初始化。<br>然后设置 pin 脚的模式,可以为 INPUT 或 OUTPUT 模式,注意 pin 脚的编号因以wiringPi 定义的为依据。<bigbr>3最后使用 digitalWrite() 和 digitalRead()对 Pin 进行读写操作。<br><br> == Android 及 Linux 源码编译 =='''硬件:'''vnc 和ssh 登陆系统下图 Orange Pi 开发板一块,读卡器一个,TF卡一张和电源适配器一个<br><br>[[Image:I96-30.png]]<br><br>'''软件:'''Linux主机硬盘空间至少 50G(可满足一次完全编译) Linux<br>主机中配置要求:<br>Python 的 2.7.3 版本;<br>GNU Make 的 3.81-3.82 版本;<br>JDK 1.6;<br>git 的 1.7 或更高版本;<br>=== JDK 的安装 === * 从官网上获得编译需要的 JDK* 解压获得 jdk-6u31-linux-x64.bin, 将其拷贝到 /opt 目录下* 修改 jdk-6u31-linux-x64.bin 的权限,使用如下命令:sudo chmod 755 jdk-6u31-linux-x64.bin* 安装 jdk1.6 ./bigjdk-6u31-linux-x64.bin* 配置多版本 java 共存机制,使用如下命令<br> sudo update-alternatives --install /user/bin/java java /opt/jdk1.6.0_31/bin/java 300<br> sudo update-alternatives --install /user/bin/javap javap /opt/jdk1.6.0_31/bin/javap 300<br>如果没有连接 hdmi 的条件,可以通过 vnc 或者是 ssh 远程登陆。 sudo update-alternatives --install /user/bin/javac javac /opt/jdk1.6.0_31/bin/javac 300<br> sudo update-alternatives --install /user/bin/jar jar /opt/jdk1.6.0_31/bin/jar 300<br> sudo update-alternatives --install /user/bin/javaws javaws /opt/jdk1.6.0_31/bin/javaws 300<br> sudo update-alternatives --install /user/bin/javapdoc javadoc /opt/jdk1.6.0_31/bin/javadoc 300* 切换 java 版本,java 版本选择 1.6。可以使用如下命令:<br> sudo update-alternatives --config java<br> sudo update-alternatives --config javac<br> sudo update-alternatives --config jar<br> sudo update-alternatives --config javap<br> sudo update-alternatives --config javaws<br> sudo update-alternatives --config javadoc* 先用串口登陆,安装 ssh, 确定 java 版本为 1.6,可以使用如下命令: java -version[[Image:I96-31.png]]<br><br> === 安装平台支持软件 ===$ sudo apt-get install sshgit gnupg flex bison gperf build-essential \ <br>zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ <br>libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ <br>libgl1-mesa-dev g++-multilib mingw32 tofrodos \<br>python-markdown libxml2-utils xsltproc zlib1g-dev:i386<br><br>$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so<br> === 下载源码 ===官网目前提供了 Android 源码的下载,详细情况请访问官方英文网站:<br>'''http://www.orangepi.org/html/serviceAndSupport/index.html'''<br>或者中文网站:<br>'''http://www.orangepi.cn/html/serviceAndSupport/index.html'''<br><br>下载分两种,一种为 MEGA 上下载,另一种为百度云。<br><br>1)如果从 MEGA 上下载,请按如下进行解压下载好压缩包<br>$cat OrangePi_2G-IOT* > tar.tar.gz<br>$ tar –xvzf tar.tar.gz<br>解压出来得到 trunk 目录,使用终端进入该目录<br>如果从百度云上下载,下载完后进行解压,即可获得 trunk 目录。<br><br> === Android 源码编译 === Android 源码编译之前,请确保 java 已经安装,并且 Java 版本为 1.6. 如果未安装,或者 Java 版本不对,请参考前两节关于 Java 的安装与配置。<br>Java 安装成功之后,客户可以开始编译 Android 源码。<br>* 源码选择<br>在命令行切换到 Android 源代码下 cd */trunk/<br>* 导入开发变量<br>$ source build/envsetup.sh<br>* 选择工程<br>$ lunch<br>目前 OrangePi i96 支持 T-Card 启动和 Nand 启动,不同的启动方式选择如下:<br>T 卡启动,请选择 slt-userdebug ,接着选择 NollecA9V2VV8810P_ext4 Nand 启动,请选择 etu-userdebug,接着选择 NollecA9V2VV8810P<br>* 编译系统<br>Make -j<br>* T 卡启动方式更新镜像<br>T 卡方式启动的 Android 源码编译,在编译完成之后,在 */trunk/out/target/product/slt**/ 目录下会生成对应的镜像, 使用如下命令进行更新:<br> sudo dd if=bootloader.img of=/dev/sdc bs=512 seek=256 count=4096 && sync sudo dd if=modem.img of=/dev/sdc bs=512 seek=12544 count=8192 && sync sudo dd if=boot.img of=/dev/sdc bs=512 seek=20736 count=16384 && sync sudo dd if=recovery.img of=/dev/sdc bs=512 seek=37120 count=20480 && sync sudo dd if=system.ext4.img of=/dev/sdc bs=512 seek=57600 count=512000 && sync sudo dd if=vendor.ext4.img of=/dev/sdc bs=512 seek=569600 count=512000 && sync/dev/sdc 为 SD 卡在系统上的挂载编号* Nand 系统更新<br>编译完镜像之后,在目录*/trunk/out/target/product/etu**/ 目录下生成对应的镜像将生成的镜像使用 Nand 更新工具更新到系统里,具体更新步骤,请参考本文档关于 Android Nand 更新方法。<br><br> === Linux 源码编译 === OrangePi i96 的 Linux 源码已经更新到 github 上,客户可以从 github 上获得最新的源代码。Linux 源码的编译需要在 Linux 下进行,请先准备一台 Linux 电脑,推荐使用 Ubuntu 16.04 系统。准备好电脑之后,按如下步骤进行操作。<br>* 下载 Linux 源码<br>Linux 源码已经同步到 github 上,请使用如下命令进行下载:<br>Github 链接:https://github.com/OrangePiLibra/OrangePi<br>客户也可以使用 git 命令进行同步,如下:git clone https://github.com/OrangePiLibra/OrangePi.git<br>* 编译源码<br>客户在获得源码之后,进入源码目录,可使用如下命令:cd * 修改 ssh 配置文件/etcOrangePi <br>进入目录之后,运行脚本:./Build_OrangePi.sh<br>输入 root 密码<br><br>[[Image:I96-32.png]]<br><br>Root 密码输入成功之后,进入主界面,并按回车键<br><br>[[Image:I96-33.png]]<br><br>在功能界面选择 “Build system with kernel/uboot/sshrootfs”,并按回车键<br><br>[[Image:I96-34.png]]<br><br>继续在界面中选择 “OrangePi i96”, 并按回车键进行源码更新<br><br>[[Image:I96-35.png]]<br><br>至此,系统会更新 OrangePi i96 的源代码及相关编译脚本。该操作会花费40 分钟左右,请耐心等待。更新完最新的代码之后,系统会在和 OrangePi 同级的目录下生成 OrangePi_i96 目录。该目录包含 Linux 源码和编译脚本,如下图:<br><br>[[Image:I96-36.png]]<br><br>* 编译 Linux<br>在获得最新的 Linux 源码后,进入 OrangePi_i96 目录,运行如下命令:./sshd_config,build.sh <br>该脚本是一个客户化界面的自动脚本,客户可以根据界面提供的选项,选择要编译的板子,这里选择 “OrangePi i96”<br><br>[[Image:I96-37.png]]<br><br>如果是第一次运行该脚本,系统会自动安装必须的开发工具,请确保网络的联通。<br><br>[[Image:I96-38.png]]<br><br>安装完工具之后,需要输入 root 密码,正确输入 root 密码并按回车<br><br>[[Image:I96-39.png]]<br><br>输入完密码之后,系统会进入编译主界面,客户可以根据需求进行选择。<br><br>[[Image:I96-40.png]]<br><br>该版本目前只支持 Linux 内核的全编译、Linux 内核单独编译和 Linux 模块编译三个选项,选择对应的选项后,系统会进行自动编译。<br><br>[[Image:I96-41.png]]<br><br>系统编译完成之后,会提示生成的内核镜像和模块位置。<br><br>[[Image:winPlusI96-4742.png]]<br><br> * 更新 Linux 内核和模块<br>通过编译完上面的步骤之后,客户可以将新的内核和模块更新到开发板上运行。在更新之前,请按第二章“烧写 Linux 镜像”的教程在 SD 卡上烧写一个 Linux 发行版镜像。<br>烧写完成之后,将 SD 卡重新插入到电脑上,此时,电脑会将 SD 卡识别为两个分区,第一个为 BOOT 分区,里面存储着 uboot,kernel 和 Ramdisk 等文件。第二个为 rootfs 分区,该分区包含根文件系统。<br>新编译生成的内核位置上面已经给出,将生成的 zImage 文件拷贝到 SD 卡的第一个分区,替换里面的 zImage 文件,至此,新内核更新完成。<br>同时,新编译生成的模块位置也已经给出,SD 卡第二分区,也就是 Rootfs 分区,将该分区目录下 rootfs/lib/modules/3.xxx 目录删除,该操作可能需要 root 权限, 可使用如下命令:<br>sudo rm -rf */rootfs/lib/modules/3.xxx<br>新生成的模块拷贝到 rootfs 分区,使用如下命令:<br>sudo cp -rf * ifconfig 查看 ip,root 用户用 ssh 登陆/OrangePi_i96/output/lib/modules/3.xxx*/rootfs/lib/modules/ sync<br>至此,内核和模块更新完成。<br>将烧录好的 SD 卡插入 OrangePi,将板子上跳线帽连接图下图,开机即可进入 Linux 系统。<br><br>[[Image:winPlusI96-4843.png]]<br><br> == Orange Pi 驱动程序开发 ==为帮助开发者更加熟悉 Orange Pi,本手册主要描述如何在开发板上使用简单设备驱动模块和应用程序。<bigbr>'''硬件:'''下图Orange Pi开发板一块,读卡器一个,TF卡一张和电源适配器一个<br><br>[[Image:I96-44.png]]<br><br>=== 4.1设备驱动和应用程序的编写 ==='''1)应用程序(app.c):'''<br>[[Image:I96-45.png]]<br><br>'''2)HDMI 或者 3驱动程序(OrangePi_misc.5mm 输出声音c)'''<br>[[Image:I96-46.png]]<br><br>[[Image:I96-47.png]]<br><br> === 4.2设备驱动的编译 ===OrangePi_misc.c 拷贝到源码目录下<br>*/OrangePi_i96/kernel/driver/misc<br>进入*/OrangePi_i96/bigkernel/driver/misc<br>修改当前文件的Makefile(如下图所示)<br><br>[[Image:I96-48.png]]<br><br>和Makefile同级的文件夹下有Kconfig,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单,在内核配置make menuconfig时候,从Kconfig中读取配置菜单, <br>用户配置后保存到.config中。在内核编译时,主Makefile调用这个.config,就知道用户对内核的配置情况。<br>所以Kconfig就是对应着内核的配置菜单。加入要添加新的驱动到内核源码中, 可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就可以在menuconfig里面选择我们驱动是否被编译。<br><br>[[Image:I96-49.png]]<br><br>回到源码目录下 /OrangePi_i96 <br>$ ./build.sh<br>参考本文档 Linux 编译步骤,对模块进行编译和更新。将新生产的模块文件更新到 Linux 系统上生对应.ko文件,这就是刚刚的OrangePi_misc.c经过编译之后产生的模块。<br>插上U盘(注意此时SD卡已经烧好镜像) 如果此时SD卡挂载到系统的/dev/sdc 目录下,SD 将会挂载 rootfs,将 ko 文件更新到系统中/tru具体更新方法,请参考本文档 Linux 编译章节<br><br>[[Image:I96-50.png]]<br><br> === 应用程序的编译方法 ===查询是否有下面这个交叉编译器,没有下载安装 $ arm-linux-gnueabihf-gcc -v<br><br>[[Image:I96-51.png]]<br><br>编译应用程序,发现所需要的交叉编译器arm-linux-gnueabihf-gcc,网上下载并安装<br><br>[[Image:I96-52.png]]<br><br>解压并进入解压之后的目录<br><br>[[Image:I96-53.png]]<br><br>进入 bin 目录下,查看内容<br><br>[[Image:I96-54.png]]<br><br>pwd显示该路径,并将这个路径倒到全局<br><br> a[[Image:I96-55.镜像默认从 hdmi 输出声音,用 alsamixer 可以查看并切换png]]<br><br>$ ll /etc/environment 发现该文件只能读,需要<br> ls $ chmod 755 /etc/asoundenvironment<br>修改权限<br><br>[[Image:I96-56.conf 里面 card 代表卡号,device 代表设备号。aplay png]]<br><br>把路径加入全局环境变量中<br><br>[[Image:I96-l 可以查看系统加载的声卡个数详细信息。cat 57.png]]<br><br>有了交叉编译器,编译应用程序<br><br>$ arm-linux-gnueabihf-gcc app.c –o aq<br>之后在目录下产生一个aq的应用程序,将应用程序aq复制到开发板文件系统 (rootfs的/home/orangepi/下)<br>$ cp aq /media/*/home/orangepi/<br><br> === 驱动和程序的运行方式 ===将卡取下,插入开发板,上电开机。<br>首先要切换成root用户,开发板下加载模块驱动模块<br>$ insmod /proclib/asoundmodules/cards 也可以查看orangepi.ko<br><br> 用 alsamixer 切换声卡之后,可以使用alsactl store [[Image:I96-58.png]]<br><br>$ lsmod 看下是否加载上<br><br>[[Image:I96-f 59.png]]<br><br>$ ll /vardev/liborangepimisc(杂项设备自动生成设备文件,具体看驱动代码)<br><br>[[Image:I96-60.png]]<br><br>执行应用程序(注意应用程序的用法,具体看代码)<br>$ ./aq /alsadev/asoundorangepimisc == 串口调试工具介绍 =='''硬件:'''下图Orange Pi开发板一块,下图TTL转USB线一根,读卡器一个,TF卡一张和电源适配器一个<br><br>[[Image:I96-61.state 来保存修改的参数png]]<br><br>=== Windows平台下的操作 ===在使用 OrangePi 做项目开发过程中,为了获得更多的调试信息,OrangePi 默认支持串口信息调试。对于开发者而言,只需准备上面提到的材料,即可简单的获得串口调试信息。<br>不同的上位机使用的串口调试工具大同小异,基本可以参考下文的方法进行部署。使用Windows平台进行串口调试的工具很多,通常使用的工具是putty。本节以putty作为例子进行部署讲解。<br>Android 波特率设置为 921600<br>Linux 波特率设置为 921600<br><br> '''1)Windows下USB驱动安装'''<br>* 目前最新版的驱动PL2303_Prolific_DriverInstaller_v130.zip,下载解压。<br>[[Image:I96-62.png]]<br><br>* 以管理员身份选择应用程序安装<br>[[Image:I96-63.png]]<br><br>* 等待安装完成<br>[[Image:I96-64.png]]<br><br> '''2)Windows下Putty安装'''<br>* 下载 putty 安装包<br>* 等待安装完成<br>[[Image:I96-65.png]]<br><br>* 等待安装完成<br>[[Image:I96-66.png]]<br><br>* 解压安装<br>* 安装好之后打开程序如下图所示<br>* 等待安装完成<br>[[Image:I96-67.png]]<br><br> '''3)调试的连接方式'''<br>[[Image:I96-68.png]]<br><br>使用 TTL 转串口线,一端连接 OrangePi,另一端连接 PC<br><br>'''4)设备信息的获取'''<br><br>* 开始菜单选择控制面板<br>[[Image:I96-69.5mm 接口输出需要修改文件系统上的配置文件png]]<br><br>* 点击设备管理器,查看端口号<br>[[Image:I96-70.png]]<br><br>* Putty配置<br>[[Image:I96-71.png]]<br><br>串行口设置成相应的端口号(COM5),速度设置成 921600<br>'''6)调试串口'''<br>OrangePi 上电开机,串口自动打印串口 log<br>[[Image:I96-72.png]]<br><br> === Linux平台下的操作 ===使用Linux平台进行串口调试工具有minicom和kermit。本文以kermit作为例子进行讲解。<br>'''1)Kermit 安装'''* 使用命令进行安装:<br>$ sudo apt-get install ckermit<br>[[Image:I96-73.png]]<br><br>* 配置 kermit<br>$ sudo vi /etc/asoundkermit/kermrc<br>[[Image:I96-74.png]]<br><br>* 添加行:<br>set line /dev/ttyUSB1<br>set speed 921600<br>set carrier-watch off set handshake none<br>set flow-control none<br>robust<br>set file type bin<br>set file name lit<br>set rec pack 1000<br>set send pack 1000<br>set window 5<br><br>[[Image:I96-75.conf.将 card1 修改成 card0 即可,或者用amixer 修改,默认的已经配置好。或者直接使用图形界面的播放器选择声道的切换。png]]<br><br>'''2)调试的连接方式'''<br>[[Image:I96-76.png]]<br><br>使用 TTL 转串口线,一端连接 Orange Pi,另一端连接 PC<br><br>'''3)设备信息的获取'''<br>$ ls /dev/ (在 PC 终端输入命令,查询 TTL 转串口线的设备号)<br>[[Image:I96-77.png]]<br> a.从图中可以看出,“TTL 转串口”线被识别为 “ttyUSB0”,配置 /ect/kermit/kermitc文件,更新串口信息。 $ sudo vi /etc/kermit/kermitc<br> b.图形界面切换方式:将 setline 的值设置为 /dev/ttyUSB0[[Image:I96-78.png]]<br><br> 打开 smplayer,选择 options 中的 preferences,选择 alsa(audiocodec'''4),HDMI 和audiocodec 同时只能打开一个。开始调试串口'''<br> a.在上位机终端输入命令,进入 kermit 模式: $ sudo kermit –c[[Image:I96-79.png]]<br><br> b.Orange Pi 上电开机,串口自动打印串口 log,登录密码为 root/orangepi 和orangepi/orangepi<br>== 下载 Orange Pi i96 用户手册 ==<br>
c.如何使用 mic 录音更多关于Orange Pi i96的使用信息,请查看<span style="color:red;">Orange Pi i96 用户手册</span>。(点击下载)<br> arecord -d 5 -f cd -t wav 123.wav<br> 录音之后,用aplay 123.wav 放音
8,460
个编辑

导航菜单