海康云台相机的grpc服务端

lujw2 41685c1101 feat: Add support to long options for command line arguments 11 months ago
lib 7aa54a55cd chore: Support cross compile 11 months ago
proto baad0b92a2 feat: Add function to reset position(pan/tilt) and zoom of camera 1 year ago
src 41685c1101 feat: Add support to long options for command line arguments 11 months ago
.gitignore 87d8974181 chore(git): Add more to git ignore list 11 months ago
.gitmodules c9d13af924 fix: Add submodule hik_ptz_camera_driver to complete build 1 year ago
CMakeLists.txt 7aa54a55cd chore: Support cross compile 11 months ago
README.md b382fffb1d docs: Update README for variable user/password 11 months ago
hik_ptz_camera_grpc.service e8145b6e02 feat: Make user/password variable 11 months ago

README.md

简介

基于hik_ptz_camera_driverisapi接口实现的grpc server,实现云台功能如下:

  1. 控制(上下左右旋转)
  2. 变焦
  3. 开关补光灯。

编译

非交叉编译

环境配置

  1. 安装grpc安装教程
  2. 安装 libcurl and pugixml (hik_ptz_camera_driver仓库需求)

    sudo apt-get install libcurl4-openssl-dev libpugixml-dev
    

    编译安装

  3. clone 仓库:

    git clone --recursive -b isapi git@gitlab.xpaas.lenovo.com:lrsh-sds-robot/ptz/hikptz_camera_grpc_server.git
    
  4. 编译

    cd hik_ptz_camera_grpc
    cmake -B build -DCMAKE_BUILD_TYPE=Release
    cmake --build build
    

    交叉编译

    环境配置

  5. 安装grpc安装教程

  6. 交叉编译grpc

    编译安装

  7. clone 仓库:

    git clone --recursive -b isapi git@gitlab.xpaas.lenovo.com:lrsh-sds-robot/ptz/hikptz_camera_grpc_server.git
    
  8. 编译

    cd hik_ptz_camera_grpc
    cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/path/to/file -DGRPC_DIR=/path/to/arm64_grpc_dir
    cmake --build build
    

部署

使用systemd部署(推荐)

  1. ./hik_ptz_camera_grpc.service放置到/etc/systemd/system

    sudo ln -s $(pwd)/hik_ptz_camera_grpc.service /etc/systemd/system
    
  2. 启动服务

    sudo systemctl daemon-reload
    sudo systemctl enable hik_ptz_camera_grpc_server
    sudo systemctl start hik_ptz_camera_grpc_server
    

    直接运行

  3. 执行以下命令启动云台的grpc server

    ./build/server -i <ptz_camera_ip> -p <grpc_server_port> -u <ptz_camera_username> -k <ptz_camera_password>
    # e.g. ./build/server -i 192.168.1.202 -p 48057 -u admin -k abcd1234
    
  4. 执行一下命令验证云台的grpc seerver(option)

    # 云台正转
    ./build/client -p 1
    # 云台停转
    ./build/client -p 0
    
    # 云台恢复初始状态
    /build/client -r 1