数字对讲系统开发札记(前端linux c 后端 c#)

数字对讲系统开发札记(前端linux c 后端 c#)
前言 数字化是一种趋势,特别是在“提速降费”的大环境下,这种趋势愈发明显。对讲机这种古老的系统也处在时代的变革之中,虽然手机的功能越来越强,让人怀疑对讲机是否还有存在的必要。诚然,对讲机仍然有它的市场。有时候,功能太多太强反而不是优势;对讲机的优势就是功能简单,专业性强。

  笔者最近也涉足了对讲系统的开发,发现这个行业也大有可为。特别是4G、5G的出现,数字对讲系统的优势逐步显现;就像数码相机代替光学相机,模拟对讲机最终会被数字对讲机代替。虽然笔者接触数字对讲时间并不长;但是敏锐的觉察到,在这一细分市场做好、做强,定有丰厚回报。我把开发对讲系统的一些技术要点,想法写下来;希望大家多多交流指导!有志同道合者,可以联系我。

对讲系统现状

  笔者是技术出身,对技术有一定的敏感性。对于市场,只能算作门外汉了;好在,技术人员推理能力比较强。对于对讲系统现状,我确实没有过多的发言权,我就根据了解的一些的情况,做一些合理的推理。模拟对讲系统出现已有几十年了,直到最近几年,数字对讲系统才有突飞猛进的发展,有加速替换模拟对讲系统的趋势。有几个原因:1流量费的降低。大家可以回想一下几年前的流量资费,是多嘛的坑爹。2功能优势:数字对讲传输距离不受限制;可以传输文字、图片、视频等,并且可以保存;做到保密通讯;方便群组、人员管理等等。可以说优点很多。最后再加一条:由于电脑处理系统的强大,单个对讲机的服务费也非常的低,几乎可以做到忽略不计;这样就能做到,硬件便宜,后期使用费用也很低。免除了使用者的后顾之忧。

  模拟对讲系统在国内存量市场很大,有几千万台之多。每年会有相当比例的用户转为数字对讲。加之,数字对讲系统的优点,也会吸引相当一部分新用户加入。对于一些要求比较高的群体,如公安等,有些功能是模拟对讲无法满足的,只能选择数字对讲。

  可以说涉足这个领域的风险极低。关键是技术上要过硬,功能上有灵活性。

数字对讲系统组成

对讲系统主要有:PPT终端、对讲处理中心,调度平台等组成。我逐一介绍一下开发要点。
PPT终端:可分为两部分:硬件和软件。对于硬件,需要找相关的生产厂家代工,国内主要的生产基地在泉州。软件部分也不必完全从底层做起;比如4G通讯,与界面交互这些都大同小异;这些功能可采用第三方平台。你所做的只是业务逻辑部分,暨如何与服务器处理部分。这样开发难度会大大降低。采用的操作系统只能是linux,开发语言一般是C语言。

  我们采用的是广和通平台,在该平台开发,和在pc机开发几乎没有区别。网络功能部分,广和通模块已经实现的非常完备。界面部分,也可以采用第三方平台;界面与程序之间是通过AT指令完成。广和通平台已经支持AT指令,界面部分的工作量也非常的小。业务模块逻辑,一般可在一个月内完成开发。

  上图为广和通的开发平台。右侧为通讯模块(CP),左侧为应用程序模块(AP)。AP与CP之间是通过标准接口通讯,CP端升级,不会影响到AP端。譬如:以后CP升级到5G,AP端无须任何改动。应用程序是运行在AP端,底层就是linux系统,开发语言是C。平台集成了AT指令。这样就大大减轻开发者负担。

对讲处理中心:这里是对讲系统的中转调度中心。时时刻刻处理着对讲系统的登录、语音、群组切换等业务。我们采用的是c#开发的,运行在windows平台。

该系统有如下几个特点

1 性能: 提高单台服务器的处理能力,就意味着降低单个对讲机的服务成本。一台服务器要满足处理10万台以上的对讲机的能力。流量数据每秒达到几百兆带宽的量,这部分处理需要极度优化;socket处理如何优化可以参考我的文章《高性能、高可用性Socket通讯库介绍》。

由于很难模拟10万台设备与服务器交互,所以只进行了传输量测试。IOCP是可扩展性模型,单个连接与多个连接效率区别不大,通过单个连接测试,也可以窥探服务器的性能与容量;

我使用c++写的模拟程序,对该系统测试。收发数据总计超过50M,暨占用500M带宽,cpu占用率23%。测试平台为笔记本,硬件配置比较低。如果采用高性能服务器,达到千兆带宽传输,cpu占用也不会很高。

2 稳定性:这点的重要性不言自明。如果服务器出现故障,会影响数万台对讲机。这里的稳定性包括硬件和软件两个部分。硬件可以使用云平台,费用可能高点,但是硬件稳定性有了保障。软件稳定性需要考虑很多因素,主要和开发人员水平有关,这里不多叙述。

调度平台:这里可以看到所管辖的对讲机;查看对讲机的状态,GPS位置信息等。调度台同时也是一个对讲终端,可以和别的对讲机发起通话。由于系统应用的行业、场景有所不同,调度台功能也会有非常大的差别。这部分的难点是界面开发,我们采用的WPF来开发界面。WPF可以说是微软推出的迄今为止最优秀的框架,WPF的缺点是理念有些超常,不易理解。

扩展功能:数字化的优点是方便计算机处理,易扩展。除了以上基本功能,还能加上许多附加功能。比如:传图片、视频、传文字等。这些都不是对讲系统的主流功能;但是,如有必要,实现这些功能并不很难。对于视频的处理,可以参见我写的相关文章。
原文地址https://www.cnblogs.com/yuanchenhui/p/digital_talkback.html

你可能感兴趣的:(数字对讲系统开发札记(前端linux c 后端 c#))