222 lines
4.9 KiB
Markdown
222 lines
4.9 KiB
Markdown
项目编号:B061
|
||
|
||
摄像头焦距 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前端
|