


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能家居系统总体实现脚本草稿序号脚步1同学们,大家好。今天我们继续学习“学习模块五 智能家居综合应用系统设备编程与实施”,本堂课的内容是“智能家居系统总体实现”,主要介绍智能家居系统主体程序的创建以及编码实现2整个介绍分成4部分,主程序界面创建,主程序串口通信,主程序加载启动,主程序退出关闭3第一部分主程序界面创建4打开Visual Studio 2105,点击新建项目,选择Windows窗体应用程序,输入项目名称和路径,点击确定将完成项目创建更改默认创建的窗体标题,窗体名称以及大小在窗体上添加Zigbee节点统计分组框,其中包含多个标签用于显示系统运行时协调器、路由器以及终端节点数目在窗体上
2、添加硬件设置分组框,其中包含3个组合框用于选择ZigBee、RFID以及GPRS设备对应的串口号,2个文本框用于输入摄像头IP地址以及告警短信发送目的手机号,2个按钮用于系统启动和系统退出在窗体上添加一个Tab控件,后面用于添加各个子模块对应的控件,将其Enable属性设置为False,从而使得程序运行后该控件处于不可使能状态,只有当系统启动成功后,通过代码设置其Enable属性为true才转入使能状态5第二部分主程序串口通信6智能家居系统需要通过串口访问ZigBee协调器、RFID读写器以及GPRS DTU。其中ZigBee协调器和RFID读写器的访问需要使用SerialPort控件,具体操
3、作如下7添加串口控件用于访问ZigBee协调器,波特率更改为19200;ZigBee串口数据接收采用事件触发方式,在串口事件面板双击DataReceived事件,将添加该事件的响应函数。由于Zigbee协调器返回1个或多个32个字节等长的响应包,因此定义长为320字节数组data_zigbee用于接收Zigbee协调器发送过来的数据包,定义长为32字节的数组onepkt用于存放当前要处理的响应包,定义整形变量dl_zigbee用于记录接收到的Zigbee响应包总字节数。在DataReceived事件响应函数中,首先对线程进行短暂休眠,确保接下来从串口接收缓冲区读取数据时,所有响应包的数据均已达
4、到接收缓冲区。然后将串口接收缓冲区内的数据读取到接收数组中,接着将逐个响应包复制到onepkt数组中,最后调用jiexi函数对当前响应包进行处理。Jiexi函数首先读取响应包的包头、包尾、命令类型、命令字以及响应状态,根据包头、包尾、命令类型以及命令状态来判断是否为有效的响应包,确认有效后,最后再按照响应包中的命令字进行分别处理添加串口控件用于访问RFID读写器,波特率采用默认值9600;RFID串口数据接收也采用事件触发方式,在串口事件面板双击DataReceived事件,将添加该事件的响应函数,在该事件响应函数中进行接收数据的处理。由于RFID读写器返回一个不等长的响应包,因此定义长为20
5、0的字节数组data_rfid用于接收RFID读写器发送回来的数据包,定义整形变量dl_rfid用于记录RFID响应数据包长度。在智能家居系统中门禁管理子模块使用到RFID卡号,因此定义字符串变量存放接收到的RFID卡号在DataReceived响应函数中,首先进行线程休眠300毫秒,确保接下来从串口接收缓冲区读取数据时,所有响应包的数据均已达到接收缓冲区。然后将串口接收缓冲区内的数据读取到接收数组中,以便后续进行处理。此外,DataReceived事件响应函数在辅助线程运行,界面控件则为主线程创建,当DataReceived事件响应函数接收串口数据包并更新界面控件的操作,属于跨线程访问。因此
6、需要在程序的构造函数中取消线程安全检查,避免系统因线程安全检查。8第三部分主程序加载启动9在窗口的事件面板中,双击Load事件,将添加Load事件的响应函数,在该函数中可完成窗口显示前的加载初始化操作。由于室内安防联动和门禁安防联动的视频摄像头拍摄照片需要保存在指定的文件夹中,因此加载初始化操作首先需要判断对应的文件夹是否存在,如果不存在,则创建相应的文件夹;然后通过获取当前计算机可用的串口号,将串口号添加到Zigbee串口、RFID串口以及GPRS串口组合框中供用户选择双击启动按钮,将添加该按钮的响应函数,该函数中首先将用户选择的Zigbee串口号保存到Zigbee串口控件中,然后尝试对Zi
7、gbee串口控件进行打开操作,如果打开不成功,则弹出告警信息并返回。然后以同样的方式对RFID串口控件进行打开操作。GPRS DTU和IP camera的设备启动代码将在后续课程进行添加。当所有的设备均打开成功后,便完成系统启动过程,因此需要将Tab控件的Enable属性设置为True,使得该Tab控件可以响应用户的输入。10第4部分主程序退出关闭11在窗口的事件面板中,双击FormClosed事件,将添加该事件响应函数,通常在该函数中完成应用程序窗口关闭后的系统资源释放操作。在该响应函数中需要对Zigbee串口控件以及RFID串口控件进行关闭操作,以便释放对串口的占用。GPRS DTU设备的关闭操作后续也需要添加到这里。双击退出按钮,将添加该按钮的响应函数,在该函数将调用Applicatio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川成都交通投资集团有限公司春季校园招聘10人笔试参考题库附带答案详解
- 日照职业技术学院《医用电子学》2023-2024学年第二学期期末试卷
- 安徽工贸职业技术学院《工程结构抗震A》2023-2024学年第二学期期末试卷
- 贵州经贸职业技术学院《显微构造地质学》2023-2024学年第二学期期末试卷
- 萍乡学院《ORACE数据库》2023-2024学年第二学期期末试卷
- 集宁师范学院《nternet协议分析A(实验)》2023-2024学年第二学期期末试卷
- 沈阳城市建设学院《剧本创作》2023-2024学年第二学期期末试卷
- 青岛职业技术学院《教育基础理论理工》2023-2024学年第二学期期末试卷
- 和君职业学院《资源循环科学与工程概论》2023-2024学年第二学期期末试卷
- 上海民远职业技术学院《专业导论(人工智能)》2023-2024学年第二学期期末试卷
- 科研伦理试题答案及解析
- 2025成都市新劳动合同书范本
- 第二章中国体育产业的发展与现状
- 2025届高三押题信息卷(一)地理及答案
- 2025南京房屋租赁合同
- 新型伤口敷料应用于预防压力性损伤的研究进展
- DB3303T078-2024规模以上工业企业健康评价指标体系
- 2025年北京市朝阳区九年级初三一模英语试卷(含答案)
- GB 7718-2025食品安全国家标准预包装食品标签通则
- GB/T 45403-2025数字化供应链成熟度模型
- 咸宁叉车考试题及答案
评论
0/150
提交评论