萤石开放平台的二次开发——设备如何上云

在设备接入之前,请先判断接入设备种类,总共可分为三类:萤石设备接入、海康设备接入和第三方设备接入,不同设备的接入方式有所不同。

1.萤石设备上云

1.1通过“萤石云app”上云

操作如下-

  • 将萤石设备接入wifi网络
  • 在各大应用商店下载“萤石云视频”APP
  • 通过萤石开发者账号,登入萤石云视频app(萤石开发者账号,可以直接登录APP,无需重复注册)。
  • 添加设备:点击添加设备,或者中间右侧的“➕”号,扫描设备机身或说明书上的二维码(没有二维码可通过点击右上角通过输入序列号完成绑定)

注意:若设备已被其他用户添加,变更账户可用原账号进行转移设备或删除设备后重新添加。

1.2通过萤石开放平台控制台上云

操作如下:

1.3通过萤石开放平台接口上云

操作如下:

  • 接口文档地址:https://open.ys7.com/api/lapp/device/add
  • 接口使用指南:https://open.ys7.com/bbs/article/10
  • 按照以下格式传入账户的accessToken,设备序列号以及验证码进行调用,返回200即添加成功。

2.海康设备上云

2.1通过SADP软件上云

适用于支持萤石云的海康设备,需要通过SADP软件、客户端软件或浏览器启用萤石云功能,并设置验证码。配置前请用网线将设备与路由器相连,并配置网络摄像机的局域网参数,包括IP地址、子网掩码、网关和DNS等。注意:启用萤石云须设置6-12位数字、字母组合的验证码,建议设置8位以上的大小写字母和数字组合的验证码。下方为操作步骤:

  • SADP启用(下载地址:工具软件(Hikvision Tools) - 桌面应用软件 - 海康威视Hikvision
  • ——若设备未被激活:在SADP软件中勾选需要开启萤石云的未激活设备,在“激活设备”界面,输入设备密码并勾选启用萤石云。在弹出的验证码设置界面根据提示设置验证码(标签上有验证码的设备无需设置),设置完成后单击“激活”,完成设备激活及萤石云功能开启。
  • ——若设备已经为激活:在SADP软件中勾选需要开启萤石云的已激活设备,勾选“启用萤石云”,在弹出的验证码设置界面根据提示设置验证码(标签上有验证码的设备无需设置),最后输入网络摄像机密码,单击“修改”,完成萤石云功能开启。

  • 通过浏览器访问摄像机IP,选择“配置→网络→高级配置→平台接入”,进入平台接入配置界面。
  • 将平台接入方式选择为“萤石云”,并勾选启用。
  • 根据系统提示信息设置验证码(标签上有验证码的设备无需设置)。

2.2通过4200软件上云

下载4200软件(下载地址:客户端软件 - 桌面应用软件 - 海康威视Hikvision

  • 将摄像机添加至4200,选择“远程配置→网络→萤石云”,进入萤石云配置界面。
  • 勾选“启用萤石云”,根据提示信息设置验证码。

3.企业品牌(大华/宇视等)设备上云

国标GB28181设备接入服务,支持所有支持国标协议的设备接入萤石开放平台,实现设备便捷化管理、实时观看、录像回看等功能,针对所有视频赋能功能都支持按需提供,通过开放API、SDK等开发工具,适用各行业不同场景应用集成。(由于其他品牌设备接入需要通过国标协议上云,过程较为复杂,详情请点击链接:文档概述 · 萤石开放平台API文档 (ys7.com)

要实现 PyQt 接入萤石开放平台,可以按以下步骤进行: ### 1. 注册与创建应用 在萤石开放平台注册账号,创建一个新的应用。创建成功后,会得到 `appKey` 和 `appSecret`,这两个信息在后续的开发中用于身份验证。 ### 2. 安装必要的库 使用 `pip` 安装所需的 Python 库,包括 `pyqt5` 用于创建 GUI 界面,`requests` 用于与萤石开放平台的 API 进行交互。 ```bash pip install pyqt5 requests ``` ### 3. 获取 accessToken accessToken 是调用萤石开放平台 API 的重要凭证,通过向开放平台的 `https://open.ys7.com/api/lapp/token/get` 接口发送请求获取。以下是示例代码: ```python import requests app_key = 'your_app_key' app_secret = 'your_app_secret' url = 'https://open.ys7.com/api/lapp/token/get' data = { 'appKey': app_key, 'appSecret': app_secret } response = requests.post(url, data=data) result = response.json() if result.get('code') == '200': access_token = result.get('data').get('accessToken') print(f"获取到的 accessToken: {access_token}") else: print(f"获取 accessToken 失败: {result.get('msg')}") ``` ### 4. 创建 PyQt 界面 使用 PyQt5 创建一个简单的 GUI 界面,用于显示从萤石开放平台获取的视频流或其他信息。以下是一个基本的 PyQt5 窗口示例: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('PyQt 接入萤石开放平台') window.setGeometry(100, 100, 800, 600) window.show() sys.exit(app.exec_()) ``` ### 5. 调用萤石开放平台 API 获取设备信息 使用获取到的 `accessToken` 调用萤石开放平台设备列表接口 `https://open.ys7.com/api/lapp/device/list`,获取已绑定的设备信息。示例代码如下: ```python url = 'https://open.ys7.com/api/lapp/device/list' headers = { 'Content-Type': 'application/x-www-form-urlencoded' } data = { 'accessToken': access_token } response = requests.post(url, headers=headers, data=data) result = response.json() if result.get('code') == '200': devices = result.get('data') print(f"获取到的设备列表: {devices}") else: print(f"获取设备列表失败: {result.get('msg')}") ``` ### 6. 显示视频流 若要在 PyQt 界面中显示设备的视频流,可以使用 `QMediaPlayer` 或其他视频播放库。需要先获取设备的视频地址,再进行播放。示例代码如下: ```python from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent from PyQt5.QtMultimediaWidgets import QVideoWidget from PyQt5.QtCore import QUrl # 创建 QMediaPlayer 和 QVideoWidget player = QMediaPlayer() video_widget = QVideoWidget() # 设置视频源 video_url = 'your_video_url' # 替换为实际的视频地址 media = QMediaContent(QUrl(video_url)) player.setMedia(media) player.setVideoOutput(video_widget) # 将 QVideoWidget 添加到 PyQt 窗口中 window.layout().addWidget(video_widget) # 播放视频 player.play() ``` ### 7. 错误处理与异常情况 在实际开发中,要对各种可能出现的错误情况进行处理,如网络请求失败、身份验证失败等。可以使用 `try-except` 语句捕获异常并进行相应的处理。 ### 8. 优化与扩展 根据具体需求,可以对界面进行美化,添加更多的交互功能,如设备控制、录像回放等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值