




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、延时文字项目七: .NET开发物 联 网 应 用 综 合 实 训延时文字项目七: .NET开发物 联 网 应 用 综 合 实项目概述小方慢慢掌握了智能社区系统,现在令他更加好奇的是如何远程控制路灯、风扇,甚至远程看监控视频。带着这样的问题,小方找到了自己的计算机老师,请教了以上这些问题。计算机老师告诉他,其实这些并不难,难得就是静下心来敲代码。就这样,小方开始了代码之旅。项目概述小方慢慢掌握了智能社区系统,现在令他更加好奇的是如何学习目标延时符熟悉C#,WPF基本概念熟悉XAML基本概念熟悉串口通信原理掌握串口通信代码掌握XAML基本代码编写掌握控制代码设计掌握与Zigbee端口通信原理掌握W
2、PF控件使用学习目标延时符熟悉C#,WPF基本概念掌握XAML基本代码编延时符任务一:获取温度传感器数据延时符任务一:获取温度传感器数据延时符任务描述 通过Microsoft Visual Studio软件,创建项目,可获取温度。在软件中,应设计简单界面,根据传输协议编写相应代码,最后通过按钮成功获取传感器数据。延时符任务描述 通过Microsoft Vi任务实施 1.首先让我们先建一个项目,点击“文件新建项目”一项,如图7-1和图7-2,再选择C#语言,WPF应用程序,项目名称为GetData。 图7-1 项目菜单选择图7-2 应用程序创建任务实施 1.首先让我们先建一个项目,点击“文件新建
3、项目任务实施2.创建WPF工程项目后,进入如图7-3所示的C#平台开发平台。在该平台上,可以看到有常用的工具箱、界面布局编辑区、解决方案资源管理窗口、属性窗口、布局文件代码视图窗口等视图。图7-3 开发平台任务实施2.创建WPF工程项目后,进入如图7-3所示的C#平任务实施 3.打开MainWindow.xaml,可通过拖放组件或者代码,添加组件。在这里通过在XMAL添加代码,从而设计UI。4.可通过工具箱直接将文本框拖进界面内,放置合适的位置;或者在xaml里与之间加入下列代码: 知识链接:Name表示每个组件的名称,HorizontalAlignment表示水平对齐方式,Height表示高
4、度,Margin表示组件与放置它容器的边距,分别是上, 右, 下, 左的顺时针规则。TextWrapping参数设置为Wrap表示当文本超过容器会自动换行。VerticalAlignment表示垂直对齐,Width表示组件宽度。任务实施 3.打开MainWindow.xaml,可通过拖放任务实施5.可通过工具箱直接将按钮拖进界面内,放置合适的位置;或者在xaml里与之间,文本框代码后加入下列代码: 任务实施5.可通过工具箱直接将按钮拖进界面内,放置合适的位置任务实施6.选中按钮组件,即可在右下角看到按钮的属性,在名称位置可对按钮设置名称(默认无名称)。点击右边闪电标志,如图7-4看到各样的事件
5、,在这里只需要设置Click事件,即点击按钮就有相应的响应,设置Click事件名称为get,按回车编辑具体事件代码。 图7-4 按钮名称设置小贴士:设置按钮属性,亦可双击按钮之后,直接转入代码编辑区域,事件名称为系统默认名称。任务实施6.选中按钮组件,即可在右下角看到按钮的属性,在名称任务实施7.get函数里添加获取传感器参数代码; private void get(object sender, RoutedEventArgs e) ADAM4117Data adamData = adam.ReadADAM4117Data(); double dValue = ConvertHelper.Te
6、mperature(adamData.Value5); temp.Text = dValue.ToString(f2); 想一想:如此就可以读取传感器的数据了嘛,还需要添加什么内容?任务实施7.get函数里添加获取传感器参数代码;任务实施8.绑定端口,数模转换口为COM2,zigbee数据传输为COM3。在MainWindow.xaml.cs的MainWindow里添加两个数据定义。 public partial class MainWindow : Window ADAM adam = new ADAM(COM2); ZigBee zigBee = new ZigBee(COM3);任务实施
7、8.绑定端口,数模转换口为COM2,zigbee数据任务实施9.在界面启动时需要初始化对象,在 window添加初始化和结束函数:10.在初始化函数中添加数模转化和zigbee连接代码: private void Window_Loaded(object sender, RoutedEventArgs e) adam.Connect(); zigBee.Connect(); 任务实施9.在界面启动时需要初始化对象,在 window添加任务实施11.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接; private void Window_Closing(object sender, S
8、ystem.ComponentModel.CancelEventArgs e) adam.Close(); zigBee.Close(); 小贴士:编译之前需在MainWindow.xaml.cs添加using SerialPortProvider,方可只使用串口应用。任务实施11.需要注意的是当界面被关闭的时候需要关闭传感器和任务实施12.完成代码设置后,可点击“调试” “开始调试”进行代码调试(图7-5)。 图7-5 代码调试任务实施12.完成代码设置后,可点击“调试” “开始调试任务实施11.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接; private void Windo
9、w_Closing(object sender, System.ComponentModel.CancelEventArgs e) adam.Close(); zigBee.Close(); 小贴士:编译之前需在MainWindow.xaml.cs添加using SerialPortProvider,方可只使用串口应用。任务实施11.需要注意的是当界面被关闭的时候需要关闭传感器和相关知识C#是一种全新的、面向对象的编程语言。它依附于.NET Framework架构,它高效的运行效率、简单易于理解的语法,加之强大的编译器支持,使得程序的开发变得异常迅速。WPF 为Windows Presenta
10、tion Foundation的首字母缩写 ,中文译为“Windows呈现基础”。是基于DirectX的新一代开发技术,利用XAML(应用程序扩展语言)做界面描述,后台采用各种.Net语言作为业务逻辑开发。为什么使用WPF,因为WPF提供了超丰富的.NET用户界面框架,集成了矢量图形,丰富的流动文字支持,3D视觉效果和强大无比的控件模型框架。相关知识C#是一种全新的、面向对象的编程语言。它依附于.NE相关知识可扩展应用程序标记语言(Extensible Application Markup Language,缩写为XAML) 是微软公司为构建应用程序界面而设立的一种新的描述性语言。XAML提供
11、了一种便于拓展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的“代码后置”的模型非常类似。XAML是一种解析性的语言,尽管它也可以被编译。它的优点是简化编程式上的用户创建过程,应用时要添加代码等。 WPF借助XAML来利用标记而不是编程语言来构造精美逼真的用户界面,可以通过定义控件,文本,图像,形状,动画等各种元素,完全采用XAML来制作详细的用户界面文档。由于XAML是声明性语言,因此如果需要响应应用程序中添加运行时逻辑,则需要添加代码。相关知识可扩展应用程序标记语言(Extensible App延时符能力拓展请参考相关资料,找到至少两种方法改变界面背景颜色。延
12、时符能力拓展请参考相关资料,找到至少两种方法改变界面背景颜延时符任务二:控制风扇延时符任务二:控制风扇延时符任务描述Zigbee当前广泛用于物联网设备,本次任务通过zigbee网络控制风扇。请根据Zigbee端口通信协议,通过Microsoft Visual Studio软件创建项目,编写相应的代码,从而通过按钮成功设置风扇的关闭。延时符任务描述Zigbee当前广泛用于物联网设备,本次任务通任务实施1.首先让我们先建一个项目,点击“文件新建项目”一项,如图7-6和图7-7,再选择C#语言,WPF应用程序,项目名称为ICS.Fan。 图7-6 项目菜单选择图7-7 应用程序创建任务实施1.首先让
13、我们先建一个项目,点击“文件新建项目”任务实施2.打开MainWindow.xaml,从工具箱里拖入两个按钮,分别为“开启”“关闭”;或者添加代码为 任务实施2.打开MainWindow.xaml,从工具箱里拖任务实施3.拖入一个文本框,设置名称为state;或者添加代码为 4.选中开启按钮组件,即可在右下角看到按钮的属性,在名称位置可对按钮设置名称(默认无名称)。点击右边闪电标志,如图7-4看到各样的事件,在这里只需要设置Click事件,即点击按钮就有相应的响应,设置Click事件名称为Open,按回车编辑具体事件代码;privatevoid Open(object sender, Rout
14、edEventArgs e) zigBee.Relay(true); state.Text =开启; 任务实施3.拖入一个文本框,设置名称为state;或者添加代任务实施5.与步骤4相似,选中关闭按钮,添加Click事件,事件名称为Close;privatevoid Close(object sender, RoutedEventArgs e) zigBee.Relay(false); state.Text =关闭; 6.绑定端口,数模转换口为COM2,zigbee数据传输为COM3。在MainWindow.xaml.cs的MainWindow里添加两个数据定义。 public partial
15、 class MainWindow : Window ADAM adam = new ADAM(COM2); ZigBee zigBee = new ZigBee(COM3);任务实施5.与步骤4相似,选中关闭按钮,添加Click事件,任务实施7.在界面启动时需要初始化对象,在 window添加初始化和结束函数:8.在初始化函数中添加数模转化和zigbee连接代码: private void Window_Loaded(object sender, RoutedEventArgs e) adam.Connect(); zigBee.Connect(); 任务实施7.在界面启动时需要初始化对象,
16、在 window添加任务实施。9.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接; private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) adam.Close(); zigBee.Close(); 小贴士:编译之前在MainWindow.xaml.cs添加using SerialPortProvider,方可只相应的串口应用任务实施。9.需要注意的是当界面被关闭的时候需要关闭传感器和任务实施。10.完成代码设置后,可点击“调试” “开始调试”进行代码调试(图7-8和图7-
17、9)。图7-8 关闭风扇图7-9 开启风扇任务实施。10.完成代码设置后,可点击“调试” “开始调相关知识现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。串口通信的两种基本方式是同步串行方式和异步串行通信方式。同步串行是指SPI(Serial Peripheral interface)的缩写,顾名思义就是串行外围设备接口。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。相关知识现在大多数硬件设备均采用串口技
18、术与计算机相连,因此串相关知识异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。UART包含TTL电平的串口和RS232电平的串口。 TTL电平是3.3V的,而RS232是负逻辑电平。 在C#中无法直接使用串口通信,需设置相应的串口号以及使用串口的名称空间,方可使用串口通信函数。相关知识异步串行是指UART(Universal Async延时符能力拓展在本例中采用文字表示风扇开启状态,请查考相关资料采用图片显示表示风扇状态;延时符能力拓展在本例中采用文字
19、表示风扇开启状态,请查考相关资延时符任务三:温度传感器控制风扇延时符任务三:温度传感器控制风扇延时符任务描述创建智能化风扇根据温度自动开闭风扇,亦可通过软件开关风扇。通过Microsoft Visual Studio软件创建项目,编写代码定期获取温度参数时,与阀值对比,自动开闭风扇,同时插入按钮开关,可通过按钮开关风扇。延时符任务描述创建智能化风扇根据温度自动开闭风扇,亦可通过软任务实施1.首先让我们先建一个项目,点击“文件新建项目”一项,如图7-1和图7-2,再选择C#语言,WPF应用程序,项目名称为ICS.Shan。 图7-10 项目菜单选择图7-11 应用程序创建任务实施1.首先让我们先
20、建一个项目,点击“文件新建项目”任务实施2.创建WPF工程项目后,C#平台开发平台。在该平台上,可以看到有常用的工具箱、界面布局编辑区、解决方案资源管理窗口、属性窗口、布局文件代码视图窗口等视图。3.打开MainWindow.xaml,可通过拖放组件或者代码,添加组件。在这里通过在XMAL添加代码,从而设计UI。任务实施2.创建WPF工程项目后,C#平台开发平台。在该平台任务实施4.拖入两个文本框和标签,设置响应的参数;或添加下列代码; 任务实施4.拖入两个文本框和标签,设置响应的参数;或添加下列任务实施5.从工具箱里拖入三个按钮,分别为“获取信息”“开启”“关闭”;或者添加代码为 任务实施5
21、.从工具箱里拖入三个按钮,分别为“获取信息”“开启任务实施6.设置获取信息的按钮Click事件为get,get函数里添加获取传感器参数代码,同时添加if判断语句,如果温度参数小于设定值,则关掉风扇,否则开启风扇; private void get(object sender, RoutedEventArgs e) ADAM4117Data adamData = adam.ReadADAM4117Data(); double dValue = ConvertHelper.Temperature(adamData.Value5); temp.Text = dValue.ToString(f2);
22、if (dValue v1) zigBee.Relay(true); state.Text =开启; else zigBee.Relay(false); state.Text =关闭; 任务实施6.设置获取信息的按钮Click事件为get,get任务实施7.绑定端口,数模转换口为COM2,zigbee数据传输为COM3。在MainWindow.xaml.cs的MainWindow里添加两个数据定义。 public partial class MainWindow : Window ADAM adam = new ADAM(COM2); ZigBee zigBee = new ZigBee(COM3);任务实施7.绑定端口,数模转换口为COM2,zigbee数据任务实施8.在界面启动时需要初始化对象,在 window添加初始化和结束函数:9.在初始化函数中添加数模转化和zigbee连接代码: private void Window_Loaded(object sender, RoutedEventArgs e) a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境化学(第二版)(戴树桂)课后作业参考答案2(部分)学习资料
- 二零二五年度婚姻财产保全与家庭财富增长协议
- 2025年度社区便利店酒水配送与营销支持合同
- 二零二五年度学校办学场地租赁与师资培训合同
- 二零二五年度新能源汽车充电设施建设银行担保服务协议
- 天津市2025年手房屋买卖协议附带车位使用权及物业管理协议
- 二零二五年度甲方委托乙方执行的房屋转租合同协议
- 2025年吉林省白城市单招职业适应性测试题库新版
- 二零二五年度餐饮店面租赁合同含品牌形象维护条款
- 2025年度旅行社节庆活动免责责任书
- 气管镜科室讲课ppt课件(PPT 69页)
- 对于二氧化碳传感器的现状及发展趋势的浅分析
- 麦语言函数手册参考模板
- 冷库喷涂施工工艺(详细)
- 电机学辜承林(第三版)第1章
- 知情同意书-北京大学肿瘤医院
- 建筑材料碳排放因子查询表
- 观音神课三十二卦
- 医疗机构停业(歇业)申请书
- 发票(商业发票)格式
- 食品生产企业生产线员工食品安全知识培训
评论
0/150
提交评论