智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)

news2025/2/27 23:18:27

除了通用设备功能的应用开发,针对部分常见的全屋智能场景设备,智能生活 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 标准设备功能的使用。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适合编程初学者的开源博客系统(Flutter版)

目标 为编程初学者打造入门学习项目&#xff0c;使用各种主流编程语言来实现。让想学编程的&#xff0c;一个都不落下。 上述基本涵盖了当前编程开发所有主流语言&#xff08;我这里说的主流&#xff0c;直白点讲就是互联网公司都在用的&#xff09;。 左侧为前端版本&#x…

即将学习3D建模看过来,超高性价比电脑推荐

虽说建模还是台式最好&#xff0c;但是需要外出或者带回家工作的时候还是不方便的❌&#xff0c;咱们来看下怎么挑&#xff5e; 我们使用的建模软件为3DsMax、maya、zbrush等 建模的时候&#xff0c;对显卡和内存的要求较高&#x1f250; 显卡越好&#xff0c;模型面数多了也…

pwn调试环境搭建

应用场景 不同的pwn题有不同的环境要求&#xff0c;堆题要求更多&#xff0c;patchelf可以满足一定场景的实现&#xff0c;但终究不如在实际对应的环境中搭建。如何快速搭建一个高效节省资源的环境也是一个不小的问题。 方法 高效节省资源&#xff1a;一个主要调试环境多个运…

CE修改植物大战僵尸-天上无限掉落阳光(小宇特详解)

CE修改植物大战僵尸-天上无限掉落阳光 里是CE修改植物大战僵尸的第三个博客&#xff0c;其他的操作请看我之前的博客。 天上无限掉落阳光。 这里说明一下版本&#xff1a; CE&#xff1a;CE6.8 植物大战僵尸版本&#xff1a;植物大战僵尸95版 具体步骤 我们在刚出现阳光…

英国Essay写作降重方法有哪些?

英国留学生写Essay的时候会遇到抄袭率比较高的情况&#xff0c;当参考别人的文章的同时&#xff0c;不知不觉也就会让文章的重复率有所增加&#xff0c;有效减少重复率修改的方法你清楚吗&#xff1f;下文为大家讲解一下降低英国Essay写作降重的方法。 When British overseas s…

汇编语言实验8:BIOS/DOS功能调用与宏指令程序设计

《汇编语言程序设计》实验报告实验八 BIOS/DOS功能调用与宏指令程序设计1. 实验目的2. 实验任务3.1 BIOS/DOS及宏汇编程序题目设计3.2 编写代码3.3 代码分析3.4 运行测试4. 实验总结实验八 BIOS/DOS功能调用与宏指令程序设计 1. 实验目的 掌握汇编语言程序设计的基本方法和技…

基于工业级4G5G路由器大型设备远程无线监控方案

一、行业背景进入21世纪&#xff0c;我国经济持续高速发展&#xff0c;全球各地的企业对大型设备的需求日益旺盛&#xff0c;例如工业锅炉、数控车床、医疗器械等&#xff0c;在产品服务业全球的时候&#xff0c;产品厂家需要对所有在外的设备进行远程监控管理&#xff0c;实时…

Linux 内存管理知识总结(二)

Linux 内存管理框架 传统的多核运算是使用 SMP(Symmetric Multi-Processor )模式&#xff1a;将多个处理器与一个集中的存储器和 I/O 总线相连&#xff0c;所有处理器访问同一个物理存储器&#xff0c;因此 SMP 系统有时也被称为一致存储器访问&#xff08;UMA&#xff09;结构…

Leetcode刷题day1|数组一|704.二分查找,27.移除元素,35.搜索插入位置

文章目录一、面试中数组相关理论知识二、二分查找问题思路注意事项AC代码三、移除元素思路注意事项AC代码四、寻找插入位置思路AC代码五、总结二分法|二分查找法|二分搜索法|二分易错点相关概念代码实现一、面试中数组相关理论知识 数组是非常基础的数据结构&#xff0c;在面试…

