Camera接口¶
作者: 金艺
概述¶
Air724UG支持一路摄像头接口。可以用于扫码,拍照应用。
特点:¶
只支持SPI接口
最高像素30W像素@15fps
支持数据格式YUV422, Y420, RAW8, RAW10
集成GC0310驱动
管脚定义¶
管脚名 |
管脚 |
上电默 认状态 |
I/O |
管 脚描述 |
电 气特性 |
备注 |
---|---|---|---|---|---|---|
C AM_PWDN |
78 |
INPUT PU LL_DOWN |
O |
关闭 Camera |
VILmi n=-0.3V VILm ax=0.6V VIHm in=1.2V VIHm ax=2.0V VOHmin= V_ GLOBAL_ 1V8*0.7 VOLmax= V_ GLOBAL_ 1V8*0.3 |
电压域 是V_GLO BAL_1V8 不用 则悬空 |
CAM_RST |
84 |
INPUT PU LL_DOWN |
O |
重启 Camera |
同上 |
同上 |
CAM _REFCLK |
85 |
INPUT PU LL_DOWN |
O |
Camera 基 准时钟 |
同上 |
同上 |
CAM_SCK |
86 |
INPUT PU LL_DOWN |
I |
SPI Camera 时 钟输入 |
同上 |
同上 |
CAM_SI0 |
87 |
INPUT PU LL_DOWN |
I |
SPI Camer数 据输入0 |
同上 |
同上 |
CAM_SI1 |
88 |
INPUT PU LL_DOWN |
I |
SPI Camer数 据输入1 |
同上 |
同上 |
CAMI 2C_SDA1 (G PIO_17) |
50 |
INPUT PULL_UP |
I/O |
Camera I2C |
同上 |
同上 |
CAMI 2C_SCL1 |
51 |
INPUT PULL_UP |
O |
Camera I2C |
同上 |
同上 |
V CC_CAMD |
80 |
O |
Camer a数字部 分电源 |
1. 4V~2.18 v/100mA 默 认1.8V |
||
V CC_CAMA |
79 |
O |
Camer a模拟部 分电源 |
1 .6V~3.2 v/100mA 默 认1.8V |
参考设计¶
AT指令控制¶
目前AT指令只支持扫码功能,且只能支持CG0310摄像头。LUA跟CSDK开发,只要是SPI接口的摄像头都支持。
扫码支持QR,Code 49,Code 128格式。
内部集成Zbar解码库
AT+CCAM=0 打开cam AT+CCAM=1 关闭cam AT+CCAM=2 打开扫码 AT+CCAM=3 关闭扫码 扫码成功有+CCAM上报
注意:版本号大于470的固件才能支持摄像头功能
¶
LUAT 二次开发¶
初始化摄像头
语法
= disp.cameraopen(type,zbarscan,mirror,jump)
参数
参数
释义
取值
type
保留
1
zbarscan
扫码功能
1:支持扫码0:不支持扫码
mirror
镜像功能
1:开启摄像头镜像0:关闭摄像头镜像
jump
预览隔行列输出
返回值
无
例子
pm.wake("testTakePhoto")
--打开摄像头
disp.cameraopen(1,0,0,1)
--disp.cameraopen(1,0,0,0) --因目前core中还有问题没解决,所以不能关闭隔行隔列
--打开摄像头预览
--如果有LCD,使用LCD的宽和高
--如果无LCD,宽度设置为240像素,高度设置为320像素,240*320是Air268F支持的最大分辨率
disp.camerapreview(0,0,0,0,WIDTH or DEFAULT_WIDTH,HEIGHT or DEFAULT_HEIGHT)
--设置照片的宽和高像素并且开始拍照
--此处设置的宽和高和预览时的保持一致
disp.cameracapture(WIDTH or DEFAULT_WIDTH,HEIGHT or DEFAULT_HEIGHT)
--设置照片保存路径
disp.camerasavephoto("/testCamera.jpg")
log.info("testCamera.takePhotoAndDisplay fileSize",io.fileSize("/testCamera.jpg"))
--关闭摄像头预览
disp.camerapreviewclose()
--关闭摄像头
disp.cameraclose()
--允许系统休眠
pm.sleep("testTakePhoto")
打开摄像头预览
语法
disp.camerapreview(offsetx,offsety,startx,starty,endx,endy)
参数
参数
释义
取值
offsetx
保留
0
offsety
保留
0
startx
预览起始位置x
starty
预览起始位置y
endx
预览结束位置x
endy
预览结束位置y
返回值
无
预览缩放
语法
disp.camerapreviewzoom(zoom)
参数
参数
释义
取值
zoom
放缩设置
正数放大负数缩小,最大4倍,0不放缩
返回值
1:成功 0:失败
### disp .cam erap revi ewro tati on() 预览 旋转 |
语法 |
|
参数 |
| 参数 | 释义 | 取值 | | ——– | —- | —— ———— ———— | | rota tion | 旋转 | 反转 角度 设置 暂 时只 支持 0和 90度 | |
返 回值 |
1: 成功 0: 失败 |
关闭预览
语法
disp.camerapreviewclose()
参数
无
返回值
1:成功 0:失败
### disp .cam erac aptu re() 拍 照片 |
语法 |
`` disp .cam erac aptu re(w idth ,hei ght[ ,qua lity ])`` |
参数 |
| 参数 | 释义 | 取值 | | ——- | ———— | — ———— ———- | | w idth | 照片 宽度 | 取决 于摄 像头 | | he ight | 照片 高度 | 取决 于摄 像头 | | qua lity | 照片 压缩 质量 | 0 -100 (值 越大 ,质 量越 高) | |
返 回值 |
1: 成功 0: 失败 |
保存拍摄的照片到文件
语法
disp.camerasavephoto(filename)
参数
参数
释义
取值
filename
保存文件路径
string类型
返回值
1:成功 0:失败
关闭摄像头
语法
disp.cameraclose()
参数
无
返回值
无