用户手册:接入设备之接入Hikvision摄像头

获取模板

examples/rtspDeviceShifu中查看模板文件。

修改配置

examples/rtspDeviceShifu/camera-deployment/deviceshifu-camera-deployment.yaml中:

spec:
  ...
  template:
    ...
    spec:
      containers:
      ...
      - image: edgehub/camera-python:v0.0.1
        ...
        env:
        - name: EDGEDEVICE_NAME
          value: "edgedevice-camera"
        - name: EDGEDEVICE_NAMESPACE
          value: "devices"
        - name: IP_CAMERA_ADDRESS
          value: "192.168.14.254" # 修改此值
        - name: IP_CAMERA_USERNAME
          value: "admin" # 修改此值
        - name: IP_CAMERA_PASSWORD
          value: "password" # 修改此值
        - name: IP_CAMERA_CONTAINER_PORT
          value: "11112" # 修改此值
        ...

推荐使用Secret存储密码,对于接入设备这是不必要的,但是这样会大大加强安全性

  1. 创建 Secret,在 rtsp_password 字段填写密码
kubectl create secret generic deviceshifu-secret --from-literal=rtsp_password=your_password -n deviceshifu
  1. 将环境变量IP_CAMERA_PASSWORD的值修改为从Secret中获取
- name: IP_CAMERA_PASSWORD
 valueFrom:
   secretKeyRef:
     name: deviceshifu-secret
     key: rtsp_password
     optional: false

查看摄像头的ip地址可以使用海康威视提供的官方工具:

SADP

macOS下载

Windows下载

部署deviceShifu

执行下面的命令:

kubectl apply -f examples/rtspDeviceShifu/camera-deployment

与deviceShifu交互

examples/rtspDeviceShifu/camera-deployment/deviceshifu-camera-configmap.yaml中:

data:
  ...
  instructions: |
    ...
    instructions:
      capture:
      info:
      stream:
      move/up:
      move/down:
      move/left:
      move/right:

您可以通过这些指令与数字孪生交互,这等同于操作实际的海康威视摄像头。

通过浏览器访问摄像头

我们可以通过service 来实现对 pod 的访问 , 在默认的yaml 文件中我们已经设置了对应的 service , 现在只需要用它启用端转发

通过下面的命令获得当前的 service列表

kubectl get svc -A 

其中存在时间最短的应该就是我们刚刚添加的service , 通过下面命令我们开启端口转发

kubectl port-forward -n deviceshifu svc/<填入刚刚添加的service名> 3000:

运行顺利的话我们可以看到如下输出

Forwarding from 127.0.0.1:3000 -> 8080
Forwarding from [::1]:3000 -> 8080

然后就可以实现从浏览器访问摄像头了 比如访问localhost:3000/info应该就会显示摄像头相关的信息 将info 替换为其他的 instruction 就可以实现对应的功能。

本文由边无际授权发布

你可能感兴趣的:(程序员)