基于ZigBee和S3C2440的手持式校准仪研制方案
meWork类库,进行图形化窗口编程,在开发环境中选择智能设备WindowsCE 5.0设备应用程序模板进行开发。
3.3 界面设计
在系统界面设计中,主要分为主界面,各气象要素校准界面。主界面主要用于气象要素的选择,使用了Menuitem控件进行菜单的创建,另外还提供了编辑和工具等功能。在校准界面中,主要使用了SerialPort,ComboBox,TextBox和Button等几个控件。Serial-Port控件是用来对串口的设置,进行收发数据;ComboBox控件用来对节点和校准点的选择;TextBox控件用来存放数据;Button控件用来进行一些命令的操作[8].
3.4 校准功能设计
进入各个气象要素校准页面,首先进行节点和校准点的选择,接着设置好串口号和波特率,打开串口进行数据的自动接收。在串口应用程序中,发送区文本框为TxSend,接收区文本框名为Txrec,项目中添加一个SerialPort控件,名为Port,发送按钮名为Send,下面是接收和发送的部分代码[9].
Port控件中DataReceived事件的处理函数为:
Void port_DataReceived (object send,SerialDataReceivedEventArgs){int bytesToRead=port.BytesToRead;byte[]arr=new byte[bytesToRead];port.Read(arr,0,bytesToRead);string str=Encoding,Default,GetString(arr,0,bytes-ToRead);txrec.Text+=str;}
发送按钮单击事件对应的处理函数为:
Void Send_Click(object send,EventArgs e){Byte[]arr=Encoding.Default.GetBytes(txSend.txt);Port.Write(arr,0,arr.Length);}
由协调器接收传感器网络中气象传感器节点发来的数据,并通过串口发送到ARM 处理器,其数据采用九字节的十六进制数的数据通信格式,如图5所示。
第一字节是数据标识符;第二个字节表示气象要素类型,01是气压,02是气温,03是湿度等;接下来连续四个字节是传感器的数据,并紧跟两位校验位;最后一个字节是结束符。
图5 协调器串口发送格式
当协调器发送一帧数据后,系统解析接收数据并转化为浮点数显示在接收传感器数据区中。如标识符为“D”,则表示传感器发来的数据,如为“S”,表示标准器发来的数据。将传感器的数据与标准器的数据进行比对分析,如果误差大于规定阈值,则将误差数据通过校准命令发送给传感器。温度校准的运行界面如图6所示,采用第二个串口的目的是确保在标准器没有连接无线传感器网络接口时,直接利用串口实现数据通信。利用5次连续温度检测的平均值进行校准,以确保校准精度[10].
图6 温度校准时的软件实时运行界面
3.5 软件的部署及移植
程序编写完成之后在VS 2005开发环境中进行调试、目标设备、传输协议等相关的设置,再将VS 2005与硬件设备平台进行连接握手,利用微软提供的工具ActiveSync将程序部署到手持式校准仪中,并可在目标设备上实时运行。
为了将以上编译的应用程序固化到设备中,以便每次开机时都能自动运行,采用以下步骤进行处理:
(1)把应用程序Regulation.exe复制到PlatformBuilder 5.0安装目录下的FILES目录中。
(2)创建Regulation.lnk 快捷方式文件,放入FILES目录中。
(3)打开Platform.bib文件,添加如下内容:
Regulation.exe$(_FLATRELEASEDIR)Regulation.exeNK U;Regulation.lnk $(_FLATRELEASEDIR)Regulation.lnkNK U这样,执行SYSGEN的时候会把这两个文件加入到内核中,最后它们会存在于系统的Windows目录中。
(4)打开Platform.dat,加入以下内容:
Directory(“windows桌面”):-File(“校准仪。lnk”,“windowsRegulation.lnk”)这将会在桌面上出现名称为“校准仪”的快捷方式。
(5)最后执行菜单Builder→Sysgen生成NK.bin和NK.nb0,把它们烧写或者下载到ARM 系统中启动后,就会在桌面上看到“校准仪”快捷方式了。
4 结 语
通过系统的电路设计及软件编程,完成了手持式校准仪的设计,该手持式校准仪能够在无线传感网络自动气象站现场方便地进行温度、湿度、气压等气象要素的实时校准,具有使用方便、成本低廉等特点。通过改进完善,系统可应用于实际的物联网自动气象站的校准中。
- 基于LabVIEW8.6和S3C2440的手持数字波形表的界面设计(08-30)
- 基于嵌入式ARMS3C2440的裂纹实时测量系统的设计(01-11)
- 基于LabVIEW8.6和S3C2440的手持数字波形表的界面设(09-14)
- 基于嵌入式的裂纹实时测量系统的设计(01-30)
- 基于LabVIEW的手持数字波形表的界面设计(09-14)
- 电子电度表设计方案(03-25)