PET-RK3576-P03 安卓一体机

一、产品外观二、接口介绍三、结构尺寸四、主板列表五、接口详细说明六、镜像文件烧写1、安装驱动并连接硬件解压开发工具目录下的 DriverAssitant_USB 驱动程序.7z,右击以管理员权限运行 DriverInstall.exe,安 装驱动程序。注意 win10 或 win11 系统需要关闭操作系统的驱动签名验证功能才能正常安装驱动,win11 不能永久 关闭这个功能,建议安装一个 win7

一、产品外观

图片关键词

二、接口介绍

图片关键词

三、结构尺寸

图片关键词

四、主板列表

图片关键词

五、接口详细说明

图片关键词

图片关键词

六、镜像文件烧写 

1、安装驱动并连接硬件 

解压开发工具目录下的 DriverAssitant_USB 驱动程序.7z,右击以管理员权限运行 DriverInstall.exe,安 装驱动程序。

注意 win10 或 win11 系统需要关闭操作系统的驱动签名验证功能才能正常安装驱动,win11 不能永久 关闭这个功能,建议安装一个 win7 的虚拟机,在虚拟机内进行驱动安装和固件烧写。

将主板与 PC 机用 TYPE-C 线(注意有些数据线仅支持充电,无法传输数据)连接好,如果出现无法识 别的情况可以通过重新连接、更换 PC 机 USB 接口、更换 USB 线、更换 PC 机等方式重试。

解压开发工具目录下的 RKDevTool.7z,右击以管理员权限运行 RKDevTool.exe

2、进入烧写模式 

主板处于 Loader 或 Maskrom 模式时可以对系统进行格式化和烧写系统镜像文件操作。 

进入 Loader 模式

图片关键词

方式一、将主板断电,首先用 TYPE-C 线将主板与 PC 机连接好,按下主板上的 SW1 烧写键,并保持按下状态,然后再上电开机,主板会进入 Loader 操作模式,然后松开 按键烧写系统即可,注意这种方式适用于主板上的 BootLoader 可正常工作的情况。 

图片关键词

方式二、将主板接通电源,进入系统,用 TYPE-C 线将主板与 PC 机连接好如下图,RKDevTool 软件会 识别到一个 ADB 设备,单击切换按钮,主板会重启进入 Loader 模式

图片关键词

3、进入 Maskrom 模式(无法进入 Loader 模式时使用)

图片关键词

一般仅在 uboot 损坏,无法进入 Loader 模式时使用。将主板断电,首先用 TYPE-C 线将主板 与 PC 机连接好,按下主板上的 SW2 ROM 键,并保持按下状态,然后再上电开机,主板会 进入 MaskRom 操作模式,然后松开按键烧写系统即可。

图片关键词

4、系统烧写流程 

首先将主板进入 Loader 或 Maskrom 模式,打开 RKDevTool 软件,点击固件按钮选择需要烧写的镜像文件, 然后点击升级按钮,右侧窗口会显示烧写进度,烧写完成后,主板会自动重启开机。

图片关键词

七、安卓应用开发 

1、GPIO 编程参考 

通过 sysfs 方式控制 GPIO,GPIO 的操作接口包括 direction 和 value 等,direction 控制 GPIO 输 入和输入模式,而 value 可控制 GPIO 输出或获得 GPIO 输入。 

例如控制调试灯 GPIO 操作如下(串口终端命令行方式):

调试灯 GPIO 设置为输出 echo out > /sys/class/gpio/gpio151/direction 

调试灯 GPIO 输出高电平 echo 1 > /sys/class/gpio/gpio151/value 

调试灯 GPIO 输出高低平 echo 0 > /sys/class/gpio/gpio151/value 

调试灯 GPIO 设置为输入 echo in > /sys/class/gpio/gpio151/direction 

读取调试灯 GPIO 输出输入电平 cat /sys/class/gpio/gpio151/value 

当 GPIO 处于输出和输入模式时都可以读取,当设置为输入模式时读取的是 GPIO 实际电平,当设置为输出 模式时读取的是设置的值(如果设置为高电平输出,外部将引脚电平拉低后,读取的值依然是 1)。 

应用程序控制请参考源码下的 demo 程序源码

图片关键词

2、串口 UART 编程参考 

RS232 串口、RS485、TTL 串口接口对应的设备名详见上文接口描述。 安卓系统串口编程请参考 demo 程序源码或以下链接: 

https://github.com/Acccord/AndroidSerialPort 

https://github.com/Geek8ug/Android-SerialPort 

https://github.com/yutils/YSerialPort 

3、WatchDog 看门狗编程参考 

进入内核后默认会启动看门狗,内核崩溃等情况出现,会在 15 秒内自动复位主板。 上层应用程序打开看门狗后,内核将看门狗控制权交由上层应用程序控制,上层应用程序的喂狗间隔建议 不大于 3 秒。 

看门狗的使用流程为 打开看门狗循环喂狗停止喂狗关闭看门狗 

喂狗之前必须先打开看门狗,关闭看门狗之前需停止喂狗操作。 

打开看门狗后如果 15 秒内没有喂狗或关闭看门狗,系统会自动复位。 

命令行测试: 打

开看门狗:echo 1 >/sys/class/gzpeite/user/watch_dog

喂狗: echo 2 >/sys/class/gzpeite/user/watch_dog 

