无线网关在此系统中起到的作用是在以太网和802.11b无线局域网之间进行数据帧格式的转换,并要求其能转发不同网段之间的数据,这就要求在无线网关的软件模块中移植Bridge模块,在嵌入式Linux系统中编译,移植完Bridge模块后对其进行设置:
brctladdbrbr0
brctladdifbr0eth1
brctladdifbr0wlan0
把无线和有线网络接到一起,再使用工具软件ifconfig对其中有线网卡和无线网卡进行相应的网络配置,无线网关就可以正常运行了。
2.2IEEE802.1无线手持设备软件设计
无线手持设备在开发过程中,要求具有小巧、灵活的特点,在开发过程中采用了体积相对较小而功能强大的S3C2410作为开发平台,以这个平台为基础开发802.11b温度传感器和802.11b无线手持设备等现场设备。
首先,在S3C2410平台上移植同样小巧、灵活的USB无线网卡。这款无线网卡的芯片是Prism系列芯片。无线网卡是移动终端的主要设备,其软件部分分为接口驱动模块(Prism_usb.o)、无线网卡驱动(P802.o)和无线网卡配置管理软件3部分,第1步:下载无线网卡的源代码Linux-wlan-ng,这是针对PC机的源代码,要使它能在ARM上运行就进行交叉编译,第2步:交叉编译USB无线网卡驱动时必须先相应地配置网络类型、内核路径和交叉编译工具,这是一款针对2.4.x的内核源代码,在编译的过程中会出现错误,原因是生成的mkmetadef和mkmetastruct是ARMarch的,在i386上不能执行,必须修改自动生成的Makefile,或者做一套适用于i386的Makefile。在交叉编译通过后生成USB接口驱动Prism_usb.o和无线网卡驱动P802.o这两个模块。第3步,在ARMLinux系统的内核中加载这两个模块。加载时有两种方式,动态加载和静态编译到内核里,笔者采用了动态加载的方式,并采用NFSMount的方式来调试要加载的模块,第4步:把无线网卡的配置文件rc.wlan和工具软件wlanctl-ng、wland、nwepgen、wlancfg等拷贝到相应的目录下,并用他们对802.11b无线网络进行系统认证、密钥认证、WEP加密和SSID设定等。
在无线手持端加载MINIGUI界面,以显示控制模块和EPA通信协议模块。在MINIGUI主程序中把接收到EPA报文解包后,通过函数SendReadMessage(hwnd,IDC_ReadINFOBOX,LB_ADDSTRING,0,(LPARAM)str)发送到设定的位置进行显示,完成EPA协议中的信息读服务,通过函数SendWriteMessage(hwnd,IDC_writeINFOBOX,LB_ADDSTRING,0,(LPARAM)str)对温度变送器的最高量程进行设定,完成EPA协议中的信息写服务。
在802.11b无线测控系统,在温度变送器端要加载温度变换器串口驱动模块,温度变送器串口被驱动后,编写一个对温度采集的应用程序,把EPA通信协议的模块和温度数据采集模块嵌套在同一个主程序中进行编译,模块启动后,温度变送器采集从串口读到的数据,进行查询,CRC校验等服务后运用EPA协议栈对将从设备得到的数据进行封装,然后通过IEEE802.11bUSB无线网卡进行数据的发送。软件模块如图3和图4所示。
<<上一页
1
2
3
下一页>>