GB28181智能安全帽方案探究及技术实现

简介: GB28181智能安全帽方案探究及技术实现

什么是智能安全帽?

智能安全帽是一种集成先进科技的安全帽,可基于GB28181规范,适用于铁路巡检、电力、石油化工等高风险行业的作业人员,以及消防、救援等紧急情况下的安全防护。

智能安全帽.jpgimage.gif

智能安全帽通常具有以下功能:

    1. 实时定位:内置GPS定位模块,可以实时定位作业人员的位置,并及时上报到指挥中心,防止迷路或失踪。
    2. 无线通信:内置无线通信模块,可以与指挥中心进行通信,方便作业人员与指挥中心的联系和协调。
    3. 碰撞检测:内置碰撞检测模块,可以实时检测作业人员的头部撞击情况,及时发出警报或求救信号。
    4. 温度检测:内置温度检测模块,可以实时检测作业环境的温度,防止高温中暑等安全问题。
    5. 照明功能:内置LED灯,可以为作业人员提供照明,方便夜间或低光照环境下的作业。
    6. 信息显示:在安全帽上设置液晶屏幕或LED显示屏,可以显示作业人员的位置、通信状态、温度等信息。

    技术实现

    早期的智能安全帽,会基于嵌入式linux,随着这块技术发展,考虑到易用性等各方面因素,目前主流的智能安全帽,大多技术Android平台实现,本文以Android平台为例,介绍下,智能安全帽需要支持的核心功能。

    先说技术架构:

    视沃科技(大牛直播SDK)GB28181设备接入SDK.png

    功能设计:

      • [视频格式]H.264/H.265(Android H.265硬编码);
      • [音频格式]G.711 A律、AAC;
      • [音量调节]Android平台采集端支持实时音量调节;
      • [H.264硬编码]支持H.264特定机型硬编码;
      • [H.265硬编码]支持H.265特定机型硬编码;
      • [软硬编码参数配置]支持gop间隔、帧率、bit-rate设置;
      • [软编码参数配置]支持软编码profile、软编码速度、可变码率设置;
      • 支持纯视频、音视频PS打包传输;
      • 支持RTP OVER UDP和RTP OVER TCP被动模式(TCP媒体流传输客户端);
      • 支持信令通道网络传输协议TCP/UDP设置;
      • 支持注册、注销,支持注册刷新及注册有效期设置;
      • 支持设备目录查询应答;
      • 支持心跳机制,支持心跳间隔、心跳检测次数设置;
      • 支持移动设备位置(MobilePosition)订阅和通知;
      • 支持语音广播;
      • 支持语音对讲;
      • 支持云台控制和预置位查询;
      • [实时水印]支持动态文字水印、png水印;
      • [镜像]Android平台支持前置摄像头实时镜像功能;
      • [实时静音]支持实时静音/取消静音;
      • [实时快照]支持实时快照;
      • [降噪]支持环境音、手机干扰等引起的噪音降噪处理、自动增益、VAD检测;
      • [外部编码前视频数据对接]支持YUV数据对接;
      • [外部编码前音频数据对接]支持PCM对接;
      • [外部编码后视频数据对接]支持外部H.264数据对接;
      • [外部编码后音频数据对接]外部AAC数据对接;
      • [扩展录像功能]支持和录像模块组合使用,录像相关功能。

      以大牛直播SDK的Android平台GB28181设备接入模块为例,如果需要对接到GB28181智能安全帽,需要关注信令和媒体数据两块部分,这里说说大概的设计思路:

      GBSIPAgentListener主要系GB28181注册、心跳、DevicePosition等,如注册成功、注册超时、注册网络传输层错误、心跳异常、设备位置请求处理:

      publicinterfaceGBSIPAgentListener{
      /*注册成功* @param dateString: 服务器日期,用来校准设备端时间,用户自行决定是否校准设备时间*/voidntsRegisterOK(StringdateString);
      /**注册超时*/voidntsRegisterTimeout();
      /**注册网络传输层异常*/voidntsRegisterTransportError(StringerrorInfo);
      /**心跳达到异常次数*/voidntsOnHeartBeatException(intexceptionCount, StringlastExceptionInfo);
      /** 设备位置请求, 这个主要用在移动设备位置订阅上* @param interval 请求间隔, 单位是毫秒*/voidntsOnDevicePositionRequest(StringdeviceId, intinterval);
      }

      image.gif

      GBSIPAgentPlayListener主要系GB28181的Invite、Ack、Bye等处理:

      publicinterfaceGBSIPAgentPlayListener {
      /**收到s=Play的实时视音频点播*/voidntsOnInvitePlay(StringdeviceId, SessionDescriptionsessionDescription);
      /**发送play invite response 异常*/voidntsOnPlayInviteResponseException(StringdeviceId, intstatusCode, StringerrorInfo);
      /** 收到CANCEL play INVITE请求*/voidntsOnCancelPlay(StringdeviceId);
      /** 收到Ack*/voidntsOnAckPlay(StringdeviceId);
      /** 收到Bye*/voidntsOnByePlay(StringdeviceId);
      /** 不是在收到BYE Message情况下, 终止Play*/voidntsOnTerminatePlay(StringdeviceId);
      /** Play会话对应的对话终止, 一般不会出发这个回调,目前只有在响应了200K, 但在64*T1时间后还没收到ACK,才可能会出发收到这个, 请做相关清理处理*/voidntsOnPlayDialogTerminated(StringdeviceId);
      }

      image.gif

      GBSIPAgentAudioBroadcastListener主要系GB28181语音广播处理相关,如有语音广播相关需求,可参照demo实例实现:

      publicinterfaceGBSIPAgentAudioBroadcastListener {
      /**收到语音广播通知*/voidntsOnNotifyBroadcastCommand(StringfromUserName, StringfromUserNameAtDomain, Stringsn, StringsourceID, StringtargetID);
      /**需要准备接受语音广播的SDP内容*/voidntsOnAudioBroadcast(StringcommandFromUserName, StringcommandFromUserNameAtDomain, StringsourceID, StringtargetID);
      /**音频广播, 发送Invite请求异常*/voidntsOnInviteAudioBroadcastException(StringsourceID, StringtargetID, StringerrorInfo);
      /**音频广播, 等待Invite响应超时*/voidntsOnInviteAudioBroadcastTimeout(StringsourceID, StringtargetID);
      /**音频广播, 收到Invite消息最终响应*/voidntsOnInviteAudioBroadcastResponse(StringsourceID, StringtargetID, intstatusCode, SessionDescriptionsessionDescription);
      /** 音频广播, 收到BYE Message*/voidntsOnByeAudioBroadcast(StringsourceID, StringtargetID);
      /** 不是在收到BYE Message情况下, 终止音频广播*/voidntsOnTerminateAudioBroadcast(StringsourceID, StringtargetID);
      }

      image.gif

      GBSIPAgentDeviceControlListener主要系GB28181设备控制相关,比如远程启动、云台控制:

      publicinterfaceGBSIPAgentDeviceControlListener {
      /** 收到远程启动控制命令*/voidntsOnDeviceControlTeleBootCommand(StringdeviceId, StringteleBootValue);
      /** 云台控制*/voidntsOnDeviceControlPTZCmd(StringdeviceId, StringtypeValue);
      }

      image.gif

      GBSIPAgentQueryCommandListener主要系GB28181查询命令,如预置位查询:

      publicinterfaceGBSIPAgentQueryCommandListener {
      /** 设备预置位查询*/voidntsOnDevicePresetQueryCommand(StringfromUserName, StringfromUserNameAtDomain, Stringsn, StringdeviceId);
      }

      image.gif

      GBSIPAgentTalkListener主要系GB28181语音对讲相关处理:

      publicinterfaceGBSIPAgentTalkListener {
      /**收到s=Talk 语音对讲*/voidntsOnInviteTalk(StringdeviceId, SessionDescriptionsessionDescription);
      /**发送talk invite response 异常*/voidntsOnTalkInviteResponseException(StringdeviceId, intstatusCode, StringerrorInfo);
      /** 收到CANCEL Talk INVITE请求*/voidntsOnCancelTalk(StringdeviceId);
      /** 收到Ack*/voidntsOnAckTalk(StringdeviceId);
      /** 收到Bye*/voidntsOnByeTalk(StringdeviceId);
      /** 不是在收到BYE Message情况下, 终止Talk*/voidntsOnTerminateTalk(StringdeviceId);
      /** Talk会话对应的对话终止, 一般不会出发这个回调,目前只有在响应了200K, 但在64*T1时间后还没收到ACK,才可能会出发收到这个, 请做相关清理处理*/voidntsOnTalkDialogTerminated(StringdeviceId);
      }

      image.gif

      总结

      除信令交互外,媒体数据编码、传输,这里就不再赘述。GB28181智能安全帽是一种集成多种先进科技的安全帽,可以为作业人员提供实时定位、无线通信、碰撞检测、温度检测、照明功能和信息显示等多种安全保障,提高作业安全性和工作效率。

      相关实践学习
      通过Ingress进行灰度发布
      本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
      容器应用与集群管理
      欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
      相关文章
      |
      2月前
      |
      机器学习/深度学习 人工智能 智能设计
      VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
      VisionFM 是一个多模态多任务的视觉基础模型,专为通用眼科人工智能设计。通过预训练大量眼科图像,模型能够处理多种眼科成像模态,并在多种眼科任务中展现出专家级别的智能性和准确性。
      118 4
      VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
      |
      算法 机器学习/深度学习 数据挖掘
      带你读《增强型分析:AI驱动的数据分析、 业务决策与案例实践》之三:预测模型的新技术
      本书“深入浅出的原理介绍 + 实际使用的案例”的内容安排能够使得数据分析建模人员从算法原理、数据挖掘知识结构、业务应用方法等方面得到提升,帮助数据分析建模人员开阔眼界、优化知识结构、提升实践技能。
      |
      存储 机器学习/深度学习 人工智能
      可省近90%服务器,反欺诈效率却大增,PayPal打破「AI内存墙」的方案为何如此划算?
      可省近90%服务器,反欺诈效率却大增,PayPal打破「AI内存墙」的方案为何如此划算?
      149 1
      |
      传感器 机器学习/深度学习 人工智能
      [OpenVI-视觉生产系列之视频稳像实战篇]再见吧云台,使用AI“魔法”让视频稳定起来
      随着自媒体与短视频的兴起,人们有了越来越多的拍摄视频的需求。然而由于手持拍摄、硬件限制等原因,利用手机等普通摄影设备拍摄的视频难免存在视频抖动问题。尤其是开启较高倍数的变焦后,手持拍摄很难拍摄到稳定的视频,极易产生抖动的现象。使用云台、斯坦尼康等外设可以缓解这样的抖动,但是很多时候多带一个外设降低了拍摄视频的便利程度,会使得随时随地的拍摄体验大打折扣。
      726 0
      [OpenVI-视觉生产系列之视频稳像实战篇]再见吧云台,使用AI“魔法”让视频稳定起来
      |
      传感器 机器学习/深度学习 固态存储
      3D检测界的“YOLO” | 将PointPillars优化16倍,还能很好的控制精度,非常香!!!
      3D检测界的“YOLO” | 将PointPillars优化16倍,还能很好的控制精度,非常香!!!
      364 0
      |
      机器学习/深度学习 人工智能 运维
      用ML提前预测磁盘故障、智能诊断部署,MSRA在云端将AIOps玩出高度
      用ML提前预测磁盘故障、智能诊断部署,MSRA在云端将AIOps玩出高度
      496 0
      用ML提前预测磁盘故障、智能诊断部署,MSRA在云端将AIOps玩出高度
      |
      机器学习/深度学习 人工智能 算法
      英特尔AI医疗实战曝光:10倍加速辅助诊断、准确度高达90%
      深耕医疗健康领域 20 年,医疗健康数字化、药物治疗精确化一直是英特尔的重要议题。
      620 0
      英特尔AI医疗实战曝光:10倍加速辅助诊断、准确度高达90%