【智慧安防】“看不见”的隐患如何管理和防控?

2021年4月15日,《中华人民共和国生物安全法》(以下简称《生物安全法》)开始施行,这是生物安全领域的一部基础性、综合性、系统性、统领性的法律,标志着我国生物安全进入依法治理的新阶段。

涂鸦智慧安防解决方案融合了视频监控、环境传感、出入口控制等多个系统,有效解决物种入侵难以调查,动植物疫情反应迟缓,疫情传播难以管控等关键问题,为安防监测、预警及管控等环节提供一站式解决方案。

 那么,什么是生物安全呢?

“生物安全”指国家有效防范和应对危险生物因子及相关因素威胁,生物技术能够稳定健康发展,人民生命健康和生态系统相对处于没有危险和不受威胁的状态,生物领域具备维护国家安全和持续发展的能力。重点管控在于以下两方面:

1、外来物种管控

保护生物多样性,有关部门根据职责分工,加强对外来入侵物种的调查、监测、预警。

2、动植物疫情防控

单位和个人发现传染病、动植物疫病,应当及时向医疗机构、有关专业机构或者部门报备。

入侵物种来源不明,可能携带未知病毒、细菌或其他病原体影响原有的生物链平衡。同时,自然迁徙、栖息地破坏等也会形成野生物种混入圈养动物的意外情况,引起养殖、畜牧场所大范围爆发疫病等生物安全事件,而一些人畜共患的传播性疾病更是会带来巨大的危害。

在《生物安全法》的实施背景下,涂鸦安防SaaS持续赋能打造智能化生物场所管理,助力养殖畜牧行业提升安全管理效率。

IPC 基础模板开发

本文主要以 ipcBasic 为例介绍快速开发 IPC 定制面板,介绍其具体的功能与如何使用。如需查看更多资源,请前往 tuya-panel-demo Github 仓库

说明: 此项目依赖 TYSdk.mobile.mobileInfo.appRnVersion 5.31 以上,如 App 版本过低,请重新下载新版本。

简介

本模板工程为 React Native 0.59 版本的 TS, 基于@tuya/tuya-panel-ipc-sdk 封装 Player 组件及功能模块, 快速开发与 Ipc 相关面板:

  • Path Alias
  • React、Redux、Hooks

IPC 基础模板

目录

说明: 下面仅描述脚手架相关的目录,通用目录结构信息参考 RN 0.59 脚手架文档

├── .babelrc
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc.js
├── .versionrc
├── CHANGELOG.md
├── README-zh_CN.md
├── README.md
├── index.android.js // 安卓入口
├── index.ios.js // ios入口
├── index.js
├── package.json
├── rn-cli.config.js
├── src
│   ├── api // 放置项目中用到的一系列云端 API
│   ├── components
│   │   ├── connect.tsx 
│   │   ├── index.ts // 组件统一管理入口
│   │   ├── liveBottomBar
│   │   │   ├── customFeature
│   │   │   │   └── dialogCustomExample.tsx // 自定义弹窗 Demo 组件
│   │   │   ├── liveControlBasic.tsx
│   │   │   └── liveGrid.tsx  
│   │   ├── livePlayComponents
│   │   └── publicComponents  // 公共组件
│   ├── composeLayout.tsx // 封装处理了面板内部所需要的一些设备事件和设备信息
│   ├── config
│   │   ├── cameraData.ts // 面板公共数据
│   │   ├── commonClick.ts // 自定义方法集
│   │   ├── commonConfig.ts // 公共基础配置,如 isIos
│   │   ├── commonInterface.ts // 公共Ts类型定义
│   │   ├── global.ts // 全局变量配置
│   │   ├── gridFeatureInitData.ts // 栅格功能数据配置
│   │   ├── index.ts  
│   │   ├── panelBasicFeature.ts // 基础菜单功能配置
│   │   ├── popDataStore.tsx // 功能组件、枚举型模块配置中心
│   │   └── theme.ts // 基础组件及自定义主题配置
│   ├── i18n  // 多语言配置
│   ├── main.tsx // 项目入口文件,路由配置
│   ├── models
│   │   └── modules
│   │       ├── common.ts  // 基础公有 redux 配置文件
│   │       ├── ipcCommon.ts // 自定义 redux 配置文件
│   │       └── theme.ts // 主题redux 配置文件
│   ├── pages // 页面级管理入口
│   ├── res // 本地资源,包括图片,svg path 等
│   └── utils // 工具菜单
│       └── index.ts
├── tsconfig.json
└── yarn.lock