【树状数组】前缀和问题

一、引子 给你一个数组 nums &#xff0c;请你完成两类查询。 其中一类查询要求更新数组 nums 下标对应的值另一类查询要求返回数组 nums 中索引 left 和索引 right 之间&#xff08; 包含 &#xff09;的nums元素的和 题目只是一个用来检测我们思想的东西&#xff0c;比如这…

Android BottomSheet总结

文章目录Android BottomSheet总结BottomSheetBottomSheetDialogBottomSheetDialogFragment全屏无阴影BottomSheetDialogFragment代码下载Android BottomSheet总结 BottomSheet XML布局&#xff1a; <?xml version"1.0" encoding"utf-8"?> <an…

C++ 条件变量的使用

绪论 并发编程纷繁复杂&#xff0c;其中用于线程同步的主要工具——条件变量&#xff0c;虽然精悍&#xff0c;但是要想正确灵活的运用却并不容易。 对于条件变量的理解有三个难点&#xff1a; 为什么wait函数需要将解锁和阻塞、唤醒和上锁这两对操作编程原子的&#xff1f;为…

MCMC学习笔记-马尔科夫链概述

参考文章&#xff1a;MCMC(二)马尔科夫链 - 刘建平Pinard - 博客园 写给小白看的马尔科夫链&#xff08;Markov Chain&#xff09;最佳入门教程_许进进的博客-CSDN博客_markov链 目录 1.马尔科夫链概述 1.1股票市场模型 2.马尔科夫链模型状态转移矩阵的性质 (本节重点) 2.…

小程序容器技术加持下,企业自主打造小程序生态

小程序是一种不用下载就能使用的应用&#xff0c;也是一项门槛非常高的创新&#xff0c;经过将近两年的发展&#xff0c;已经构造了新的小程序开发环境和开发者生态。 据对公开资料进行统计&#xff0c;2021年全网小程序数量已超700万&#xff0c;其中微信小程序开发者突破300…

java使用world模板动态生成PDF文件

根据项目需求&#xff0c;需要用到一个功能&#xff0c;根据页面参数需要动态的生成一个world&#xff0c;并将world生成两份PDF文件&#xff0c;一份正式文件&#xff0c;一份临时的电子文件&#xff08;带有二维码&#xff0c;扫描可以下载正式文件的电子版本&#xff09;。同…

JAVA开发(nginx)

主要描述下面4个内容&#xff1a; 1.Nginx的正向代理和反向代理 2.Nginx的动静分离 3.Nginx的负载均衡 4.Nginx的配置详解 解释&#xff1a; Nginx的正向代理&#xff1a;代理的是客户端。 Nginx的反向代理&#xff1a;代理的是服务端。在web服务中&#xff0c;一般都是…

2022年“网络安全”赛项驻马店市赛选拔赛 任务书

2022年“网络安全”赛项驻马店市赛选拔赛 一、竞赛时间 共计3小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段单兵模式系统渗透测试 任务一 Windows操作系统渗透测试 100分钟 100 任务二 Linux操作系统渗透测试 150 任务三 数字取证调查 150 任务四 …

vscode不能打开终端问题

遇到vscode不能打开终端问题&#xff0c;一直以为是安全软件限制问题&#xff0c;也没搜到解决方案&#xff0c;因为影响也不大&#xff0c;就没有管。 最近&#xff0c;要用vscode调试代码&#xff0c;发现不能打开终端&#xff0c;没法玩了&#xff0c;又来看这个问题&#…

【图像隐藏】基于matlab像素预测和位平面压缩的加密图像可逆数据隐藏【含Matlab源码 2218期】

⛄一、加密图像可逆数据隐藏简介 1 信息隐藏技术概述 信息隐藏技术是把秘密信息隐藏在多媒体信息中的一种方法。图像是最适合信息隐藏的数据载体。信息隐藏的方法主要有数字水印技术、隐写术等。 信息隐藏可以分为有损信息隐藏与可逆信息隐藏信息隐藏技术, 区别在于接收端是否…