关闭看门狗:echo 0 >/sys/class/gzpeite/user/watch_dog 

应用程序控制请参考源码下的 demo 程序源码 

4、获取 root 权限 

系统默认已开启 root 权限,上层应用 app 可直接获取 root 权限并进行相关操作,可以参考源码目录下 的 demo 程序

5、系统签名 

系统签名文件位于源代码目录下,使用对应的文件对 APK 进行签名即可。 

6、动态隐藏/显示系统状态栏和导航栏 

隐藏状态栏和导航栏在应用 app 里面向系统发送广播 gzpeite.intent.systemui.hidenavigation 和 gzpeite.intent.systemui.hidestatusbar 

显示状态栏和导航栏在应用 app 里面向系统发送广播 gzpeite.intent.systemui.shownavigation 和 gzpeite.intent.systemui.showstatusbar 

测试命令如下: 

am broadcast -a "gzpeite.intent.systemui.hidenavigation" 

am broadcast -a "gzpeite.intent.systemui.hidestatusbar" 

am broadcast -a "gzpeite.intent.systemui.shownavigation" 

am broadcast -a "gzpeite.intent.systemui.showstatusbar" 

请参考源码下的 demo 程序源码 

7、静默安装/卸载应用 

静默安装 APK/启动时,向系统发送 gzpeite.intent.action.install_apk 广播 

静默卸载 APK 时,向系统发送 gzpeite.intent.action.uninstall_apk 广播 

测试命令如下: 

静默安装: 

am broadcast -a "gzpeite.intent.action.install_apk" --es apk_path "/mnt/media_rw/0000-4823/GPSTest.apk" 

静默安装并启动: 

am broadcast -a "gzpeite.intent.action.install_apk" --es apk_path "/mnt/sdcard/GPSTest-gzpeite.apk" --ez is_start "true" 

静默卸载: 

am broadcast -a "gzpeite.intent.action.uninstall_apk" --es pkg_name "com.android.gpstest" 

8、重启、关机操作 

重启:向系统发送 gzpeite.intent.action.reboot 广播 

关机向系统发送 gzpeite.intent.action.shutdown 广播 

测试命令如下: 

重启(有确认提示):am broadcast -a "gzpeite.intent.action.reboot" --ez confirm true 

重启(无确认提示):am broadcast -a "gzpeite.intent.action.reboot" --ez confirm false 

关机(有确认提示):am broadcast -a "gzpeite.intent.action.shutdown" --ez confirm true 

关机(无确认提示):am broadcast -a "gzpeite.intent.action.shutdown" --ez confirm false

应用程序控制请参考源码下的 demo 程序源码 

9、获取 MAC 地址 

原生 Android12 系统默认禁止应用获取 MAC 地址,为了兼容更早期的应用程序,我司已对系统代码进 行优化允许应用 app 获取 WIFI 及以太网的 MAC 地址,详见源代码目录下的 demo 程序源码。 

10、 定时开关机 

可以在系统设置-->系统-->日期和时间内设置,设置保存后,重启依然有效 

目前仅支持每天固定时间关机和开机,如果需要某些天不开机,可在应用程序内判断后发送关机广播 

应用 app 设置开关机时间参考代码:

import android.os.SystemProperties; …… 

SystemProperties.set("persist.sys.poweroff_time", ”00:00”); //设置关机时间

SystemProperties.set("persist.sys.poweron_time", ”00:01”); //设置开机时间 

11、 应用开机自启动 

通过接收系统广播方式启动应用 app,可参考资料目录内的 Boot_Run_Broadcast.7z

12、 应用开机自启动 Launcher(不显示系统桌面) 

首先在开发应用 APK 时,需要在应用程序 AndroidManifest.xml 的 Intent-filter 里添加下面几行 

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.HOME" /> 

<category android:name="android.intent.category.DEFAULT"/>

</intent-filter> 

可以参考资料目录下的 OnlyLauncher.7z 

13、 设置系统背光亮度、系统音量 

可参考资料目录内的 BrightnessAndVolume-master.7z 

六、动态修改开机 logo 和动画 

两个 logo 文件必须为 bmp 文件格式,一个是在 uboot 阶段加载显示,一个是在内核阶段加载显示,文件 名不可修改,文件内容可以完全一样。 

开机动画 bootanimation.zip 仅支持安卓系统,制作方式可以通过搜索引擎查询相关教程。 

方式一 

1、 将 TF 卡或 U 盘格式化为 FAT32(可以在安卓系统的设置->存储菜单里面格式化 U 盘或 TF 卡) 

2、 将制作好的 logo.bmp、logo_kernel.bmp、bootanimation.zip 文件复制到 U 盘或 TF 卡根目录下,注意图片分辨率 不能超过显示屏分辨率。可同时更新以上三个或单独某一个文件。 

3、 开机进入安卓或 Linux 系统后,插入 U 盘或 TF 卡 

4、 等待系统自动重启,正确加载新的文件 

5、 拔出 U 盘或 TF 卡 

方式二 将 logo.bmp、logo_kernel.bmp、bootanimation.zip,复制到系统 /mnt/logo 目录下即可 

adb push logo.bmp /mnt/logo/ 

adb push logo_kernel.bmp /mnt/logo/

adb push bootanimation.zip /mnt/logo/


联系我们

首页
产品
研发
新闻