摄像头焦距 2.8-12MM

静态IP: 192.168.1.108

Danki UDP监听端口：6790，用于监听PHP UDP客户端发来的报文。


数据抓拍上报： BusinessDankiV4ReportData

服务器返回 BusinessReplyReportData，成功根据alarmId删除图片

ssh dj-tunnel.reconova.com -p 37626

## 问题

scene_image_queue_put     scene_image是用来干啥的？

HSDetectResult 是用来干啥的？

头肩判断，人形判断。是怎么判断的？标志位在哪里？

cross_type_t 这个数据结构是什么意思，我看进出店好像就是依据这个判断的。

cal_cross_type()

cross_line_type()

## 多照片抓拍

之前写了部分代码用OPEN_OTHER_BODY注释了。

通过BusinessDankiV4ReportData上传至平台。

CPictureManager::getPBdata()构造BusinessDankiV4ReportData数据。

CPictureManager::taskProc()线程做上传。

PersonInfo 作为数据结构。

captureImageResult()算法处理结果capture_image_cb()回调➡CAlgorithmManager::sendReportData()➡CPictureManager::sendPersonInfo()作为 PersonInfo  压入队列。

face_capture_thread()线程循环调用capture_image_handle()

capture_image_put()



update_best_body()更新最佳图片



## 平台地址、账号

### IOT服务平台：

https://172.16.100.154:8443/#/login

账号：13631516009

密码：123456@@

### 业务平台（瑞为安装助手app）

设备填：http://172.16.100.154:8700

APP密码框输入：reconovatester，修改服务器地址。

http://172.16.100.154/#/login

账号：13631516009

密码：123456rw



编译：

```
svn checkout http://172.16.0.252/svn/DanKiV5/branches/B023_BJ_ALG B023_BJ_ALG
./genDankiMakefiles hi3516dv500
```

最近构建：http://172.16.100.38:8080/jenkins/job/Danki_3516DV500_FSAN_BJ/78/

## h264裸流文件输入

### 录制h264裸流文件：

```
/system/bin/recordvideo 1 2592 1536 0 15000 1024 60
ffmpeg -i input.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 output.264
```



### 调用路径



```
camera_factory_t //对摄像头打开关闭 图像 的操作

fds_init()	// 打开mpp


isp_ctrl_thread() 单纯控制sensor变焦变距
monitor_thread() 单纯看门狗线程
video_thread_func()视频输入编码线程->processImage()->cache_faces()->capture_faces()->handle_detect_capture()->face_queue_put()
detect_thread() -> face_queue_get() -> capture_image_put()
face_capture_thread() ->capture_image_get() -> capture_image_handle -> captureImageResult -> CAlgorithmManager::sendReportData()

hi3516_hi3516dv500.cpp 取摄像头数据
video_thread_func()
venc_thread_func0()
venc_thread_func1()
```



## U-Boot烧录

```
setenv serverip 192.168.8.101
setenv ipaddr 192.168.8.103
setenv netmask 255.255.255.0
setenv ethaddr 00:11:22:33:44:55
setenv gatewayip 192.168.8.1

mw.b 0x50000000 0xff 0x80000 && tftp 0x50000000 boot_image.bin && mmc write 0 0x50000000 0 0x400
mw.b 0x50000000 0xff 0x80000 && tftp 0x50000000 emmc_env.bin && mmc write 0 0x50000000 0x400 0x400
mw.b 0x50000000 0xff 0x80000 && tftp 0x50000000 bl31.bin && mmc write 0 0x50000000 0x800 0x400
mw.b 0x50000000 0xff 0xd800000 && tftp 0x50000000 uImage-fdt && mmc write 0 0x50000000 0xc00 0x6c00 
mw.b 0x50000000 0xff 0x3000000 && tftp 0x50000000 rootfs_hi3516dv500_48M.ext4 && mmc write 0 0x50000000 0x7800 0x18000
mw.b 0x50000000 0xff 0x10000000 && tftp 0x50000000 appfs_hi3516dv500_256M.ext4 && mmc write 0 0x50000000 0x1f800 0x80000
```



## ZeroCheck

```json
{
	"cmd": "zero_check"
}
```



## 控制IRCUT

```shell
bspmm 0x179f0014 0x1200 # gpio10_4 被复用过
echo 84 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio84/direction

echo 83 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio83/direction

# day
echo 0 > /sys/class/gpio/gpio84/value
echo 1 > /sys/class/gpio/gpio83/value  
sleep 1
echo 0 > /sys/class/gpio/gpio84/value
echo 0 > /sys/class/gpio/gpio83/value 

# night
echo 1 > /sys/class/gpio/gpio84/value
echo 0 > /sys/class/gpio/gpio83/value  
sleep 1
echo 0 > /sys/class/gpio/gpio84/value
echo 0 > /sys/class/gpio/gpio83/value 
```

```shell
echo 1 > /sys/class/gpio/gpio84/value;echo 0 > /sys/class/gpio/gpio83/value;sleep 1;echo 0 > /sys/class/gpio/gpio84/value;echo 0 > /sys/class/gpio/gpio83/value 
```

## WebSocket

端口：9996

```json
{
	"act": "guest_status",
    "status": 1,
    "time": 1702459643	
}
```

status：为方向：1为店外徘徊，2为进店，3为店内徘徊，4为出店，0为未划线

## MPP

查看MPP使用内存：

```shell
cat /proc/umap/media-mem
```

## 测试设备

rtsp://172.16.101.94/video

rtsp://172.16.101.191/video



## 解决问题

### 2023/12/21

1. 机器插上电源冷启动无法控制相机调焦调距
2. 相机上电初始化时，将IRCUT切换至白天模式
3. web网页的调距按钮行为反了
4. 部分镜头用sdk在变焦到一端极限时（2.8或12mm），怎么聚焦也无法使成像清晰，需要拆开机壳手动调节一下。这个有没有办法软件做什么操作解决这个一端无法聚焦的问题？

## 项目分配

姚炎丰：平台、Web前端
