python改造并语音控制普通台灯教程

发布时间:2024-12-25 15:15

Python程序员认证:通过学习Python语言并通过编程测试 #生活技巧# #工作学习技巧# #技能认证指南#

改造普通台灯 - 语音控制

阅读这篇文章前,这两篇文章可能对你会有所帮助:

利用智能音箱语音控制电脑开关机 (必读,否则你可能不知道我在说什么)

语音控制 - 改造普通风扇 (选读)

先看看效果:

完成这项有趣的实验,你所需要的材料有:

1.电烙铁

2.一个8050三极管

3.一个继电器

4.一个路由器

5.一个树莓派

6.一个智能音箱 (我使用的是亚马逊 Echo Dot2)

7.一个普通台灯

我使用的是最基本的开关台灯,所以它只有一个开关按钮,也只有一个功能,那就是开关台灯(废话),现在我们需要让它能够被语音控制。由于我们可以让智能音箱和树莓派通信,所以只需要让台灯连接树莓派就能达成我们的目的,因此我们需要有一个能和这个台灯并联,并且能够接线出来让树莓派控制的器件。那就是继电器。

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.py on", "off_cmd": "python /home/pi/Documents/Automatic/GPIO13.py off", "state_cmd": "" } ] } 123456789101112

这样,智能音箱就会把这个设备的名字识别为 Light. 因此,当你说

" turn on the light ",

它就会执行on_cmd命令,(在这个例子中,我们的path指向的文件MyLight.py即只是启动一个cmd命令而已)即执行 python GPIO13.py on . 相应地,"turn off the light"则执行off_cmd命令。

GPIO13.py 内只是控制树莓派的开关而已,如下所示,它接收两个参数,on或off. 当参数是on的时候,向树莓派的GPIO33口输出高电平,灯亮。Off的时候则输出低电平,灯灭。

# -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time import sys # BOARD编号方式,基于插座引脚编号 GPIO.setmode(GPIO.BOARD) # 输出模式 GPIO.setup(33, GPIO.OUT) def turnOn(): GPIO.output(33, GPIO.HIGH) def turnOff(): GPIO.output(33, GPIO.LOW) if sys.argv\[1\] == 'on': turnOn() elif sys.argv\[1\] == 'off': turnOff()

12345678910111213141516171819202122232425262728293031

重启fauxmo,让智能音箱重新搜索,就能找到这个Light的设备,然后说一句 “turn on the light”,就能享受这份折腾的成就感了。

最近我还发现,Amazon Alexa 的手机软件,还支持外网控制这些室内设备,如图。

在这里插入图片描述

因此,现在每当我要回到宿舍的时候,在宿舍楼下时,我都会先点击Fan,让它帮我开个风扇,然后根据我是要玩游戏还是要干活,再点击PC或Laptop. 如果是晚上,我还可以点击Light打开点灯。这就是新时代的生活,你得Catch Up。

无论是多么普通的设备,你都可以用一个树莓派把它变得智能。

我们的文章到此就结束啦,如果你希望我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦

有任何问题都可以在下方留言区留言,我们都会耐心解答的!

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典
阅读更多的 Python实战教程

原文出自Python实用宝典:Python 树莓派语音控制台灯

网址:python改造并语音控制普通台灯教程 https://www.yuejiaxmz.com/news/view/563034

相关内容

python语音控制 python语音控制智能家电
arduino语音控制led灯
离线语音控制台灯
语音控制台灯
树莓派打造智能语音控制系统
Python实时语音识别与网页控制
PyTorch项目实战开发教程:智能家居控制中心(python智能家居开发)
灯具的离线语音控制器制造技术
推荐开源项目:Dexter,您的语音控制助手
语音控制平台:智能生活的新引擎

随便看看