rfid源代码 gunmanager.docx

上传人:b****5 文档编号:3909800 上传时间:2022-11-26 格式:DOCX 页数:21 大小:67.44KB
下载 相关 举报
rfid源代码 gunmanager.docx_第1页
第1页 / 共21页
rfid源代码 gunmanager.docx_第2页
第2页 / 共21页
rfid源代码 gunmanager.docx_第3页
第3页 / 共21页
rfid源代码 gunmanager.docx_第4页
第4页 / 共21页
rfid源代码 gunmanager.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

rfid源代码 gunmanager.docx

《rfid源代码 gunmanager.docx》由会员分享,可在线阅读,更多相关《rfid源代码 gunmanager.docx(21页珍藏版)》请在冰豆网上搜索。

rfid源代码 gunmanager.docx

rfid源代码gunmanager

 

物联网RFID原理与技术

课程设计报告

姓名:

滕玲

班级:

物联1301

学号:

131408119

日期:

2016.1.8

目录

第一部分:

一、实验目的

二、实验内容

三、基本原理

四、实验步骤

五、实验步骤教程

六、实验总结

七、附录

 

第二部分:

一、实验概述

二、实验目的

三、实验场景及所需仪器

四、实验系统简介

4.1系统组成

4.2各组成功能

五、系统功能

六、枪支管理系统的实现

6.1连接读写器

6.2连接读写器设备

6.3枪支登记

6.4枪支监控

6.5枪支盘点

七、心得体会

八、附录

 

实验代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

usingSystem.Threading;

usingSystem.Collections;

usingMicrosoft.DirectX;

usingMicrosoft.DirectX.DirectSound;

usingTagReaderLibrary;

namespaceGunManager

