目录
摘要
华为SDC ITS摄像头智能元数据对接主要分为3部分
第一部分:由于智能元数据只能通过HTTPS协议传输,因此,需要先生成证书。
第二部分:根据软件版本去查看对应的Api接口编写开发代码。
第三部分:采用flask接收获得的智能元数据。
下面详细阐述
生成证书
第一步:下载安装
下载三方工具
https://slproweb.com/products/Win32OpenSSL.html
在这里选择windows版本下载后安装
bin目录加入环境变量
在cmd输入
openssl version
返回版本信息即为安装成功
第二步:生成证书
cmd的窗口在哪个路径下,生成的文件就在哪个文件路径下,所以,选个好一点的路径
然后开始生成
1.生成服务器私钥
openssl genrsa -out private_key.pem 2048
2.根据这个私钥生成证书请求文件
请求文件要输入很多,只输入国家就行,后面还有密码
openssl req -new -key private_key.pem -out server_apply.csr
到这里就好了,下一步在CA上
3.生成CA秘钥
openssl genrsa -out ca_key.pem 2048
4.生成CA申请文件
openssl req -new -key ca_key.pem -out ca_apply.csr
5.生成CA自签名证书
openssl x509 -req -in ca_apply.csr -signkey ca_key.pem -out ca.pem
到这里准备就结束了
下面是根据CA私钥,CA自签名证书,服务器私钥生成服务证书
openssl x509 -req -CA ca.pem -CAkey ca_key.pem -CAcreateserial -in server_apply.csr -out server.pem
华为的摄像机需要对私钥进行加密才能使用
openssl rsa -des -in private_key.pem -out encrypt.pem
这样再放到华为的证书管理里面就可以了
华为的HTTPS证书管理的私钥要放入生成的encrypt.pem,执行加密的openssl命令时输入的密码再这里要再输入一次。
开发代码
import requests
import json
from requests.auth import HTTPDigestAuth
import urllib3
import time
from flask import Flask, request, jsonify
from flask import Flask
import multiprocessing as mp
from gevent import pywsgi
urllib3.disable_warnings()
# 开发前提:华为智能摄像机,具有对应的api接口
# 友情提示:找不到python的demo,请自行开发
# 友情再提示:装个postman先测试一下再查代码错误,postman登录不上去用apipost测试
# api调用类
class HWApiC(mp.Process):
def __init__(self):
super(HWApiC, self).__init__()
# 摄像机地址
self.host = 'ip'
# 用户名
self.username = 'user'
# 密码
self.password = 'password'
# web协议
self.web = 'https://'
# web端口
self.port = '443'
self.count = 1
# 智能事件返回,先订阅。设备重启后要重新订阅,