智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)
Posted IoT砖家涂拉拉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)相关的知识,希望对你有一定的参考价值。
除了通用设备功能的应用开发,针对部分常见的全屋智能场景设备,智能生活 App SDK 提供了单独的垂直品类 SDK。包括智能摄像机 SDK、智能门锁 SDK、扫地机机器人 SDK、智能照明控制 SDK 等。
基于 智能生活 App SDK,垂直品类 SDK 面向这些特定的设备类型进行了功能封装,可以帮助大家加速全屋智能 App 的开发流程。
涂鸦 android 版本 智能摄像机 SDK 提供了与网络摄像机设备通讯的接口封装,加速开发者的应用开发过程,下面我们统一称为 IPC SDK。
IPC SDK 能力
IPC SDK 主要包括了以下特色功能:
- 预览 IPC 实时采集的影像。
- 播放 IPC 存储卡中录制的视频。
- 手机录制 IPC 采集的影像。
- 播放 IPC 传来的音频,以及与 IPC 设备通话。
- 下发与接收 IPC 指令功能。
- 视频云存储功能。
- 侦测报警消息。
IPC 功能介绍
全屋智能常见的 IPC 设备具备以下功能,但又将视设备厂商不同,而有部分差异:
- 设备配网
- Wi-Fi 快连模式(即 SmartConfig 模式)
- Wi-Fi 热点模式(即 AP 模式)
- 扫二维码配网
- P2P(Peer-to-peer)视频
- 实时视频播放
- SD 卡视频回放
- 视频裸流数据
- 低功耗门铃
- 门铃电池管理
- 门铃休眠唤醒
- 门铃呼叫
- 视频云存储
- 购买云存储服务
- 事件云存储
- 云视频播放
- 报警消息
- 消息列表
- 音视频消息播放
- 扩展能力
- 云台控制
- 存储卡管理
- 侦测报警
- 其他能力
IPC SDK 架构
IPC SDK 基于涂鸦 智能生活 App SDK 封装了智能摄像机的相关功能。IPC SDK 架构分为智能生活 App SDK、IPC 网络通信层、摄像机业务层三个层级。
-
摄像机业务层:提供了音视频通讯和展示、视频直播、设备功能控制、存储卡回放、报警消息、云存储视频管理等业务功能。
-
IPC 网络通信层:提供了 P2P 等网络通道实现。IPC SDK 依赖通信层的组件包括 P2P SDK、Audio-engine 等。
-
智能生活 App SDK:提供了以家庭为单位的全屋智能 App 开发模块,对硬件设备、云通讯等接口封装。
安卓版 IPC SDK 依赖 智能生活 App SDK 中用户管理、设备配网、家庭管理、设备管理等部分,在此基础上实现了智能摄像机设备的功能。
快速集成安卓版 IPC SDK
准备工作
IPC SDK 基于智能生活 App SDK 进行拓展开发,请参考我之前的文章
《如何快速实现移动 App 对智能设备的连接和控制》完成准备工作。
快速集成
build.gradle 配置
-
开发项目目录下的 build.gradle 配置如下:
allprojects repositories ... maven url "https://maven-other.tuya.com/repository/maven-releases/" ...
-
app
目录下的 build.gradle 配置:defaultConfig ndk abiFilters "armeabi-v7a","arm64-v8a" packagingOptions pickFirst 'lib/*/libc++_shared.so' pickFirst 'lib/*/libyuv.so' pickFirst 'lib/*/libopenh264.so' dependencies ... implementation 'com.tuya.smart:tuyasmart-ipcsdk:4.0.0-4' ...
AndroidManifest.xml 设置
在 AndroidManifest.xml
文件里配置相应的权限。
<!-- sdcard -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
混淆配置
在 proguard-rules.pro
文件配置相应混淆配置。
-keep class com.tuyasmart.***;
-dontwarn com.tuyasmart.**
说明:
P2P 1.0 的设备(p2pType
取值为 1
)还需要引入以下混淆配置:
-keep class com.tutk.***;
-dontwarn com.tutk.**
Demo App
智能生活 App SDK Demo App 中包含了 IPC 设备的控制面板模块。包含以下页面:
- 直播页面:IPC 设备的 P2P 连接流程,包含实时视频播放,视频录制、截图、对讲等功能。
- 回放页面:设备存储卡中视频片段的获取与播放,时间轴组件的使用。
- 云存储页面:云存储服务的开通,状态判断,云存储视频和云存储事件的获取与播放。
- 消息页面:告警事件的获取与展示。
- 设置页面:IPC 标准设备功能的使用。
以上是关于智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)的主要内容,如果未能解决你的问题,请参考以下文章