物联网应用综合实训课件项目7NET开发.pptx

上传人(卖家):晟晟文业 文档编号:3694742 上传时间:2022-10-04 格式:PPTX 页数:47 大小:1.02MB
下载 相关 举报
物联网应用综合实训课件项目7NET开发.pptx_第1页
第1页 / 共47页
物联网应用综合实训课件项目7NET开发.pptx_第2页
第2页 / 共47页
物联网应用综合实训课件项目7NET开发.pptx_第3页
第3页 / 共47页
物联网应用综合实训课件项目7NET开发.pptx_第4页
第4页 / 共47页
物联网应用综合实训课件项目7NET开发.pptx_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、项目七:.NET开发物 联 网 应 用 综 合 实 训项目概述项目概述小方慢慢掌握了智能社区系统,现在令他更加好奇的是如何远程控制路灯、风扇,甚至远程看监控视频。带着这样的问题,小方找到了自己的计算机老师,请教了以上这些问题。计算机老师告诉他,其实这些并不难,难得就是静下心来敲代码。就这样,小方开始了代码之旅。学习目标学习目标n 熟悉C#,WPF基本概念n 熟悉XAML基本概念n 熟悉串口通信原理n 掌握串口通信代码n 掌握XAML基本代码编写n 掌握控制代码设计n 掌握与Zigbee端口通信原理n 掌握WPF控件使用任务一:获取温度传感器数据任务描述任务描述 通过Microsoft Visu

2、al Studio软件,创建项目,可获取温度。在软件中,应设计简单界面,根据传输协议编写相应代码,最后通过按钮成功获取传感器数据。任务实施任务实施 1.首先让我们先建一个项目,点击“文件新建项目”一项,如图7-1和图7-2,再选择C#语言,WPF应用程序,项目名称为GetData。图7-1 项目菜单选择 图7-2 应用程序创建任务实施任务实施2.创建WPF工程项目后,进入如图7-3所示的C#平台开发平台。在该平台上,可以看到有常用的工具箱、界面布局编辑区、解决方案资源管理窗口、属性窗口、布局文件代码视图窗口等视图。图7-3 开发平台任务实施任务实施 3.打开MainWindow.xaml,可通

3、过拖放组件或者代码,添加组件。在这里通过在XMAL添加代码,从而设计UI。4.可通过工具箱直接将文本框拖进界面内,放置合适的位置;或者在xaml里与之间加入下列代码:知识链接知识链接:Name表示每个组件的名称,HorizontalAlignment表示水平对齐方式,Height表示高度,Margin表示组件与放置它容器的边距,分别是上,右,下,左的顺时针规则。TextWrapping参数设置为Wrap表示当文本超过容器会自动换行。VerticalAlignment表示垂直对齐,Width表示组件宽度。任务实施任务实施5.可通过工具箱直接将按钮拖进界面内,放置合适的位置;或者在xaml里与之间

4、,文本框代码后加入下列代码:任务实施任务实施6.选中按钮组件,即可在右下角看到按钮的属性,在名称位置可对按钮设置名称(默认无名称)。点击右边闪电标志,如图7-4看到各样的事件,在这里只需要设置Click事件,即点击按钮就有相应的响应,设置Click事件名称为get,按回车编辑具体事件代码。图7-4 按钮名称设置小贴士:小贴士:设置按钮属性,亦可双击按钮之后,直接转入代码编辑区域,事件名称为系统默认名称。任务实施任务实施7.get函数里添加获取传感器参数代码;private void get(object sender,RoutedEventArgs e)ADAM4117Data adamDat

5、a=adam.ReadADAM4117Data();double dValue=ConvertHelper.Temperature(adamData.Value5);temp.Text=dValue.ToString(f2);想一想:如此就可以读取传感器的数据了嘛,还需要添加什么内容?任务实施任务实施8.绑定端口,数模转换口为COM2,zigbee数据传输为COM3。在MainWindow.xaml.cs的MainWindow里添加两个数据定义。public partial class MainWindow:Window ADAM adam=new ADAM(COM2);ZigBee zigB

