在看这篇文章之前,这两篇文章可能对你有帮助:使用智能音箱语音控制电脑开关机(必读,不然你可能听不懂我在说什么关于)语音控制-改装普通风扇(选读)先来看看效果:https://v.qq.com/txp/iframe/p...要完成这个有趣的实验,你需要的材料有:1.电烙铁2.8050三极管一个3.继电器一个4.路由器一个5.树莓派一个6.智能音箱一个(我用的是AmazonEchoDot2)7.一个普通台灯我用的是最基本的开关台灯,所以它只有一个开关按钮,也只有一个功能,那就是开关台灯(废话),现在我们要把它做成语音控制。既然我们可以让智能音箱和树莓派进行通信,那么我们只需要将台灯连接到树莓派上就可以达到我们的目的,所以我们需要一个可以和台灯并联并且可以接线的设备由RaspberryPi控制。那就是继电器。PS:为什么树莓派不能像控制风扇一样直接控制灯?因为台灯接的是220V的电压,所以树莓派的电压最高只有5V,树莓派的电流比较小。要用小电流控制大电流,就必须使用继电器。添加继电器后,电路图如下图所示。我们用的继电器就是这个小东西:但是因为我的台灯空间不够(如下图,我也打了一个孔方便拿取),我只好把这个继电器的芯子拆掉了,当然如果你的台灯够大,就不用考虑这个了。接下来说说继电器的使用(原理可以看上面的动图),其实很简单。将电灯开关的两根线接到COM端(普通触点)和NO端(常开端),DC+,DC-分别接树莓派的5V电源和地即可。然后将树莓派的任意一个GPIO引脚连接到继电器的控制端。该控制端可以控制NO端的开启和关闭。输入1时闭合,电路接通,灯亮。不过需要注意的是树莓派的GPIO口是3.3V的,需要转成5V来控制,怎么转?那就用上一节语音控制——改造普通发烧友讲的三极管吧。连接好后,如下图,我们完成了硬件工作,接下来就是软件工作了。其实就是让智能音箱识别出一个命令来控制开关,这和《使用智能音箱控制电脑开关机》中提到的一样。让树莓派用fauxmo来模拟很多智能设备。模拟配置如下:"MyLight":{"path":"/home/pi/Documents/fauxmo/src/fauxmo/plugins/MyLight.py","DEVICES":[{"name":"Light","port":49919,"on_cmd":"python2/home/pi/Documents/Automatic/GPIO13.pyon","off_cmd":"python/home/pi/Documents/Automatic/GPIO13.pyoff","state_cmd":""}]}这样,智能音箱会将设备名称识别为Light。所以当你说“开灯”的时候,它会执行on_cmd命令,(本例中我们路径指向的文件MyLight.py只是为了启动一个cmd命令)就是执行pythonGPIO13.pyon。对应的,“关灯”执行的是off_cmd命令。GPIO13.py只控制树莓派的开关,如下图,它接收两个参数,on或off。当参数为on时,向树莓派的GPIO33口输出高电平,灯亮。关闭时,输出低电平,灯熄灭。#-*-coding:utf-8-*-importRPi.GPIOasGPIOimporttimeimportsys#BOARD编号方法,基于插座引脚号GPIO.setmode(GPIO.BOARD)#输出模式GPIO.setup(33,GPIO.OUT)defturnOn():GPIO.output(33,GPIO.HIGH)defturnOff():GPIO.output(33,GPIO.LOW)ifsys.argv\[1\]=='on':turnOn()elifsys.argv\[1\]=='off':turnOff()重启fauxmo,让智能音箱再次搜索,就可以找到这个Light设备,然后说“开灯”,就可以享受这种折腾感的成就。最近我还发现亚马逊Alexa的手机软件也支持外网控制这些室内设备,如图。所以现在每当我想回宿舍的时候,在宿舍楼下的时候,我都会先点风扇,让它帮我开风扇,然后再点PC或者Laptop,看我是打游戏还是工作。如果是晚上,我也可以点击Light来开灯。这就是新时代的生活,你要赶上。无论设备多么普通,您都可以使用RaspberryPi使其变得智能。这是我们文章的结尾。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请在下方点赞或观看。如果您有任何问题,可以在下方留言区留言。我们会耐心解答!Python实战宝典(pythondict.com)不只是一个合集欢迎关注公众号:Python实战宝典
