1.添加Readme。

This commit is contained in:
luocai 2024-06-17 11:35:58 +08:00
parent fdd123b039
commit 8a3fe15bbc
2 changed files with 266 additions and 0 deletions

221
Readme.md Normal file
View File

@ -0,0 +1,221 @@
项目编号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前端

View File

@ -99,6 +99,45 @@ function clean() {
fi
}
function deploy_old() { # svn代码用
if [ -n "$1" ]; then
TARGET_IP=$1
fi
pushd source/2.Software/src
chmod +x ./genDankiMakefiles
# ./genDankiMakefiles hi3516dv500
make -j6
if [ $? -ne 0 ]; then
exit 1
fi
make install-hi3516dv500
popd
echo "deply to $TARGET_IP"
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib
# while [ true ];do sleep 1;free; done
ssh -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP} "mount -o remount rw /system/"
ssh -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP} "killall start-app.sh; pgrep -f danki | xargs kill -s 9"
echo "put $PWD/source/2.Software/libs/danki /system/bin" | sftp -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP}
echo "put $PWD/source/2.Software/libs/librwfds.so /system/lib/" | sftp -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP}
echo "put $PWD/source/2.Software/libs/librwp2p.so /system/lib/" | sftp -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP}
echo "put $PWD/source/2.Software/prebuilt-hi3516dv500/rw_mpp/lib/librw_mpp.so /system/lib/" | sftp -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP}
ssh -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP} "sync"
ssh -i ~/Projects/ssh_host_rsa_key_ok root@${TARGET_IP} "reboot"
}
function clean_old() {
# svn status | grep "?" | awk '{print $2}'
pushd source/2.Software/src
make clean
popd
rm -fr source/2.Software/libs/*
rm -fr source/2.Software/pkg
svn status | grep "?" | awk '{print $2}' | grep -E 'make'\|'Makefile'\|'/build' | xargs rm -fr
}
function main() {
local cmd=$1
shift 1
@ -118,6 +157,12 @@ function main() {
init)
init $@
;;
old)
deploy_old $@
;;
clean_old)
clean_old $@
;;
*)
build
;;