6、ee=new ZigBee(COM3);任务实施任务实施9.在界面启动时需要初始化对象,在 window添加初始化和结束函数:10.在初始化函数中添加数模转化和zigbee连接代码:private void Window_Loaded(object sender,RoutedEventArgs e)adam.Connect();zigBee.Connect();任务实施任务实施11.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接;private void Window_Closing(object sender,System.ComponentModel.CancelEventArg

7、s e)adam.Close();zigBee.Close();小贴士:小贴士:编译之前需在MainWindow.xaml.cs添加using SerialPortProvider,方可只使用串口应用。任务实施任务实施12.完成代码设置后,可点击“调试”“开始调试”进行代码调试(图7-5)。图7-5 代码调试任务实施任务实施11.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接;private void Window_Closing(object sender,System.ComponentModel.CancelEventArgs e)adam.Close();zigBee.Clo

8、se();小贴士:小贴士:编译之前需在MainWindow.xaml.cs添加using SerialPortProvider,方可只使用串口应用。相关知识相关知识C#是一种全新的、面向对象的编程语言。它依附于.NET Framework架构,它高效的运行效率、简单易于理解的语法,加之强大的编译器支持,使得程序的开发变得异常迅速。WPF 为Windows Presentation Foundation的首字母缩写,中文译为“Windows呈现基础”。是基于DirectX的新一代开发技术,利用XAML(应用程序扩展语言)做界面描述,后台采用各种.Net语言作为业务逻辑开发。为什么使用WPF,因为

9、WPF提供了超丰富的.NET用户界面框架,集成了矢量图形,丰富的流动文字支持,3D视觉效果和强大无比的控件模型框架。相关知识相关知识可扩展应用程序标记语言(Extensible Application Markup Language,缩写为XAML)是微软公司为构建应用程序界面而设立的一种新的描述性语言。XAML提供了一种便于拓展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的“代码后置”的模型非常类似。XAML是一种解析性的语言,尽管它也可以被编译。它的优点是简化编程式上的用户创建过程,应用时要添加代码等。WPF借助XAML来利用标记而不是编程语言来构造精美逼真

10、的用户界面,可以通过定义控件,文本,图像,形状,动画等各种元素,完全采用XAML来制作详细的用户界面文档。由于XAML是声明性语言,因此如果需要响应应用程序中添加运行时逻辑,则需要添加代码。能力拓展能力拓展请参考相关资料,找到至少两种方法改变界面背景颜色。任务二:控制风扇任务描述任务描述Zigbee当前广泛用于物联网设备,本次任务通过zigbee网络控制风扇。请根据Zigbee端口通信协议,通过Microsoft Visual Studio软件创建项目,编写相应的代码,从而通过按钮成功设置风扇的关闭。任务实施任务实施1.首先让我们先建一个项目,点击“文件新建项目”一项,如图7-6和图7-7,再

11、选择C#语言,WPF应用程序,项目名称为ICS.Fan。图7-6 项目菜单选择图7-7 应用程序创建任务实施任务实施2.打开MainWindow.xaml,从工具箱里拖入两个按钮,分别为“开启”“关闭”;或者添加代码为 任务实施任务实施3.拖入一个文本框,设置名称为state;或者添加代码为 4.选中开启按钮组件,即可在右下角看到按钮的属性,在名称位置可对按钮设置名称(默认无名称)。点击右边闪电标志,如图7-4看到各样的事件,在这里只需要设置Click事件,即点击按钮就有相应的响应,设置Click事件名称为Open,按回车编辑具体事件代码;privatevoid Open(object sen

12、der,RoutedEventArgs e)zigBee.Relay(true);state.Text=开启;任务实施任务实施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 class MainWindow:Window ADA

13、M adam=new ADAM(COM2);ZigBee zigBee=new ZigBee(COM3);任务实施任务实施7.在界面启动时需要初始化对象,在 window添加初始化和结束函数:8.在初始化函数中添加数模转化和zigbee连接代码:private void Window_Loaded(object sender,RoutedEventArgs e)adam.Connect();zigBee.Connect();任务实施任务实施。9.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接;private void Window_Closing(object sender,Syst

14、em.ComponentModel.CancelEventArgs e)adam.Close();zigBee.Close();小贴士:编译之前在MainWindow.xaml.cs添加using SerialPortProvider,方可只相应的串口应用任务实施任务实施。10.完成代码设置后,可点击“调试”“开始调试”进行代码调试(图7-8和图7-9)。图7-8 关闭风扇图7-9 开启风扇相关知识相关知识现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。

