首先感谢灵眸科技 & 电子发烧友给与的试用机会。
一、开箱&硬件规格
EASY EAI Nano开源套件基于RockChip RV1126 SoC,其规格简单描述如下:
四核ARM Cortex-A7 + RISC-V MCU的规格目前还是够用,要是改成A53最好了,2.0Tops的NPU性能相当不错,RKNN的支撑让各种人工智能应用迅速落地部署。
EASY EAI Nano的板子很漂亮,军绿色的PCB,稍微比树莓派大点,具体如下图。
板载1G DDR3内存和8G emmc存储,另外支持TF卡扩容。套件拿到后,为了便于试用,直接组装起来了,这样方便。
二、上电
套件提供了ADB(J7)接口,这点非常的赞!
[root@EASY-EAI-NANO:/]
[root@EASY-EAI-NANO:/]
Linux EASY-EAI-NANO 4.19.111
[root@EASY-EAI-NANO:/]
MemTotal: 914004 kB
MemFree: 851148 kB
MemAvailable: 868532 kB
Buffers: 4372 kB
Cached: 21448 kB
SwapCached: 0 kB
Active: 15856 kB
Inactive: 15624 kB
Active(anon): 5800 kB
Inactive(anon): 452 kB
Active(file): 10056 kB
Inactive(file): 15172 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 914004 kB
LowFree: 851148 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 8 kB
Writeback: 0 kB
AnonPages: 5700 kB
Mapped: 9440 kB
Shmem: 588 kB
KReclaimable: 5812 kB
Slab: 19696 kB
SReclaimable: 5812 kB
SUnreclaim: 13884 kB
KernelStack: 1168 kB
PageTables: 528 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 457000 kB
Committed_AS: 174644 kB
VmallocTotal: 245760 kB
VmallocUsed: 1980 kB
VmallocChunk: 0 kB
Percpu: 336 kB
CmaTotal: 102400 kB
CmaFree: 0 kB
[root@EASY-EAI-NANO:/]
cpu/ cpuinfo
[root@EASY-EAI-NANO:/]
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 96.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 1
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 96.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 2
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 96.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 3
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 96.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
Hardware : Generic DT based system
Revision : 0000
Serial : 8ca7536860953917
进入ADB SHELL后,先联网,使用wifi_start.sh脚本,按照如下格式:
wifi_start.sh AP_NAME PASSWORD
成功后如下显示:
三、一个demo
板载EMMC的分配和使用情况,其中userdata目录用于用户的一些应用和模型存储。
板载一个人脸门禁的DEMO,直接运行起来:
[root@EASY-EAI-NANO:/userdata/apps/facialGate]# ls
audio face_recognition.model qSolu-facialGate
face_data.db images
face_detect.model nohup.out
[root@EASY-EAI-NANO:/userdata/apps/facialGate]# ./qSolu-facialGate
media get entity by name: rkcif-lvds-subdev is null
media get entity by name: rkcif-lite-lvds-subdev is null
media get entity by name: rkisp-mpfbc-subdev is null
media get entity by name: rkisp_dmapath is null
media get entity by name: rkisp-mpfbc-subdev is null
media get entity by name: rkisp_dmapath is null
media get entity by name: rockchip-mipi-dphy-rx is null
[00:11:29.978030][CAMHW]:XCAM ERROR CamHwIsp20.cpp:928: No free isp&ispp needed by fake camera!
Rga built version:1.04 13a52df+2022-06-22 17:27:40
----------------------start app-----------------------
database_init OK
Register Model 4 Succ ...
mkdir: can
Register Model 1 Succ ...
face detect init!
Had init the rga dev ctx = 0xe6b78
Rga built version:1.04 13a52df+2022-06-22 17:27:40
##RKMEDIA Log level: 2
[RKMEDIA][SYS][Info]:text is all=2
[RKMEDIA][SYS][Info]:module is all, log_level is 2
ID: 1, sensor_name is m01_f_gc2093 1-007e, iqfiles is /etc/iqfiles
librknn_runtime version 1.7.1 (97198ce build: 2021-11-24 09:32:17 base: 1131)
face recognition init!
rk_aiq_uapi_sysctl_init/prepare succeed
rk_aiq_uapi_sysctl_start succeed
SAMPLE_COMM_ISP_SetFrameRate start 25
SAMPLE_COMM_ISP_SetFrameRate 25
[RKMEDIA][SYS][Info]:RK_MPI_VI_EnableChn: Enable VI[1:1]:rkispp_scale0, 1920x1080 Start...
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media0
media get entity by name: rkcif-lvds-subdev is null
media get entity by name: rkcif-lite-lvds-subdev is null
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media1
media get entity by name: rkisp-mpfbc-subdev is null
media get entity by name: rkisp_dmapath is null
[RKMEDIA][SYS][Info]:RKAIQ: model(rkisp0): isp_info(0): isp-subdev entity name: /dev/v4l-subdev5
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media2
media get entity by name: rkisp-mpfbc-subdev is null
media get entity by name: rkisp_dmapath is null
media get entity by name: rockchip-mipi-dphy-rx is null
[RKMEDIA][SYS][Info]:RKAIQ: model(rkisp1): isp_info(1): isp-subdev entity name: /dev/v4l-subdev9
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media3
[RKMEDIA][SYS][Info]:RKAIQ: model(rkispp0): ispp_info(0): ispp-subdev entity name: /dev/v4l-subdev0
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media4
[RKMEDIA][SYS][Info]:RKAIQ: model(rkispp1): ispp_info(1): ispp-subdev entity name: /dev/v4l-subdev1
[RKMEDIA][SYS][Info]:#V4l2Stream: camraID:1, Device:rkispp_scale0
[RKMEDIA][SYS][Warn]:camera_id: 1, chn: rkispp_scale0
[RKMEDIA][SYS][Warn]:camera_id: 1, chn: rkispp_scale0, idx: 0
[RKMEDIA][SYS][Info]:#V4l2Stream: camera id:1, VideoNode:/dev/video31
Using mplane plugin for capture
[RKMEDIA][SYS][Info]:#V4L2Ctx: open /dev/video31, fd 106
[RKMEDIA][SYS][Info]:RK_MPI_VI_EnableChn: Enable VI[1:1]:rkispp_scale0, 1920x1080 End...
ID: 0, sensor_name is m00_f_gc2053 1-0037, iqfiles is /etc/iqfiles
mainWidget::updateSysIpParam() ...
rk_aiq_uapi_sysctl_init/prepare succeed
rk_aiq_uapi_sysctl_start succeed
SAMPLE_COMM_ISP_SetFrameRate start 25
SAMPLE_COMM_ISP_SetFrameRate 25
[RKMEDIA][SYS][Info]:RK_MPI_VI_EnableChn: Enable VI[0:0]:rkispp_scale0, 1920x1080 Start...
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media0
media get entity by name: rkcif-lvds-subdev is null
media get entity by name: rkcif-lite-lvds-subdev is null
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media1
media get entity by name: rkisp-mpfbc-subdev is null
media get entity by name: rkisp_dmapath is null
[RKMEDIA][SYS][Info]:RKAIQ: model(rkisp0): isp_info(0): isp-subdev entity name: /dev/v4l-subdev5
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media2
media get entity by name: rkisp-mpfbc-subdev is null
media get entity by name: rkisp_dmapath is null
media get entity by name: rockchip-mipi-dphy-rx is null
[RKMEDIA][SYS][Info]:RKAIQ: model(rkisp1): isp_info(1): isp-subdev entity name: /dev/v4l-subdev9
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media3
[RKMEDIA][SYS][Info]:RKAIQ: model(rkispp0): ispp_info(0): ispp-subdev entity name: /dev/v4l-subdev0
[RKMEDIA][SYS][Info]:RKAIQ: parsing /dev/media4
[RKMEDIA][SYS][Info]:RKAIQ: model(rkispp1): ispp_info(1): ispp-subdev entity name: /dev/v4l-subdev1
[RKMEDIA][SYS][Info]:#V4l2Stream: camraID:0, Device:rkispp_scale0
[RKMEDIA][SYS][Warn]:camera_id: 0, chn: rkispp_scale0
[RKMEDIA][SYS][Warn]:camera_id: 0, chn: rkispp_scale0, idx: 1
[RKMEDIA][SYS][Info]:#V4l2Stream: camera id:0, VideoNode:/dev/video39
Using mplane plugin for capture
[RKMEDIA][SYS][Info]:#V4L2Ctx: open /dev/video39, fd 194
[RKMEDIA][SYS][Info]:RK_MPI_VI_EnableChn: Enable VI[0:0]:rkispp_scale0, 1920x1080 End...
librknn_runtime version 1.7.1 (97198ce build: 2021-11-24 09:32:17 base: 1131)
Register Model 3 Succ ...
numid=4,iface=MIXER,name=
; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
: values=255,255
| dBscale-min=-20.00dB,step=0.03dB,mute=0
Register Model 5 Succ ...
Register Model 2 Succ ...
Playing WAVE
[RKMEDIA][SYS][Info]:RK_MPI_VO_CreateChn: Enable VO[1] Start...
[RKMEDIA][SYS][Info]:conn id : 56, enc id: 55, crtc id: 53, plane id: 52, w/h: 720,1280, fps: 58
[RKMEDIA][SYS][Info]:RK_MPI_VO_CreateChn: Enable VO[1] End!
[RKMEDIA][SYS][Info]:RK_MPI_VO_CreateChn: Enable VO[0] Start...
[RKMEDIA][SYS][Info]:conn id : 56, enc id: 55, crtc id: 53, plane id: 54, w/h: 720,1280, fps: 58
[RKMEDIA][SYS][Info]:RK_MPI_VO_CreateChn: Enable VO[0] End!
[RKMEDIA][SYS][Info]:RK_MPI_RGA_CreateChn: Enable RGA[0], Rect<0,0,720,1280> Start...
[RKMEDIA][SYS][Info]:FilterFlow:rkrga: Enable BufferPool! memtype:hw_mem, memcnt:4
[RKMEDIA][SYS][Info]:Opened DRM device /dev/dri/card0: driver rockchip version 2.0.0.
[RKMEDIA][SYS][Info]:RK_MPI_RGA_CreateChn: Enable RGA[0], Rect<0,0,720,1280> End...
#Bind rga[0] to VM[0]:Chn[0]....
[RKMEDIA][SYS][Info]:RK_MPI_SYS_Bind: Bind Mode[RGA]:Chn[0] to Mode[VMIX]:Chn[0]...
#Bind VMX[0] to VO[0]....
[RKMEDIA][SYS][Info]:RK_MPI_SYS_Bind: Bind Mode[VMIX]:Chn[0] to Mode[VO]:Chn[0]...
[RKMEDIA][SYS][Warn]:RK_MPI_SYS_Bind: SrcChn:VMIX[0]:Chn[x] status(3) invalid!
应用启动迅速,程序跑起来界面很流畅,还带人脸识别功能,运行这个程序的时候RV1126芯片有点热。
最后上一段视频。
##感谢阅读##