MCP/MPU APP针对不同安卓系统的4G执法记录仪的适配工作的说明

发布时间: 2021-11-22 22:56:25

新4G/5G执法记录仪硬件上的软件适配中潜在的无底洞工作,(我们初期收取的基础适配费用,只支持我们APP现有标准功能的简单实现,不承诺解决新硬件引发的各种古怪问题)

AIoT万物智联,智能安全帽生产厂家,执法记录仪生产厂家,智能安全帽智能头盔头盔记录仪执法记录仪智能视频分析/边缘计算AI盒子车载DVR/NVR、布控球、室外高精度定位RTK/室内高精度定位UWB/蓝牙信标定位、智能眼镜智能手电无人机4G/5G补传系统,多源视频融合~融合通信~安全生产管控平台~大型可视指挥调度平台VMS/smarteye 。

关于我们MCP在不同硬件上的适配,尤其是一些4G/5G执法记录仪客户的说辞,他们觉得随便更换 一款硬件,我们MCP都应该完美的应用,不应该有任何问题,这个是严重错误的认知, 我们需要横向对比下,这个世界上没有任何一款APP可以随便就安装到任意一个安卓终 端上而没有任何问题,包括微信都不敢说可以做到这样,如果把微信安装到原来的T6 执法仪上,估计也会各种闪退,崩溃。

所以,MCP移植到一款新的硬件,必然需要一个适配稳定优化的过程,这个最少分为2-3 个阶段

第一个阶段,就是MCP基础功能适配,主要是按键、红外等,其它一律都是我们标准功 能,不能有任何定制改动,针对这部分我们有一个标准的接口文档;

啥是标准功能,举例来说,录像键按下就是启动/停止录像,而有的客户要求加入语音提示,或者要求录像的时候,机器要震动,或者LED灯要变为红色,且闪烁,这些都是非标,需要定制的范畴。

又如,我们针对SoS按键的定义是,短按此键,就发送报警信息到平台,在客户端-监视器软件里面的对应设备上红灯闪烁,或者进一步可自动打开此设备的实时视频,我们适配就按这个来实现;而如果客户说,我们不要这样,我们要求按SoS键后,要打开红蓝爆闪灯,闪烁3秒后自动熄灭,同时设备侧语音播报警示音,这样就不是我们标准功能,都需要额外付费定制开发。

第二阶段,就是一些深度的定制,解决一些新硬件自身硬件特点引发的APP适配问题, 例如,这个机器的硬件差异(例如TF卡加载比其它硬件慢)导致我们APP崩溃出错,这 个就是纯粹非标的,这些就都应该收费了;

再有,例如横屏/竖屏显示的问题,有的客户觉得竖屏显示好,有的却认为横屏好看, 这个纯粹个人主观好恶,必须收费;或者是硬件的屏幕特点,必须要切换横屏/竖屏显 示,这些都是硬件差异引发我们标准APP的改动,都是要收费的。

第三阶段(通常可理解为跟第二阶段混合类似)

基于新硬件的硬件特性,APP做一些性能等方面的优化一些客户自己的主观喜好,他们有必要为自己的喜好付费,

例如,由于MT500点亮屏幕居然需要漫长的600ms,导致我们MCP在取流编码的时候丢帧 ,这个其实根本不影响正常使用,客户如果坚持要做,那这个就纯属性能优化,这个 是必须要额外收取研发费用的。

不同执法硬件的差异性,在软件上体现出来的一些常见现象。

例如发现在某一款新硬件上录像时总是有突出的噪声,害得我们软件人员配合疯狂的测试,又是降噪,又是去燥,又是一直算法,折腾了很长时间,最后发现是机器硬件的 LED灯闪烁的时候,有电流声,导致有录像有声有噪音,最后要靠硬件解决,即使问题解决了,但我的软件投入大量的时间去诊断这些问题,我们没有义务去做这个诊断,因为这太耗人力了,除非客户要为此付费。

又比如某一款特殊的机器,在息屏亮屏的间隔时间比别的机器应该要长,例如正常的一款执法仪机器,按一下键屏幕亮起来那个时间间隔是300毫秒,而这款机器点亮屏幕的响应时间是600ms甚至到一秒钟,那在这个时间段内视频流会丢几帧,响应时间越久丢的帧就越多,那么对用户来说,特别是一些高端的用户,他会通过仪器分析发现录像中间丢帧了,丢了一些帧,要我们解决那这个问题,折腾的我们研发死去活来也是折腾了几个月,最后初步诊断出问题,是在再通过不同的硬件逐渐对比,发现这款硬件的亮屏响应时间太长,反应时间慢。虽然最后是要靠软件来诊断这些问题,但是我们没有义务去免费的做一款硬件的,一款新硬件的诊断,除非客户客户要预先为此付费。

又例如,某一款特殊的机器,在测试中发现长时间录像会导致死机,出现时间不等,从3分钟到20分钟都有可能出现,但同样的APP在其它硬件上没问题,而客户又说其它APP在这款硬件上也不死机,总之,这种属于典型的疑难杂症,非常难诊断。经过我司和固件方通力配合,历时两周,终于定位到问题,是高通补丁的问题,更新一版固件后解决问题。但我们作为APP方,投入大量的核心研发配合诊断问题,而完全没有任何酬劳,而且还严重影响了我们其他付费客户的项目进展,这对我们是非常不公平的。

因此,遇到类似问题,即在其它硬件平台我们APP工作正常,而特定的新硬件平台上运行有问题的,一律要硬件方/固件方先自己去证明自己硬件OK,如果坚持要我们配合诊断,就必须付费给我们,因为我们是实打实的要投入消耗研发,而且是最核心的研发资源才能去定位解决此类疑难杂症。

适配一款新机器,还会有很多意想不到的细节的问题,再举个例子,

执法仪(MCP)插USB线接电脑后,安卓固件需要发挂载的系统广播给APP,MCP-APP收到广播后自己退出,这是我们APP适配各个硬件机器的标准流程;但某一款机器它就没发这个系统广播,要我们APP自己去修改适应这种场景。针对这个问题,APP跟系统固件两边都可以去修改代码来彼此适应,但应该由谁来修改呢?那这个我们作为收取微薄LICENSE的软件厂家,我们肯定不会去做的,这个肯定是应该硬件-固件厂家去修改,这样最合理,而且从获利的角度来看,也肯定是要获利较大的一方去做修改。