15、串口通信的两种基本方式是同步串行方式和异步串行通信方式。同步串行是指SPI(Serial Peripheral interface)的缩写,顾名思义就是串行外围设备接口。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。相关知识相关知识异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。UART包含TTL电平的串口和RS232电平的串口。TTL电平是3.3V的,而RS232是负逻辑电平。在C#中无法直接使用串口

16、通信,需设置相应的串口号以及使用串口的名称空间,方可使用串口通信函数。能力拓展能力拓展在本例中采用文字表示风扇开启状态,请查考相关资料采用图片显示表示风扇状态;任务三:温度传感器控制风扇任务描述任务描述创建智能化风扇根据温度自动开闭风扇,亦可通过软件开关风扇。通过Microsoft Visual Studio软件创建项目,编写代码定期获取温度参数时,与阀值对比,自动开闭风扇,同时插入按钮开关,可通过按钮开关风扇。任务实施任务实施1.首先让我们先建一个项目,点击“文件新建项目”一项,如图7-1和图7-2,再选择C#语言,WPF应用程序,项目名称为ICS.Shan。图7-10 项目菜单选择图7-1

17、1 应用程序创建任务实施任务实施2.创建WPF工程项目后,C#平台开发平台。在该平台上,可以看到有常用的工具箱、界面布局编辑区、解决方案资源管理窗口、属性窗口、布局文件代码视图窗口等视图。3.打开MainWindow.xaml,可通过拖放组件或者代码,添加组件。在这里通过在XMAL添加代码,从而设计UI。任务实施任务实施4.拖入两个文本框和标签,设置响应的参数;或添加下列代码;任务实施任务实施5.从工具箱里拖入三个按钮,分别为“获取信息”“开启”“关闭”;或者添加代码为 任务实施任务实施6.设置获取信息的按钮Click事件为get,get函数里添加获取传感器参数代码,同时添加if判断语句,如果

18、温度参数小于设定值,则关掉风扇,否则开启风扇;private void get(object sender,RoutedEventArgs e)ADAM4117Data adamData=adam.ReadADAM4117Data();double dValue=ConvertHelper.Temperature(adamData.Value5);temp.Text=dValue.ToString(f2);if(dValue v1)zigBee.Relay(true);state.Text=开启;else zigBee.Relay(false);state.Text=关闭;任务实施任务实施7.

19、绑定端口,数模转换口为COM2,zigbee数据传输为COM3。在MainWindow.xaml.cs的MainWindow里添加两个数据定义。public partial class MainWindow:Window ADAM adam=new ADAM(COM2);ZigBee zigBee=new ZigBee(COM3);任务实施任务实施8.在界面启动时需要初始化对象,在 window添加初始化和结束函数:9.在初始化函数中添加数模转化和zigbee连接代码:private void Window_Loaded(object sender,RoutedEventArgs e)adam

20、.Connect();zigBee.Connect();任务实施任务实施private void Window_Closing(object sender,System.ComponentModel.CancelEventArgs e)adam.Close();zigBee.Close();10.需要注意的是当界面被关闭的时候需要关闭传感器和电脑的连接;小贴士:编译之前在MainWindow.xaml.cs添加using SerialPortProvider,方可使用相应的串口函数任务实施任务实施11.完成代码设置后,可点击“调试”“开始调试”进行代码调试。图7-12 代码调试相关知识相关知识 本次任务重在复习前两次所牵涉的知识,综合前两次任务内容。与前两次任务略有不同的是在读取温度值的时候使用if语句进行判断,如果温度值高于阈值,则打开风扇,否则关闭风扇。其余知识点参考前两次任务。能力拓展能力拓展在本例基础上添加温度参数设置,即添加温度参数输入,请查考相关性资料编程,风扇根据输入参数进行开闭态。项目评价项目评价项目总结项目总结小方同学掌握了社区灯控制模块,风扇控制模块和视频监控模块的设计。在这过程中小方同学会了如何使用C#语言和WP技术设计相应的界面,同时也学会了配置I/O串口通信,zigbee串口通信。THANKS

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(物联网应用综合实训课件项目7NET开发.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|