{

publicpartialclassForm1:

Form

{

BooleanIsLogined=false;

BooleanIsConnected=false;

BooleanIsChecked=false;

BooleanIsMonitor=false;

BooleanNeedAlam=false;

//BooleanNeedLoad=true;

ListAllDocuments,Names;

Threadthrd_Monitor=null;

EventWaitHandleewh;

delegatevoidShowInfoDelegate(Stringstr);

ShowInfoDelegateShowInfoDel;

Microsoft.DirectX.DirectSound.Devicemydevice;

Microsoft.DirectX.DirectSound.SecondaryBufferScdBuffer;

Microsoft.DirectX.DirectSound.BufferDescriptiondesc;

ISO15693Readerreader=newISO15693Reader();

publicForm1()

{

InitializeComponent();

}

privatevoidShowInfo(Stringstr)

{

lsb_Monitor.Items.Add(str);

lsb_Monitor.SelectedIndex=lsb_Monitor.Items.Count-1;

lsb_Monitor.ClearSelected();

}

//publicstaticIntPtrVarPtr(ObjectMyObject)//获得对象的指针

//{

//GCHandleMyGCHandle=GCHandle.Alloc(MyObject,GCHandleType.Pinned);

//IntPtrptr=MyGCHandle.AddrOfPinnedObject();

//MyGCHandle.Free();

//returnptr;

//}

privatevoidbtn_Login_Click(objectsender,EventArgse)

{

if(IsLogined)

{

lbl_Login.Text="您已经登录!

";

return;

}

if(txt_UserName.Text.Trim()=="")

{

lbl_Login.Text="请填写用户名!

";

return;

}

if(txt_PassWord.Text.Trim()=="")

{

lbl_Login.Text="请填写密码!

";

return;

}

OleDbConnectionconn=newOleDbConnection();

conn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\database.mdb;PersistSecurityInfo=True";

conn.Open();

Stringsql=String.Format("SELECTPassWordFROMtab_UserWHEREUserName='{0}'",txt_UserName.Text.Trim());

OleDbCommandcmd=newOleDbCommand(sql,conn);

OleDbDataReaderdr=cmd.ExecuteReader();

if(dr.Read())

{

if(((String)dr["PassWord"]).Trim()==txt_PassWord.Text.Trim())

{

IsLogined=true;

lbl_Login.Text=String.Format("登录成功,尊敬的用户:

{0},欢迎您!

",txt_UserName.Text.Trim());

}

else

{

lbl_Login.Text="您的密码错误,请重新填写!

";

txt_PassWord.Text="";

txt_PassWord.Focus();

}

}

else

{

lbl_Login.Text="您的用户名不存在,请重新填写!

";

txt_UserName.Text="";

txt_UserName.Focus();

}

conn.Close();

conn=null;

cmd=null;

dr=null;

}

privatevoidbtn_Logout_Click(objectsender,EventArgse)

{

if(!

IsLogined)

{

lbl_Login.Text="尚未登录,不能注销!

";

return;

}

IsLogined=false;

lbl_Login.Text="已注销,继续使用需重新登录!

";

}

privatevoidbtn_Reset_Click(objectsender,EventArgse)

{

txt_UserName.Text="";

txt_PassWord.Text="";

}

privatevoidbtn_Open_Click(objectsender,EventArgse)

{

if(IsConnected)

{

lbl_Connect.Text="串口已经打开,不能重复打开串口!

";

return;

}

if(cmb_SerialPort.SelectedIndex<0)

{

lbl_Connect.Text="请选择与设备连接的串口地址!

";

return;

}

if(cmb_Baudrate.SelectedIndex<0)

{

lbl_Connect.Text="请选择与设备连接使用的波特率!

";

return;

}

Int32value=reader.OpenSerialPort(cmb_SerialPort.SelectedItem.ToString(),Int32.Parse(cmb_Baudrate.SelectedItem.ToString()));

if(value==0)

{

lbl_Connect.Text=String.Format("串口{0}打开成功!

",cmb_SerialPort.Text.Trim());

cmb_SerialPort.Enabled=false;

IsConnected=true;

}

else

{

lbl_Connect.Text=String.Format("串口{0}打开失败!

",cmb_SerialPort.Text.Trim());

IsConnected=false;

}

}

privatevoidbtn_Close_Click(objectsender,EventArgse)

{

if(!

IsConnected)

{

lbl_Connect.Text="串口尚未打开,无需关闭";

return;

}

else

{

Int32value=reader.CloseSerialPort();//CloseCom();

if(value==0)

{

IsConnected=false;

lbl_Connect.Text=String.Format("串口{0}已成功关闭!

",cmb_SerialPort.Text.Trim());

cmb_SerialPort.Enabled=true;

}

else

{

lbl_Connect.Text=String.Format("串口{0}关闭失败!

",cmb_SerialPort.Text.Trim());

}

}

}

privatevoidbtn_Read_Click(objectsender,EventArgse)

{

if(!

IsLogined)

{

lbl_Add.Text="请先登录系统!

";

return;

}

if(!

IsConnected)

{

lbl_Add.Text="请先打开串口,连接设备!

";

return;

}

inttagcount=0;

String[]tagnumber=newString[0];

Int32value=reader.Inventory(ISO15693Reader.ModulateMethod.ASK,ISO15693Reader.InventoryModel.Single,reftagcount,reftagnumber);//.GetOne(refdata);

//Inventory(data,0x27,reftagCount);

if((value!

=0)&&(tagnumber.Length>0))

{

lbl_Add.Text="读取失败,没有得到任何有效数据。

";

txt_Snr.Text="";

return;

}

txt_Snr.Text=tagnumber[0];//String.Format("{0:

X2}{1:

X2}{2:

X2}{3:

X2}{4:

X2}{5:

X2}{6:

X2}{7:

X2}",data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7]);

lbl_Add.Text="读取成功!

";

}

privatevoidbtn_Add_Click(objectsender,EventArgse)

{

if(!

IsLogined)

{

lbl_Add.Text="请先登录系统!

";

return;

}

if(!

IsConnected)

{

lbl_Add.Text="请先打开串口,连接设备!

";

return;

}

if(txt_Snr.Text.Trim()=="")

{

lbl_Add.Text="请先读取与该枪支对应的标签!

";

btn_Add.Focus();

return;

}

if(txt_Name.Text.Trim()=="")

{

lbl_Add.Text="请填写枪支编号!

";

txt_Name.Focus();

return;

}

OleDbConnectionconn=newOleDbConnection();

conn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\database.mdb;PersistSecurityInfo=True";

conn.Open();

Stringsql=String.Format("SELECT*FROMtab_DocWHERETagId='{0}'",txt_Snr.Text.Trim());

OleDbCommandcmd=newOleDbCommand(sql,conn);

OleDbDataReaderdr=cmd.ExecuteReader();

if(dr.Read())

{

lbl_Add.Text=String.Format("枪支[{0}]已经使用了该标签,请更换标签后重试!

",dr["DocName"]);

conn.Close();

conn=null;

cmd=null;

dr=null;

return;

}

sql=String.Format("INSERTINTOtab_Doc(TagId,DocName)VALUES('{0}','{1}')",txt_Snr.Text.Trim(),txt_Name.Text.Trim());

cmd=newOleDbCommand(sql,conn);

if(cmd.ExecuteNonQuery()==1)

{

lbl_Add.Text="添加成功!

";

txt_Snr.Text="";

txt_Name.Text="";

}

else

{

lbl_Add.Text="添加失败";

}

conn.Close();

conn=null;

cmd=null;

dr=null;

this.tab_DocTableAdapter.Fill(this.databaseDataSet.tab_Doc);

}

privatevoidbtn_Cancel_Click(objectsender,EventArgse)

{

txt_Snr.Text="";

txt_Name.Text="";

txt_Other.Text="";

btn_Read.Focus();

}

privatevoidbtn_Delete_Click(objectsender,EventArgse)

{

}

privatevoidbtn_Save_Click(objectsender,EventArgse)

{

tabDocBindingSource.EndEdit();

this.tab_DocTableAdapter.Update(this.databaseDataSet.tab_Doc);

}

privatevoidbtn_CancelModify_Click(objectsender,EventArgse)

{

tabDocBindingSource.CancelEdit();

this.tab_DocTableAdapter.Fill(this.databaseDataSet.tab_Doc);

}

privatevoidbtn_Refresh_Click(objectsender,EventArgse)

{

this.tab_DocTableAdapter.Fill(this.databaseDataSet.tab_Doc);

}

privatevoidbtn_Check_Click(objectsender,EventArgse)

{

IsChecked=false;

lock(this)

{

if(!

IsLogined)

{

lsb_Check.Items.Add("请先登录系统!

");

return;

}

if(!

IsConnected)

{

lsb_Check.Items.Add("请先打开串口,连接设备!

");

return;

}

if(IsMonitor)

{

lsb_Check.Items.Add("正在监控中,请先结束监控后再盘点!

");

return;

}

Int32TagCount=0;

String[]Snrs=newString[0];

Int32value=reader.Inventory(ISO15693Reader.ModulateMethod.ASK,ISO15693Reader.InventoryModel.Multiple,refTagCount,refSnrs);//.GetOne(refdata);

//Bytevalue=reader.GetAllTagsNum(outTagCount,outSnrs);

if(value==0x11)

{

lsb_Check.Items.Add("在天线厂区内没有检测到任何枪支。

");

return;

}

if(value>0)

{

lsb_Check.Items.Add(String.Format("盘点错误,错误代码为{0}!

",value));

return;

}

if(TagCount==0)

{

lsb_Check.Items.Add(String.Format("盘点结束,没有得到任何枪支信息!

",value));

return;

}

AllDocuments=newList();

AllDocuments.AddRange(Snrs);

lsb_Check.Items.Add(String.Format("检测到{0}个标签,具体信息如下:

",AllDocuments.Count));

Names=newList();

OleDbConnectionconn=newOleDbConnection();

conn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\database.mdb;PersistSecurityInfo=True";

conn.Open();

OleDbCommandcmd=newOleDbCommand();

cmd.Connection=conn;

OleDbDataReaderdr;

foreach(StringobjinAllDocuments)

{

cmd.CommandText=String.Format("SELECT*FROMtab_DocWHERETagId='{0}'",obj);;

dr=cmd.ExecuteReader();

if(dr.Read())

{

lsb_Check.Items.Add(String.Format("{0:

10}|{1}",obj,dr["DocName"]));

Names.Add(dr["DocName"].ToString());

}

else

{lsb_Check.Items.Add(String.Format("{0:

10}|空标签",obj));

Names.Add("空标签");

}

dr.Close();

}

IsChecked=true;

}

}

privatevoidbtn_Clear1_Click(objectsender,EventArgse)

{

lsb_Check.Items.Clear();

}

privatevoidbtn_Monitor_Click(objectsender,EventArgse)

{

if(IsMonitor)return;

if(!

IsLogined)

{

lsb_Monitor.Items.Add("请先登录系统!

");

return;

}

if(!

IsConnected)

{

lsb_Monitor.Items.Add("请先打开串口,连接设备!

");

return;

}

if(!

IsChecked)

{

lsb_Monitor.Items.Add("请先进行枪支盘点,以确认所有监控对象!

");

return;

}

IsMonitor=true;

if(thrd_Monitor==null)

{

thrd_Monitor=newThread(newThreadStart(ThreadMonitor));

thrd_Monitor.Start();

}

lsb_Monitor.Items.Add("您启动了枪支监控......");

}

privatevoidbtn_Stop_Click(objectsender,EventArgse)

{

if(!

IsMonitor)

{

lsb_Monitor.Items.Add("尚未启动监控!

");

return;

}

IsMonitor=false;

ewh.Reset();

Threadthread=newThread(newThreadStart(ThreadReport));

thread.Start();

}

privatevoidbtn_Clear2_Click(objectsender,EventArgse)

{

lsb_Moni

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1