学会控制智能家电
基本原理:在arduino配置好代码,连接好电路,通过python向arduino在一定情况下传输某个信号,arduino在接收到指定信号时,执行指定动作。 1.环境配置:2.实现python控制arduino这里可以参考我的另一篇文章:http://www.enmaking.com/forum.ph ... ;tid=167&extra= 这样来实现python与arduino的交互,arduino可以控制众多的电器,比如:灯,舵机,风扇等,通过舵机的旋转实现可以开关门,打开关闭各种大型电器的电闸等等;
arduino的众多传感器配件也可以为 智能语音系统 提供相关数据,比如:空气湿度,温度等,让它能更好的来控制相关的电器,让实现智能家居一体化控制。
有很大的想象空间和发展空间,这里我仅仅实现通过语音控制arduino自带的LED灯的开关,其他的控制只需要以相同的原理配置即可。
a.python的代码: - import serial # 导入串口通讯库
- import time
-
- def try2():
- ser = serial.Serial("COM3", 9600, timeout=1)
- c = ''
- while 1:
-
- wakeup_co() #语音唤醒
- rec() #将语音转化为wav文件
- listenword = listen() #将wav文件中的语音转化为中文文字
- #这三个都是上面给出了的,需要自己命名后,导入
-
- if '灯' in listenword and '开' in listenword:
- c = '1'
- elif '灯' in listenword and '关' in listenword:
- c = '0'
- if (c == '0'):
- ser.write('0'.encode('utf-8'))
- if (c == '1'):
- ser.write('1'.encode('utf-8'))
-
- try2()
复制代码b.arduino的代码:
- void setup(){
- Serial.begin(9600);
- pinMode(13,OUTPUT);//设置13号端口作为输出端口
- //digitalWrite(13,HIGH);
- }
- char var;
- void loop(){
- while(Serial.available()>0)
- {
- var=Serial.read();
- if(var == '0'){
- digitalWrite(13,LOW);
- }
- if(var== '1'){
- digitalWrite(13,HIGH);
- }
- }
- }
复制代码
|