Android SDK入门指南¶
GTI2801_ADK.tar.gz仅支持USB Dongle,SSD SDK与GTISDK_android_v1.2_firefly_1.0.tar.gz支持USB Dongle和AIO-3399C AI板。本指南以GTI2801_ADK.tar.gz为例,其它SDK与此类似。
准备工作¶
本文需要使用以下设备:
- Firefly开发板 (推荐ROC-RK3399-PC)。
- TF卡(如果板子未带有emmc)
- 建议使用8GB及以上的容量
- 显示器(接口具体看开发板)
- 键盘和鼠标
- 电源
- 神经网络计算卡
- 可上网的电脑
- 可为Windows或Linux系统,配置有Android Studio 3.x开发环境。
烧写Android系统¶
神经网络计算卡Android SDK(仅USB Dongle)支持任意Firefly发布的Android版本,请根据使用的开发板烧写Android系统。烧写教程请从wiki网站进入具体的开发板wiki查看。ROC-RK3399-PC固件烧写教程点击此进入。
Android环境设置¶
解压SDK¶
从AI资料U盘中复制并解压SDK GTI2801_ADK.tar.gz。如在Linux下将SDK复制到用户主目录下,然后执行以下操作解压文件到用户主目录:
ubunut16.04:~$ tar zxvf ~/GTI2801_ADK.tar.gz -C GTI2801_ADK
必需文件安装¶
查看SDK目录下V1.2/Data/Models/gti2801/gnet1/cnn/userinput.txt和V1.2/Data/Models/gti2801/gnet18/cnn/userinput.txt中的USB device node是否为/dev/sg0,如果不是请修改为/dev/sg0(一般情况下USB Dongle设备节点为/dev/sg0,如果不是则需按实际情况修改)。
通过如下命令安装demo需要的文件和模型。
分步骤如下:
adb push ./Data/Image_demo /sdcard/gti/Image_mp4
GNet1模型:
adb push ./Data/Models/gti2801/gnet1 /sdcard/gti/Models/gti2801/gnet1
GNet18模型:
adb push ./Data/Models/gti2801/gnet18 /sdcard/gti/Models/gti2801/gnet18
也可以通过如下命令统一安装:
adb push ./Data /sdcard/gti
也可通过MTP直接复制Data目录到开发板然后更名为gti。
设备节点设置¶
插入USB Dongle到开发板,建议使用USB 3.0接口。
修改USB Dongle节点权限。使用adb连接到Android shell,然后执行以下操作:
ROC_RK3399_PC:/ $ su ROC_RK3399_PC:/ # chmod 777 /dev/sg*
修改max_sectors属性。在上一步骤的基础上执行以下操作:
ROC_RK3399_PC:/ # find /sys/devices/ -name max_sectors -exec sh -c 'echo 2048 > "$1"' _ {} \;
设置max_sectors值为2048。
注意:以上两个步骤每次重启设备或者拔插USB Dongle都需要从新执行。
编译测试demo¶
在电脑端使用Android Studio打开V1.2/Samples/Android/gtiVideoDemo_gnet1/或V1.2/Samples/Android/gtiVideoDemo_gnet18/。待依赖安装完成,点击Android Studio运行按钮即可运行demo。APP启动后会看到两张图片,点击直升飞机即可运行视频分类demo。