功能介绍

此模板支持以下功能:

  • IPC 基础功能:预览、 录制、 截屏、 对讲
  • IPC 功能扩展:回放、云存储、 相册
  • DP 点功能:主题配色、 隐私模式、 红外夜视
  • 自定义功能: 自定义弹框、 自定义页面

说明: 如果需开发支持更多品类、或自定义功能,请参考基础套件IPC 组件库文档 。

功能开发

1. 播放器引入

目录: pages/livePlay/Live-player-view.tsx


import { TYIpcPlayer } from '@tuya/tuya-panel-ipc-sdk';

 <View style={styles.livePlayerViewPage}>
      <TYIpcPlayer
        // 是否全屏
        isFullScreen={isFullScreen}
        // 监听全屏调用事件
        onChangeScreenOrientation={onChangeScreenOrientation} 
        // 全屏播放器宽度
        fullPlayerWidth={fullPlayerWidth} 
        // 全屏播放器高度
        fullPlayerHeight={fullPlayerHeight} 
        // 设备是否在线
        deviceOnline={devInfo.deviceOnline}
        // 是否为隐私模式
        privateMode={dpState.basic_private}
        // 监听视频流加载状态
        onChangeStreamStatus={onChangeStreamStatus}
        // 监听设备是否支持对讲及对讲方式
        onChangeSupportedMicWay={onChangeSupportedMicWay}
        // 监听对讲切换声音
        onListenTalkingChangeMute={onListenTalkingChangeMute}
        // 监听是否正在对讲
        onListenIsTalking={onListenIsTalking} 
        // 监听是否正在录像
        onChangeRecording={onChangeRecording}  
        // 声音状态
        voiceStatus={ipcCommonState.voiceStatus} 
        // 清晰度值
        clarityStatus={ipcCommonState.clarityStatus}
        // 非全屏组件数组
        renderNormalComArr={cameraData.normalArr} 
        // 全屏组件数组
        renderFullComArr={cameraData.fullComArr}
        // 是否隐藏全屏菜单
        hideFullMenu={hideFullMenu}
        // 是否停止全屏动画
        stopFullAnim={ipcCommonState.stopFullAnim} 
        // 全屏点击事件
        onFullScreenTapView={onFullScreenTapView}
        // 截屏进入相册入口事件
        pressEnterAlbum={() => {
          commonClick.toggleNativePage('paramAlbum'); 
        }}
        // 监听视频流画面比例 是否按高按高及比例
        onChangeZoomStatus={onChangeZoomStatus}
        // 视频默认放大倍数
        scaleMultiple={scaleStatus} 
        // 截屏弹窗样式
        cutStyle={cutStyle}
        // 是否展示自定义视频遮罩
        showCustomVideoLoad={ipcCommonState.showCustomVideoLoad} 
        // 自定义视频遮罩文本
        showCustomVideoText={ipcCommonState.showCustomVideoText} 
        // 录像计时样式
        timerInterValStyle={timerInterValStyle}
        // 双向对讲通话提示
        twoMicStyle={twoMicStyle} 
      />
 </View>

说明: 播放器更多功能可参考播放器组件Player 功能库

2. 基础功能

IPC 定制面板基础功能包括全屏、截屏、对讲、录制、下拉。

目录: componets/liveBottomBar/liveControlBasic.tsx

// UI展示
<View key={item.key} style={item.show ? { flex: 1 } : { width: 0 }}> 
  ...
  {item.key === 'mic' && renderMicBtn(item)}
  {item.key !== 'mic' && renderNotMicBtn(item)}
</View>

目录: config/panelBasicFeature.ts

