基于AdHoc的近距离通信的实现

计算机时代 / 2017年12月31日 01:02

家电

基于Ad Hoc网络的海上移动通信系统的实现.pdf

赵丙秀

摘 要: 文章通过介绍现在智能硬件和手机、平板近距离通信的场合,引出各种近距离通信解决方案,分析了红外线、蓝牙、NFC、WiFi等解决方案的优势和弱点,总结出AdHoc是一个廉价、高效、安全、稳定的解决方案。通过程序介绍AdHoc近距离通信中服务器端和客户端的自动配置的方法,强调AdHoc在智能硬件设备的UI展示中的易用性。AdHoc网络将会受到更多的关注,得到更快速的发展和应用。

关键词: AdHoc; 智能硬件; 近距离通信; WLan

中图分类号:TP393.4 文献标志码:A 文章编号:1006-8228(2017)12-32-03

Implementation of short distance communication based on AdHoc

Zhao Bingxiu1,2

(1. School of computing, Wuhan vocational college of Software & Engineerig, Wuhan, Hubei 430205, China;

2. School of computing, Wuhan Television and Radio Univisity)

Abstract: Through the introduction of the scenarios of short distance communication existed in between the intelligent hardware and the mobile phone, tablet and so on, various kind of short distance communication solutions are introduced, and the advantages and disadvantages of the solutions such as the infrared, Bluetooth, NFC, WiFi etc., are analyzed to reach a conclusion that AdHoc is a cheap, efficient, safe and stable solution. The method of automatic configuration of server-side and client-side of AdHoc short distance communication is described with the commands and program, to emphasize that AdHoc is easy using for intelligent hardware device UI display. AdHoc network will receive more attention, and get more rapid development and application.

Key words: AdHoc; intelligent hardware; short distance communication; WLan

0 引言

近年智能硬件、智能穿戴、智能設备的发展一日千里。例如:共享单车的智能锁、智能猫眼、智能手环、儿童手表、共享洗衣机等。这些智能硬件必须要有UI才能展现给用户,我们往往是在手机或平板电脑上安装相应的APP。

智能硬件与手机/平板的通信主要有远距离通信和近距离通信两种方式。远距离通信有:智能家居中的智能猫眼、智能开关、智能摄像头,日常生活中的共享洗衣机等。其需要的数据不要求实时,只要求能够在一段时间到达。近距离通信有:在公共设置有公交卡、智能锁,人体健康领域有脂肪秤、智能手环,生活领域有儿童手表、各种电器等。这些领域对数据传输的效率有比较高的要求。近距离通信讲究的就是效率和速度,对数据量一般要求较少。

1 近距离通信常见的各种解决方案

近距离通信的痛点就是如何让设备快速与UI界面沟通,让用户快速的解决交互问题,以免过长的延时造成用户体验下降,从而放弃使用硬件。比如一个骑共享单车上班族,在那里为了开一个摩拜单车,花了十分钟,通过上传指令到远程,远程认证后又下发指令到锁,还要下发指令到手机,还要识别车的位置,这当中通信只要出现问题,就能造成用户误事,最后用户会放弃单车。为了解决类似地矛盾,厂商推出了红外、蓝牙和NFC等近距离通信方式。

1.1 红外线解决方案

红外线通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。

红外线的优势在于容量大,保密性强,抗电磁干扰性能好,设备结构简单。劣势在于有角度,传输速度仅能达到4Mbps,不能穿墙,现阶段主要用于汽车开锁和遥控等领域中。

红外线的方案在2000年左右很受欢迎,但是不能穿墙,速度慢等限制导致现在的智能设备已经基本不考虑这种方案了。

1.2 蓝牙解决方案

蓝牙是在2.4GHz频段,使用跳频技术将传输的数据分割成数据包,并遵从主从设备框架来传输数据的一种技术。

其优点是耗电省,没有方向性,能穿墙,支持七个设备,最多支持100m传输。缺点是匹配速度慢,传输速度也仅仅只有24Mbps。

蓝牙传输近几年得到了极大的发展,特别是智能家居和智能穿戴领域。比如现在小黄车的蓝牙智能开锁技术,儿童手表的智能防丢技术,手环脂肪秤和手机通信技术,都抓住了痛点,达到了智能设备和平板/手机近距离的通信需求。

但是蓝牙也有弱点,就是设备之间匹配速度慢,第一次使用认证时间过长,还有就是传输速度不高,实际双向传输的时候,速度达不到400KB/s,无非满足一些室外展示和VR视频传输的要求。

1.3 NFC解决方案

NFC近场通信技术是由非接触式射频识别(RFID)及互联互通技术整合演变而来,工作频率为13.56MHz,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换的一种技术。

NFC的优势就是保密性强,传输距离短,适合登机验证、大厦的门禁钥匙、交通一卡通、信用卡、支付卡等应用。但是缺点就是传输速度太慢,只有424 Kbit/s,距离也很近,一般仅仅10cm。

NFC主要用于安全保密性快速验证。现在公交卡的主流技术,基本能够刷卡1s内得到返回结果,效率很高,比起支付宝那种扫码识别公交的技术快了几个档次,但是天性决定不适合做智能设备的近距离传输。

1.4 wifi方案

wifi是现在智能家居远距离传输的通用方案,但是他的弱点就是易受干扰,很容易掉线,设备与设备之间不能直接通信,必须通过路由中转,因此路由的防止地点就成为了项目成败的关键,但是往往客户的路由防止地点又不是你能决定的,所以近距离通信几乎没有使用wifi解决方案的。

