基于WSN技术的智能仓储环境监测与智能控制系统设计与实现67页Word下载.docx
《基于WSN技术的智能仓储环境监测与智能控制系统设计与实现67页Word下载.docx》由会员分享,可在线阅读,更多相关《基于WSN技术的智能仓储环境监测与智能控制系统设计与实现67页Word下载.docx(81页珍藏版)》请在冰点文库上搜索。
该命名空间是数据供给者,是专用的内置供给者,引用该命名空间后就
能够获取最好的性能和对基础功能的最直接接见。
;
增添变量
在结构函数中写入连结数据库方法
<
>
连结数据库的方法
()
{
定义了要连结的数据库的地点,数据库的名称,登录帐号和密码
="
123"
=();
=;
();
}
上面定义了两个全局变量,分变是字符型,变量量为数据库连结字符串内容:
表示正在
接见的数据库服务器名称,其格式是“计算机名实例名”,假如是当地的数据库服务器并
且使用的是的默认实例名,则能够使用()或.来表示。
表示数据库名称,即该项目所要连结的数据库名;
表示数据库服务器的登录名称;
表示数据库服务器的密码。
返回数据连结方法
10.2.2类
该类的作用是对程序中的要用到的对数据库的操作进行一致,波及到对数据库的操作
时,如对数据库的增修改操作,都能够直接调用该类,相应的方法。
传入相应的参数即可。
增添引用
定义变量
默认结构方法
结构函数
"
()
编写履行方法
履行语句
=;
{}
获取数据表格的方法
<
语句<
()
=[0];
履行语句,获取种类数据
"
获取到的种类数据<
=()();
(e)
=0;
=32(()());
本资源是鉴于
开发的,所以能够使用指令能够引用
专用的数据库供给者:
提取数据库中数据的
4步:
1)
连结数据源
2)
翻开连结
3)
发出一个查问命令
4)
履行命令语句
是一个用于数据供给者的连结对象名称,表示数据库的一个翻开的连结。
对象表示
与数据源的一个独一的会话。
对于客户端/服务器数据库系统,它等效于到服务器的网络
连结。
与和一同使用,能够在连结数据库时提升性能。
表示正在接见的名称,其格式是“计算机名实例名”。
计算机名()是一个特别方便的简洁名称,它表示运转在目前机器上的服务器实例。
,指定数据库的名称。
123,表示登录数
据库的用户名和密码,这是
和的标准内置安全。
翻开数据库的连结。
属性获取或设置要对数据源履行的语句或储存过程。
()方法,
对连结履行语句并返回受影响的行数。
类表示用于填补和更新数据库的一组数据命
令和一个数据库连结。
是和之间的桥接器,用于检索和保留数据。
是结构的主要
组件,它是从数据源中检索到的数据在内存中的缓存。
由一组对象构成。
语句由一个块后跟一个或多个子句构成,这些子句指定不一样的异样办理程序。
块包括可能致使异样的保护代码。
该块向来履行到引起异样或成功达成为止。
比如,下
列强迫变换对象的试试引起异样:
o2=;
i2=()o2;
错误
该类是对节点信息与数据库中的进行操作进行的改正。
节点加入网络后,段地点会储存
到数据库中。
对目前节点的辨别也需要读取数据库中已输入的节点信息。
增添命名空间
=(("
'
{0}'
));
=[0];
=32(["
]());
=["
]();
属性
方法
(("
{1}'
,));
10.3功能设计与实现
该部分实训内容主假如经过程序和的网关进行通信,这里我们需要学习对于网关通信的
有关应用。
该模块程序中的代码,在后边会分解出来应用。
向窗体中增添一个控件,在属性增添
6个成员。
控件
成立连结
指令
创立成立连结
1、成立连结窗体属性,窗体如图
10-5
所示。
向窗体增添1个控件,
改正窗体和控件属性:
2、设置窗体属性
窗体属性
图10-5
2个控件,
节点连结实验图
8个控件,9个控件,
4个控件。
节点连结实验
3、设置控件属性
T1通道
1
地点
端口号
T2通道
2
4、设置属性
4000
1001
5、设置显示信息内容的属性
6、设置控件属性
7、设置按钮事件
1连结
T1通道连结
2连结
T2通道连结
8、窗体后台代码:
1)定义变量
定义一个函数结构的拜托
(,);
实例化T1数据包信息类
1=();
实例化T2数据包信息类
2=();
定义T1通信接口
1;
定义T2通信接口
2;
定义T1通道流水号
161;
定义T2通道流水号
162;
定义一个线程
为连结后网关随机分派的一个表记
1)结构函数
3)编写方法
发送信息方法
要发送的字节数组<
实例<
已发送的长度<
,)
需对发送的字节长度有明确认识,发送一段字节后需要加上该段字节的长度
(<
)
(,,-,);
接收信息的方法
接收信息方法
要接收的字节数组<
已接收的长度<
在控件中显示信息的方法
(,)
(,,);
\r\n【"
+("
)+"
】"
+;
控件名称<
要显示的值<
线程方法
T2通道线程履行方法
分析信息头
定义一个种类的6位数组
[]=[6];
接收到的信息头的长度
=0;
(,2,);
实例化一个信息头类
对接收到的信息头进行变换
(,0,6);
心跳包
((16))
信息的长度为16位无符号整数
16=0;
心跳报信息体?
信息为空
16=(16);
获取获取流水号
16=;
=(,,);
依据当地字节变换发送的信息
[]=();
(,2,0);
("
【T2通道心跳包】发送成功"
);
【T2通道心跳包】错误:
+);
判断信息头返回命令字能否正确
定义一个信息头字节长度的数组
[]=[];
定义信息体长度变量
接收信息方法接收信息
实例化节点报告命令
依据当地字节和网络字节的次序变换接收到的信息体
实例化节点报告命令响应
实例化信息头类,并将响应参数传入
=(,(16),);
获取发送的数据包的数组
[]=2(,);
发送信息
(,"
\r\n"
【】指令成功"
【】:
+);
X4"
));
++"
【】指令失败错误:
定义一个信息体长度的数组
接收信息体的长度变量
接收信息体
将信息体依据当地字节和网络字节的次序变换
实例化节点报告命令的响应
实例化并获撤信息头
判断会话能否同样
引°
y发¤
?
é
判断节点数据采集能否成功
(0x01)
【()】:
+(()));
+(())("
温湿度传感器
判断温湿度传感器节点的数据长度能否正确同时
在窗口中显示温湿度
((())4)
【()】目前温度:
+(())+"
."
℃"
【()】目前湿度:
%"
(,(())+"
数码管节点
判断数码管节点数据长度能否正确
((())5)
引起
判断节点配置数据采集能否成功
(0x02)
+((())));
事件报告方法
判断节点和网关系结能否正常
实例化长度为信息体长度的数组
接收信息
将接收到的信息体依据当地和网络字节次序变换
实例化节点命令报告响应
获撤信息头并实例化
经过T2通道获取发送的数据包1的数组
发送数据
节点配置事件码
【】指令成功"
【】:
+());
【T2通道错误】"
T1通道心跳包发送计时器
1(,e)
(40)
1=1();
16=0;
16=(16);
=(,,1);
(,1,);
(1)
【通道心跳包】接收失败"
【T1通道心跳包错误"
4)成立连结的单击事件1连结事件
1连结按钮事件
e"
1(,e)
使用指定的地点、种类、协议初始化实例
1=(,,);
实例化网关系结地点
=(
(1),32
(1));
=(("
218.246.112.92"
),4000);
连结网关
1();
通道1连结成功"
);
通道1连结失败!
2连结按钮事件
2(,e)
在拟订的控件上显示信息
依据地点等实例化类
2=(,,);
实例化网关地点
=(
(2),32
(2));
2();
T2通道连结成功"
T2通道连结失败!
通道连结事件
T1通道连结按钮事件
获取T1通道流水号
将代表状态的0变换成种类
=(0);
赋值为“1001”
=1;
赋3值为“”
实例化向网关系结命令
实例化要发送的信息头
1=(1,(16),1);
获取发送数据包的数组
[]1=1(1,1);
1=0;
(1,1,1);
定义接收数据的数组
[]1=[()+()];
实例化接收的信息头类
实例化接收的信息体类
获取接收的数据包信息
1(1,1,1);
判断信息体长度和流水号
(1(16)11)
将连结信息显示在控件上
(10)
T1通道指令履行成功"
T1通道值为:
+1+"
+1
(1)+"
)"
T1通道指令履行失败"
【T1通道错误】"
T2通道连结按钮事件
T2通道连结按钮事件
获取T2通道流水号
2=2();
将1变换成种类,1代表通道2
=
(1);
=2;
赋值为“”
向网关系结通道2
实例化发送的信息头类
2=(2,(16),2);
[]2=2(2,2);
2=0;
(2,2,2);
接收数据包的数组
[]2=[()+()];
实例化接收的信息头
实例化接收的信息体
2(2,2,2);
(2(16)22)
将相应的连结信息显示在控件上
(20)
T2通道指令履行成功!
T2通道值为:
+2+"
+2
(2)+"
=(());
【T2通道错误】"
创立指令
创立指令窗体以下列图10-6所示。
图10-6创立指令窗体
向窗体中增添1个窗体,2个窗体,3