本文主要是介绍如何用Skype远程控制自制智能家居,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如何用Skype自己做智能家电控制
ByRichard Davis
Software Design Engineer at SharpLogic Software
本文介绍如何通过Skype发送命令远程控制家中的家用电器,比如:读取家里的温度、家里的音响正在播放什么歌曲,调节音乐的音量、照明、风扇的开、关,等等。
难度:中等
所需时间:3-6小时
成本:大约1500元
所需硬件:
8/8/8 Interface Kit. http://www.guigujianwen.com/2016/06/23/1018_2-phidgetinterfacekit-888/ 产品编号: 1018 含USB连接线.
| 温度传感器. http://www.dengfengsoft.com/ViewDetails138.aspx 产品编号: 1124
|
LED. http://www.dengfengsoft.com/ViewDetails238.aspx 数量: 4 产品编号:3600
| 压力传感器. http://www.dengfengsoft.com/ViewDetails151.aspx 产品编号: 1106
|
触摸传感器. http://www.dengfengsoft.com/ViewDetails148.aspx 产品编号: 1110
| 光传感器. http://www.dengfengsoft.com/ViewDetails135.aspx 产品编号: 1105
|
12Volt电脑风扇 (直流供电).
提示:可以从旧电脑中拆出来 (如果是 12Volt).
| 功率电晶体. 可到电子城购买,符合以下要求即可: · V(DS): 60 Volts · V(GS): +/-20 Volts 我们使用 STMicroelectronics P16NF06.
|
9V电池 (Phidget 8/8/8 digital输出还无法带动12V 风扇).
| 9V电池连接线.
|
硬件部分除了上述部件之外,还需要一些连接风扇与Phidget 8/8/8接口板的电线。
所需软件:
1. .NET Framework 2.0如果没有安装,请下载安装
2. Windows Media Player 10(或更高版本)
3. Phidgets驱动.
4. Phidgets编程.
5. Microsoft Visual C# or Visual Basic 2005 Express Edition(或更高版本)
6. Skype version 1.2.0.48或更高版本
7. 本文的程序源码C# VB
操作步骤:
1,用USB线连接PC和Phidget 8/8/8 接口板:
Figure1-连接到电脑USB口
Figure2 –连接到Phidget 8/8/8接口板
2,
把温度传感器连接线插入0口
把光传感器连接线插入1口
把压力传感器连接线插入2口
把触摸传感器连接线插入3口
如下图所示:
Figure3 –把传感器连接线连接到Interface Kit
完成后应该如下图所示:
Figure4–所有传感器已经连接
其他类型的传感器本文没有做示范,但如果大家感兴趣,可以到天邦登峰Phidgets查找所有的编程资源和范例源码.
下面我们来看看接口板的功能吧:
打开Samples.SkypeAutomationServer.sln工程文件(C#)默认路径“我的文档/MSDN/SkypeAutomationServer” ).按下 Ctrl+F5启动服务.
注意:如果你无法编译工程,请检查Phidgets硬件驱动 , Windows Media Player 10(或更高版本), Skype, and Microsoft .NET 2.0(或更高版本)是否安装。
Figure5 – Skype Automation Server显示 Phidget传感器开始读入数据
现在应该可以看到界面顶部的状态显示 “Phidget Controller Status: Connected”。可以测试其他的传感器看看数据是否已经读入。
连接指示灯
一般来说,设备加几个指示灯可以更清楚的反应设备的工作状态,也显得专业一些。
我们可以把 LEDs连接 Phidget 8/8/8的 2, 3, 4, and 5数据输出口。每个LED应该有电源和地线两端,地线是扁平的一端。
连接后应该如下图所示:
Figure6 - LEDs连接Interface Kit 2,3,4,5输出口
注意:电源端不要互相接触,地线端可以共用.
连接计算机风扇到Phidget 8/8/8输出口
连接图如下:
Figure7 - 计算机风扇、电池和 MOSFET的连接图
1. 把MOSFET的左右脚稍作弯曲。
Figure8 - MOSFET transistor |
Figure9 - MOSFET(稍作弯曲) |
2. 用导线将MOSFET的一端与Phidget 8/8/8的输出口的地线端连接。
Figure10 - MOSFET地线端连接
3. 把Phidget 8/8/8输出端 #1 连接到MOSFET另一端.
Figure11 - MOSFET与Phidget 8/8/8输出端#1连接
Phidget 8/8/8完整的连接图如下图所示:
Figure12 –Phidget 8/8/8和MOSFET连接
4. 把电脑风扇的导线末端外皮去除,如下图:
Figure13 –处理电脑风扇导线的两端
5. 把电脑风扇导线的正极与9伏电池的正极连接线连接.
Figure14 –电脑风扇正极导线连接
6. 将电池连接线的负极与MOSFET的地线端连接:
7.
Figure15 –电池连接线负极连接到MOSFET的地线端
8. 把风扇导线的负极连接到MOSFET中间的脚:
Figure16 –电脑风扇导线负极连接MOSFET中间脚。
9.最后一部把9V电池接入电池连接盖中。
系统硬件部分连接完毕!
测试Phidget 8/8/8接口板输出数据
打开 “Program Files/Phidgets/ProductionExamples/Visual Basic”运行 “interfacekit-controller.exe”
Figure17 - Interfacekit-Controller.exe测试软件
可以在软件上测试操作输出LED灯开关,#1口风扇开关指令。
运行Skype Automation Server服务器程序
运行前,我们看下Samples.SkypeAutomationServer.sln工程文件的配置文件 App.config文件。
<!—授权使用automation server的用户-->
<addkey="authorizedUser"value="rwdavis"/>
<!-- Temp sensor (p/n 1114) analog index on 8/8/8 interface kit -->
<addkey="tempSensorIndex"value="0"/>
<!-- Light sensor (p/n 1105) analog index on 8/8/8 interface kit -->
<addkey="lightSensorIndex"value="1"/>
<!-- Force sensor (p/n 1106) analog index on 8/8/8 interface kit -->
<addkey="forceSensorIndex"value="2"/>
<!-- Touch sensor (p/n 1110) analog index on 8/8/8 interface kit -->
<addkey="touchSensorIndex"value="3"/>
<!-- Step sensor (p/n 91252) analog index on 8/8/8 interface kit -->
<addkey="stepSensorIndex"value="4"/>
<!-- Digital output index of computer fan -->
<addkey ="computerFanIndex"value="1"/>
<!-- Temperature sensor threshold (Celsius) to turn on fan -->
<addkey="fanTempThreshold"value="26"/>
<!-- LED digital output index on 8/8/8 interface kit -->
<addkey="firstLEDIndex"value="5"/>
<addkey="secondLEDIndex"value="4"/>
<addkey="thirdLEDIndex"value="3"/>
<addkey="fourthLEDIndex"value="2"/>
你需要两个Skype账户,一个用在服务器端的Skype上,你需要把用户名输入到这个配置文件的 “authorizedUser” key上面.另一账户用在运行在远程客户端电脑的Skype上,需要添加服务器端的用户为联系人,这样你就可以发送命令消息到服务器端的Skype上了!
所有传感器所连接的Phidget 8/8/8端口号必须在这里设置好,如果你不是按照以上教程的连接端口连接,你需要在这里修改相应的 “Index”值 .
“fanTempThreshold”值是摄制温度值,当室内温度高于这个值时,电脑风扇自动启动。
Figure18 - Skype Automation Server服务器端
假定所有硬件设备都连接正确,软件配置也连接正确,我们就可以运行服务器端,并打开Skype客户端来发送指令了!
Figure19 - Skype客户端与 Automation Server服务器端交谈
如果输入 ‘GET PHIDGET HELP’就可以收到服务器返回的帮助菜单:
Figure20 - Skype Server “Help” response
如果你输入 ‘GET PHIDGET TEMP’可以收到服务器端返回的室内温度值:
Figure21 - Skype Server “Get Temp”回应
注意:如果没有这个命令,服务器端返回“Not implemented”.
你可以输入Type ‘GET STEREO SONG’可以查看WMP 正在播放的内容.
Figure22 - Skype Server “Get Song”回应
控制音量可以使用: ‘SET STEREO VOLUME’ 和一个百分比.比如设置 50% 的音量可以输入 ‘SET STEREO VOLUME 50’.
如果想实时接收服务器端的触摸传感器的触摸事件,那么可以输入:‘REGISTER PHIDGET TOUCH’,那么如果服务器端的触摸传感器被触发,客户端就有回应:
Figure23 - Skype Server “Register Touch”回应
你还可以输入“SET EXECUTE …”方法来打开服务器端的任何可执行软件,比如你可以输入“SET EXECUTE IEXPLORE” 来打开IE浏览器.
整个教程的运行原理图如下:
Figure24 –完整 Skype Automation Server原理图
这篇关于如何用Skype远程控制自制智能家居的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!