资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
http:/www.dengfengsoft.com如何在如何在 WinCE 下开发智能家居应用下开发智能家居应用WinCE 的开发板成本低廉,又可以很好的处理各种复杂的应用,再加上很多人能运用自己 熟悉的语言进行快速开发,所以一直是广大系统集成开发商的首选。使用 WinCE 作为智能家居的开发平台,可以快速方便的开发各类智能家居应用。并且可 以很方便的将整个操作系统嵌入到墙面,让用户很方便的操作。我们在这里举个 Wince 下控制 4 路电源开关和显示房间温度和湿度的例子。使用天邦登峰 的 Phidgets1014 继电器(4 路)和 1125 温度、湿度传感器不需要配置任何端口,把各部 件插入 WinCE 控制板的 USB 口插槽内就可以使用了。所需要用到的硬件如下: WinCE 控制板(学习板)(在各电子城都很容易买到)http:/www.dengfengsoft.com天邦登峰 1014 - PhidgetInterfaceKit 0/0/4 (接口板-4 口) http:/www.dengfengsoft.com/ViewDetails206.aspx产品编号: 10144 个继电 (Relay) 输出开关交直流电 等级为: 250VAC、10 Amps (100VDC、 5 Amps) 可以接 200 多个电灯泡和电器直接连接到计算机的 USB 传输端口(无需配置端口,即插即用)含 USB 连接线.天邦登峰 1125 温度湿度传感器:http:/www.dengfengsoft.com/ViewDetails137.aspxhttp:/www.dengfengsoft.com所需要的软件:所需要的软件: 天邦登峰 Phidgets 驱动 http:/www.dengfengsoft.com/dengfengsoft_phidgets_drivers.html1.Net Framework 3.5 (Windows 7 自带,Windows XP 请下载) 2. Visual Studio 2005 Express (下载) 本文范例源码(C#) http:/www.dengfengsoft.com/docs/Dengfengsoft_WinCESmartHome.zip操作步骤:操作步骤: 1.在 WinCE 系统内安装天邦登峰 Phidgets 控制板驱动(在源码文件夹内 点击 install.CAB 安装) ;可以把文件通过 U 盘插入 wince 板安装,也可以通过(Windows Mobile 设备中心,从你的 Windows 系统把文件上传到 wince 板子内安装) 2.本文的程序范例代码以 C#为例,您可以在 http:/www.dengfengsoft.com/dengfengsoft_phidgets_programming_resources.html 找到更多编程语言的范例。在各编程语言的 InterfaceKit-full 文件夹里可以找到。用 Visual Studio 2008 新建一个项目工程命名为:SmartHome 在项目下新建一个文件夹“dll”用于存放 WinCE 下驱动的动态库 把“动态库”的文件夹内的文件全部拷贝到这个文件夹下,并在工程内添加对“Phidget21CE.NET.dll”文件的引用。界面布局范例如上图所示。http:/www.dengfengsoft.com关键代码如下: 连接 Phidgets 控制设备。 (WinCE 下的连接方式和在 Windows 平台下的连接方式略有 区别,请仔细看代码。 ) 在窗体加载的时候根据各个控制板的序列号定义控制板(Phidgets 板子上都有一个白色的 标签,S/N:后面的那串数字就是控制板的序列号) private void frmMain_Load(object sender, EventArgs e)try/初始化1014ifkit_1014_1 = new InterfaceKit();ifkit_1014_1.Attach += new AttachEventHandler(ifkit_1014_1_Attach); ifkit_1014_1.open(SysInfo.SN_1014_1);/ SysInfo.SN_1014_1 是从配置文件获取的控制板序列号/初始化1125ifkit_1125 = new InterfaceKit();ifkit_1125.Attach += new AttachEventHandler(ifkit_1125_Attach);ifkit_1125.Detach += new DetachEventHandler(ifkit_1125_Detach);ifkit_1125.SensorChange += new SensorChangeEventHandler(ifkit_1125_SensorChange);ifkit_1125.InputChange += new InputChangeEventHandler(ifkit_1125_InputChange);ifkit_1125.open(SysInfo.SN_1011); / SysInfo.SN_1011是从配置文件获取的控制板序列号catchMessageBox.Show(“初始化设备失败!“); /1014 的连接事件private void ifkit_1014_1_Attach(object sender, AttachEventArgs e)if (InvokeRequired)Invoke(new AttachEventHandler(ifkit_1014_1_Attach),new object sender, e );elsehttp:/www.dengfengsoft.com/1125 的连接事件#region 1125 eventsprivate void ifkit_1125_Attach(object sender, AttachEventArgs e)if (InvokeRequired)Invoke(new AttachEventHandler(ifkit_1125_Attach),new object sender, e );elseInterfaceKit ifkit_1125 = (InterfaceKit)sender;ifkit_1125.ratiometric = true;if (ifkit_1125.sensors.Count 0)for (int i = 0; i ifkit_1125.sensors.Count; i+)ifkit_1125.sensorsi.DataRate = 32;/数据传输率ifkit_1125.sensorsi.Sensitivity = 5;/敏感度 1=1秒刷新一次,10=10秒刷新一次 void ifkit_1125_Detach(object sender, DetachEventArgs e)if (InvokeRequired)Invoke(new DetachEventHandler(ifkit_1125_Detach),new object sender, e );else/attachedLabel.Text = “Not Attached“;/接收并显示温度和湿度void ifkit_1125_SensorChange(object sender, SensorChangeEventArgs e)if (InvokeRequired)Invoke(new SensorChangeEventHandler(ifkit_1125_SensorChange),new object sender, e );http:/www.dengfengsoft.comelseswitch (e.Index)case 0:double tmp = (e.Value * 0.22222) - 61.11;lblTemp.Text = tmp.ToString(“0.#“) + “;/sense0.Text = “ + e.Value;break;case 1:double hum = (e.Value * 0.1906) - 40.2;lblHumb.Text = hum.ToString(“0.#“) + “%湿度“;/sense1.Text = “ + e.Value;break; void ifkit_1125_InputChange(object sender, InputChangeEventArgs e)if (InvokeRequired)Invoke(new InputChangeEventHandler(ifkit_1125_InputChange),new object sender, e );else#endregion/实现按钮开关电源事件: private void bt1014_1_1_switchButtonClick(int switchStatus)/switchStatus = 1 ? this.ifkit_1014_1.outputs0 = true : this.ifkit_1014_1.outputs0 = false;tryif (switchStatus = 1)this.ifkit_1014_1.outputs0 = true;/打开电源elsehttp:/www.dengfengsoft.comthis.ifkit_1014_1.outputs0 = false;/关闭电源catch 天邦登峰 Phidgets1014 的连线及其使用方法请参考: http:/www.dengfengsoft.com/docs/web/dengfengsoft_phidgets1014.htm本文完整源码和驱动文件(C#) http:/www.dengfengsoft.com/docs/Dengfengsoft_WinCESmartHome.zip
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号