// 数据配置
const getBasicMenuData = (nextProps: any, openMoreControl: boolean) => {
  const initMenu: any = [
    {
      show: true,
      key: 'fullScreen',
      test: 'tuya_ipc_fullscreen',
      imgSource: Res.publicImage.basicFullScreen,
    },
    ...
    {
      show: true,
      test: 'tuya_ipc_basic_expand',
      key: 'more',
      imgSource: openMoreControl
        ? Res.publicImage.basicFeatureOpen
        : Res.publicImage.basicFeatureClose,
    },
  ];
  return initMenu;
};

3. 功能菜单模块

IPC 定制面板功能菜单模块包括回放、红外夜视等。

3.1 数据配置

目录: config/gridFeatureInitData.ts

数据配置主要目的将模块功能分类,便于数据维护及开发,也可自定义扩展。

主要分为 5 类:

  • basic (基础模块,与IPC相关的功能模块,例如回放、云存储、相册)
  • switch (DP 功能,数据类型为布尔型)
  • swichDialog (DP 功能,数据类型为枚举型)
  • customDialog (自定义弹窗功能)
  • switchPage(自定义页面功能)
const getGridMenu = (schema, isSupportCloudStorage) => [
  {
    show: schema.sd_status !== undefined,
    key: 'sd_status',
    imgSource: Res.customFeature.dpSdStatus,
    imgTitle: Strings.getLang('ipc_panel_button_playBack'),
    type: 'basic',
    shareOpen: true,
  },
  ...
];

3.2 basic 模块

一般与 IPC 设备相关,主要是用 Player 功能库 提供 API 完成开发,多数为直接跳转原生页面组件。

目录: config/commonClick.ts

const toggleNativePage = (key: string, time?: any) => {
  if (isRecordingNow() || isMicTalking()) {
    return false;
  }
  const state = store.getState();
  const { type } = state.theme;
  // 跳转原生的主题色, 定义的黑色值是1,白色的是2 ,默认的是0
  const nativeThemeValue = type === 'dark' ? 1 : 2;
  const sendParam: NativeParamInter = { theme: nativeThemeValue };
  time !== undefined && (sendParam.time = time);
  switch (key) {
    case 'paramPlayBack':
      TYIpcNative.enterParamPlayBack(sendParam);
      break;
      ...
    default:
      break;
  }
};

3.3 switch 模块

一般与 DP 点类型为布尔型相关,点击事件触发下发 相应 DP 点,还有一些特殊 DP,例如隐私模式在下发 DP 同时还需主动断掉视频流。

目录: components/liveBottomBar/liveGrid.tsx

import { TYSdk } from 'tuya-panel-kit';

const TYDevice = TYSdk.device;
... 
const sendValue = !dpState[key];
  if (key === 'basic_private') {
    if (commonClick.isRecordingNow() || commonClick.isMicTalking()) {
      return false;
    }
  }
  TYDevice.putDeviceData({
    [key]: sendValue,
  });
...

3.4 switchDialog 模块

一般与 DP 点类型为枚举型相关或自定义枚举(主题切换等),弹窗显示当前枚举值及 DP 下发。

目录: components/liveBottomBar/liveGrid.tsx

// 数据统一保存在 Redux 中, 公共组件 switchDialog 展示相应值

if (fatureType === 'switchDialog') {
      commonClick.savePopDataToRedux(key, dpState[key]);
}

枚举数据配置

目录: config/popDataStore.tsx

export const popDataSchema = {
  // actived 表示用来dp点值与Value值相同时,展示激活的tintColor
  // 主题色配色
  generalTheme: {
    title: Strings.getLang('ipc_panel_button_theme'),
    showData: [
      { value: 'light', text: Strings.getLang('ipc_panel_theme_light'), actived: false },
      { value: 'dark', text: Strings.getLang('ipc_panel_theme_dark'), actived: false },
    ],
  },
  // 夜视开关
  basic_nightvision: {
    title: Strings.getLang('ipc_nightvision_button'),
    showData: [
      { value: '0', text: Strings.getLang('dp_basic_nightvision_auto'), actived: true },
      { value: '1', text: Strings.getLang('dp_basic_nightvision_off'), actived: false },
      { value: '2', text: Strings.getLang('dp_basic_nightvision_on'), actived: true },
    ],
  },
};

