- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
wifi在机车系统的应用
RS9110-N-11-02模组在机车系统中的应用
(杨昂 手机
1引言
Wi-Fi全称是wirelessfidelity。它是一种以无线方式互相连接的技术。Wi-Fi是一个无线
网路通信技术的品牌,目的是改善基于IEEE802.11标准的无线网路产品之间的互通性。无
线网络在无线局域网的范畴是指“无线相容性认证”,实质上是一种商业认证,同时也是一
种无线联网技术,以前通过网线连接电脑,而无线保真则是通过无线电波来连网;常见的就
是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用无线保真连接
方式进行联网,如果无线路由器连接了一条ADS 线路或者别的上网线路,则又被称为热
点。本文主要是讨论Redpine Signals公司的RS9110-N-11-02模组,以及它在铁路机车系
统中的应用。在下面的讨论中我们提到的wifi模块就指的是RS9110-N-11-02模组。
2wifi简介
WiFi 的全称是WirelessFidelity,又叫802.11b标准,是IEEE定义的一个无线网络通信
的工业标准。该技术使用的使2.4GHz 附近的频段,该频段目前尚属没用许可的无线频段(在
2.4GHz及5GHz频段上免许可)。最高带宽为11Mbps,在信号较弱或有干扰的情况下,带
宽可调整为5.5Mbps、2Mbps和 1Mbps;其主要特性为:速度快,可靠性高,在开放性区域,
通讯距离可达305米,在封闭性区域,通讯距离为76米到122米,方便与现有的有线以太
网络整合,组网的成本更低。
3广播
在这个项目开始之前,我们先了解一下广播,首先介绍广播地址,BroadcastAddress(广
播地址)是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议的网
络中,主机标识段hostID 为全1 的IP 地址为广播地址,广播的分组传送给hostID段所涉
及的所有计算机。例如,对于 ( )网段,其广播地址为 55 (255
即为2 进制的),当发出一个目的地址为55 的分组 (封包)时,它将被
分发给该网段上的所有计算机。我们再介绍广播,广播是指在一个局域网中向所有的网上节
点发送信息。这是UDP连接的一种广播有一个广播组,即只有一个广播组内的节点才能收
到发往这个广播组的信息。什么决定了一个广播组呢,就是端口号,局域网内一个节点,如
果设置了广播属性并监听了端口号A后,那么他就加入了A组广播,这个局域网内所有发
往广播端口A 的信息他都收的到。在广播的实现中,如果一个节点想接受A组广播信息,
那么就要先将他绑定给地址和端口A,然后设置这个socket的属性为广播属性。如果一个节
点不想接受广播信息,而只想发送广播信息,那么不用绑定端口,只需要先为socket设置广
播属性后,向广播地址INADDR_BROADCAST 的A端口发送udp信息即可。详细的程序
实现如下:
1.创建一个 UDP的socket
s=socket(AF_INET,SOCK_DGRAM,0);
2.如果这个socket希望收到信息,则需要绑定地址和这组广播的端口号,如果只是希望
送广播信息,则不需要这步
SOCKADDR_INudpAdress,sender;
intsenferA Size=sizeof(sender);
udpAdress.sin_family=AF_INET;
udpAdress.sin_port=htons(11114);
udpAdress.sin_a r.s_a r=inet_a r(2);
bind(s,(SOCKADDR*)udpAdress,sizeof(udpAdress));
//这样这个节点即可收到局域网内所有发往端口 11114的广播信息
4.设置socket的属性为广播
booloptval=true;
setsockopt(s,SOL_SOCKET,SO_BROADCAST,(char*)optval,sizeof(bool));
5.下面就可以使用recvfrom或sendto来收发广播信息了
这里是接受,这是一个阻塞操作
ret=recvfrom(s,data,1000,0,(SOCKADDR*)sender,senferA Size);
这里是像该广播组发送信息,注意发送的地址为广播地址INADDR_BROADCAST,端口号
为改组广播的端口号 11114
SOCKADDR_INdstA ;
文档评论(0)