2 AdHoc解决方案

综上所述,近距离通信的主流解决方案是蓝牙技术,但是蓝牙最大的问题就是传输速度,当我们的设备要向平板每秒传输超过1MB/s的文件流的时候,蓝牙技术就无能为力。经过研究,我们发现AdHoc技术能够很好的解决不受电源的供应的影响下智能设备和平板手机大数据量通信的需求。

AdHoc是一种省去了无线中介设备AP而搭建起来的对等网络结构,只要安装了无线网卡,计算机彼此之间即可实现无线互联;其原理是网络中的一台计算机主机建立点到点连接,相当于虚拟AP,而其他计算机就可以直接通过这个点对点连接进行网络互联与共享。

AdHoc的优点是无中心,可以点对点,这样就无需考虑路由的位置和方向,传输速率快,10米以内5MB/s完全没有问题,适合有影音传输要求的各种大数据量应用。

缺点就是抗干扰性差,不过可以通过技术解决干扰问题,如自动侦测周围信号,信号db,对于信号强的通道弃用,改用合适的信道等等。耗电巨大,耗电量是蓝牙架构的几十倍,仅仅适合一天一充,但是商品展示一般都会外接电源,这个要求也很容易达到。

AdHoc的方案非常適合大数据量近距离通信,但是设置和匹配并不是一件容易的事情,需要用户来编程实现。

3 AdHoc的配置与应用

3.1 服务端的自动配置

AdHoc的本质还是基于WLan的网络传输,故可以通过微软的WLAN API来配置应用AdHoc。首先是设置服务端,服务端一般是由一个带主机的设备组成,这个设备一般都会携带一个无线网卡,通过设置这个无线网卡,可以轻易把无线网卡变成AdHoc的服务端。

Windows7之后的系统,我们可以通过cmd命令行里面,敲入netsh wlan show drivers,如果网卡支持承载网络,就是可以作为adhoc的服务端了。输入两行命令:

netsh wlan set hostednetwork mode=allow

ssid=wifi key=12345678

netsh wlan start hostednetwork

这样就配置好一个ssid名为wifi,密码为12345678的AdHoc网络了。配置完成后,我们可以通过命令:netsh wlan show hostednetwork来观察配置结果。

实际编程中,我们可以通过调用WinExec等Windows API,来批处理这些命令,以完成服务端配置的自动化。

3.2 客户端的自动配置

客户端的自动配置也非常简单,就是调用WLAN API,通过连接函数来连接即可,这里惟一的难点是wifi网络的配置文件的设定,必须要符合微软格式的XML文件才行。下面是用pascal代码编写的设置wifi配置文件的函数。其中函数参数:AName为代码名称,APwd为连接密码。

function SetWifiProfile(AName, APwd: string): Boolean;

var

dwVer, dwRet, dwReason: DWORD;

phClient: THandle;

profileXml: PWideChar;

pList: PWLAN_INTERFACE_INFO_LIST;

pInfo: WLAN_INTERFACE_INFO;

CsProfile: string;

begin

CsProfile:='<?xml version="1.0"?>'

+ ''

+ ''+ AName +''

+ ''

+ ''

+ ''+ AName +''

+ '

'

+ '

'

+ 'ESS'

+ ''

+ ''

+ ''

+ 'WPAPSK'

+ 'TKIP'

+ 'false'

+ '

'

+ ''

+ 'networkKey'

+ 'false'

+ ''+ APwd +''

+ '

'

+ '

'

+ '

'

+ '';

Result:=False;

dwRet:=WlanOpenHandle(1, nil, @dwVer, @phClient);

if dwRet <> ERROR_SUCCESS then

Exit;

pList:=nil;

dwRet:=WlanEnumInterfaces(phClient, nil, @pList);

if dwRet <> ERROR_SUCCESS then

begin

Exit;

end;

if pList.dwNumberOfItems>0 then

begin

pInfo:=pList.InterfaceInfo[0];

profileXml:=PWideChar(CsProfile);

dwRet:=WlanSetProfile(phClient, @pInfo.InterfaceGuid,

0, profileXml, nil, True, nil, dwReason);

Result:=dwRet=ERROR_SUCCESS;

end;

WlanFreeMemory(pList);

WlanCloseHandle(phClient, nil);

end;

4 結束语

经过测试,AdHoc能很好的解决智能设备与平板数据之间大数量的传输,而且能够自动连接自动查询自动修改密码,具有一定的安全性,不失为一个在不考虑电量时的应用解决方案。AdHoc技术的研究最初是为了满足军事应用的需要,近年来AdHoc网络的研究在民用和商业领域也受到了重视。近几年的网络国际会议基本都有AdHoc网络专题,随着移动技术不断发展和人们日益增长的自由通信需求,AdHoc网络会受到更多的关注,得到更快速的发展和普及,AdHoc的应用将会越来越广泛。

参考文献(References):

[1] 李强,李健.AdHoc网络监控与管理软件开发[J].电脑知识与

技术,2017.4.

[2] 张道宁.基于Android智能终端的AdHoc功能库的设计与实

现[D].北京邮电大学硕士学位论文,2014.

[3] 陈明.基于Android的Ad-hoc网络多跳通信的研究与实现[D].

中央民族大学硕士学位论文,2015.

[4] 殷勇.Android平台上Ad-Hoc通信模式的研究与实现[D].西

安电子科技大学硕士学位论文,2013.

[5] 朱丽平,邓慧茹,焦雄伟,赵小兵.基于Ad-hoc的Android手

机多媒体通信开发与实现[J].电视技术,2017.2.

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。