3.5 customDialog 模块

任意模块以弹窗显示。

目录: components/liveBottomBar/liveGrid.tsx

// 数据统一保存在Redux中, 公共组件 customDialog 展示相应组件

if (fatureType === 'customDialog') {
  commonClick.saveCustomDialogDataToRedux(key);
}

组件数据配置

目录: config/popDataStore.tsx

export const popDataSchema = {
  // title为null,需要自己在组件中写入title,表示title是动态变化的,避免在需要变更标题的过程中,出现页面抖动
  // 自定义弹框
  customDialogFeat1: {
    title: Strings.getLang('ipc_panel_button_custom_dialog'),
    component: <DialogCustomExample />,
  },

3.6 switchPage 模块

任意模块需跳转新的页面。

说明: 跳转新一级页面及返回预览界面需使用固定 API。

目录: components/liveBottomBar/liveGrid.tsx

if (fatureType === 'switchPage') {
  key === 'rnCustomPage' && commonClick.enterFirstRnPage('customPage');
}

目录: config/commonClick.ts

import { TYIpcNative } from '@tuya/tuya-panel-ipc-sdk';

const enterFirstRnPage = (id: string, data?: any) => {
  if (isRecordingNow() || isMicTalking()) {
    return false;
  }
  Popup.close();
  store.dispatch(actions.ipcCommonActions.showCustomDialog({ showCustomDialog: false }));
  store.dispatch(actions.ipcCommonActions.showPopCommon({ showPopCommon: false }));
  TYIpcNative.enterRnPage(id, data);
};

核心能力

1、 视频监控 

涂鸦安防SaaS依托涂鸦强大的智能硬件生态,支持多种形态的视频监控设备,如云台机、枪机、半球、电池相机、4G摄像机等,灵活满足室内、户外等多重场景需求。通过涂鸦安防SaaS视频监控及联网报警能力,精准布控,及时发现异常事件,判断是否属于入侵物种。

  • 指定区域发生异常事件,需要进一步调查;

图片

  • 安装摄像头等监控设备进行布控,设置云存储或本地存储;

图片

     

  • 异常事件自动录像,保存到云端或者本地。部分设备通过算法检测进一步识别入侵对象,精准识别人、动物及车辆,极大降低误报;

图片

  • 将事件录像及报警消息推送到App或监控中心,支持电话告警及短信告警; 

图片

  • 监管人员核验视频,并可将报警事件分配至巡逻人员App端,巡逻人员可根据报警位置等信息赶赴现场处理;

图片

 2、环境条件监控 

涂鸦智慧安防解决方案相比传统安防产品,不仅支持传统视频监控及NVR存储,还支持温度监控、湿度监控、空气质量监控,利用物联网能力精细化监控养殖场,持续化管理,可设置报警阈值,在环境状态异常或疫病初期及时发现异常并自动报警,适用于种植业、养殖、畜牧行业。

  • 用户可设置温湿度、氨气、硫化氢等气体上下限值,支持与智能化通风设备联通,自动开关风机或空调等设备;

  • 通过温湿度采集仪、气体监测仪等传感器设备实时采集环境数据,通过Zigbee、WiFi等通讯协议实时上传数据至涂鸦安防云;

  • 当发生被盗、其它动物入侵以及突发性疾病时设备自动报警,同时视频上传云储存支持回溯追责;

图片

 

 3、出入口控制 

当病毒突破物种的界限,人畜共患的流行性疫病爆发于人类世界的情况时,得益于我们强大的智能硬件生态,涂鸦安防SaaS还提供门禁控制解决方案,如我们的测温门禁系统,既可以用作人员考勤和出入口控制,又可以自动测温及时发现异常人员,极大提升防控效果。

图片

涂鸦生态提供了丰富的防控解决方案所需的各种智能硬件,并持续引进硬件供应商(IHV)接入更多智能设备产品,平台支持涂鸦智能生态内所有产品的联动、多种通讯协议,互联互通开放的生态体系,帮助安防品牌商、服务商、集成商搭建更多的应用场景。

图片

(丰富的硬件生态)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值