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

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

先看看效果:

完成这项有趣的实验,你所需要的材料有: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": ""

}

]

}

这样,智能音箱就会把这个设备的名字识别为 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()

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

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

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

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

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

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

Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

python语音设置_python 改造并语音控制普通台灯相关推荐

  1. python文字转语音输出_Python 文本转语音

    文本转语音,一般会用在无障碍开发.下面介绍如何使用Python实现将文本文件转换成语音输出. 准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了. ...

  2. python 语音交互_Python调用WIN10语音交互+识别+控制+自定义对话

    1 安装库文件 2修改两个地方 最简单的 # 将输入文字转化为语音信号输出 import speech while True: speech.say("请输入:") str = i ...

  3. python实现天气预报_python实现智能语音天气预报

    本系统主要包括四个函数: 1.获取天气数据 1.输入要查询天气的城市 2.利用urllib模块向中华万年历天气api接口请求天气数据 3.利用gzip解压获取到的数据,并编码utf-8 4.利用jso ...

  4. python文字转语音输出_Python文字转语音

    姓名:刘强 [嵌牛导读] 在搭建专家系统时,推理机运算往往采用语言变量,那么如何将推理的结果反映给现实世界的人呢?本文介绍了如何使用python将文字转化成语音输出 [嵌牛鼻子] Python   文 ...

  5. python说话语音代码_Python文字转换语音,让你的文字会「说话」,抠脚大汉秒变撒娇萌妹...

    APP 也有文字转换为语音的功能,虽然听起来很别扭,但是基本能解决长辈们看不清文字或者眼睛疲劳,通过文字转换为语音来获取信息. 我们用 Python 能否实现文字转语音呢,可以的,百度有个语音接口,可 ...

  6. python文字转语音女声_python文字转语音

    使用百度接口 接口地址 https://ai.baidu.com/docs#/TTS-Online-Python-SDK/top 安装接口 pip install baidu-aip from aip ...

  7. python 语音分段_Python pydub实现语音停顿切分

    将pcm文件批量处理成wav文件 import wave import os filepath = "data/" # 添加路径 filename = os.listdir(fil ...

  8. python数据分析设置_Python 数据分析系列之如何安装和设置 Python

    由于人们用 Python 所做的事情不同,所以没有一个普适的 Python 及其插件包的安装方案,接下来我将详细介绍各个操作系统上 Python 科学计算环境部署.我推荐免费的 Anaconda 安装 ...

  9. python图形设置_python学习笔记——基本图形绘制

    1.python蟒蛇python蟒蛇代码 #PythonDraw.py import turtle turtle.setup(650,350,200,200)# 设置画布的长.宽.起点 turtle. ...

最新文章

  1. extjs editgrid增加一行
  2. linux系统配置之开机启动过程(centos)
  3. 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页...
  4. Eclipse——WindowBuilder下载错误导致的安装失败解决方案
  5. ospf 环回口的路由条目_路由策略之重分发示例分析
  6. soap rest_REST是新的SOAP
  7. 3.Event Delegate
  8. 关于php反射机制的一些理解
  9. 企业wiki之confluence安装部署(linux)及其破解
  10. .NET Reflector 反射下载
  11. JavaScript进阶讲解六—>js函数式编程
  12. 计算机考试相关证书 (一)
  13. 【vue】pdf转图片
  14. 搜狗高速浏览器主页被篡改怎么办 搜狗浏览器中恢复被篡改主页的方法
  15. python视频分段_Python玩转视频处理(四):视频按场景进行分割
  16. 测试工程师的能力分类
  17. 线性回归模型的度量参数1- SST SSR SSE R-Squared
  18. python和java哪个更有潜力-Python和JAVA的就业前景哪个好点?
  19. HTTP Headers 入门
  20. EDA设计(verilog)—— 七段管时钟

热门文章

  1. Kubernetes 1.23:探索新边界
  2. python人工智能小程序_杭州python小程序
  3. java 8 第15篇 给定数字,输出先前的所有的质素和非质素(优化)
  4. 调研规则引擎用于八字命理
  5. c语言中null未声明,错误:此范围内未声明“NULL”(示例代码)
  6. STM32使用16M外部晶振时出现异常
  7. Android实现电话拨号器和短信发送器
  8. 如何创建Maven项目
  9. 关于gamil安全证书尚未生效的问题
  10. [原] 开源HTML文本编辑器--KindEditor