安装pip,这是一个包含很多python插件的库
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py
安装python插件
安装pyttsx
sudo pip install pyttsx
安装requests
sudo pip install requests
File: voice.py
#coding:utf-8 #支持汉字,coding声明语句必须放在文件首
#引用文件
import sys
import pyttsx
import time
import threading
import v0 #引用a.py,不能是数字名的文件,会直接加载py文件里的内容,如果有print,会直接执行
#支持汉语
reload(sys)
sys.setdefaultencoding('utf8')
air=v0.getA();#会执行函数里的print
#print(air)
s=15#延迟秒数
print 'start'
#延迟函数
def timer(x):
t=0
while t<s:
time.sleep(x)
t=t+1
print t
print 'end'
#语音函数
def action(str,ra):
engine = pyttsx.init()
rate = engine.getProperty('rate')
engine.setProperty('rate', rate-ra)
engine.say(str)
engine.runAndWait()
print str
def Tr():
#多线程
t=threading.Thread(target=action,args=('现在'+air+'---------我爱你,柏霖',10)) #传递参数
t1=threading.Thread(target=timer,args=(1,))
t.setDaemon(True)#在后台执行
#t1.setDaemon(True) #延迟函数必须在前端调用,持续占用内存,否则该程序会被释放
t.start()
t1.start()
File: v0.py
#coding:utf-8
import requests
import re
def getA():
#参数
post_param = {}
#用get方式传送dt给url,取消ssl验证
return_data = requests.get("http://www.air-level.com/air/yichang/",data =post_param, verify = False)
#获取网页返回的源码
text=return_data.text
#正则截取指定内容
result0 = re.findall('.*<h2>(.*)</h2>.*',text)
result1 = re.findall('.*<span class="aqi-bg aqi-level-5">(.*)</span>.*',text)
#打印
#print result0[0]
#for x in result1:
# print x
return result0[0]+result1[0]
#getA()
单片机上面可能缺少”text to speak”软件,需要安装espeak
aptitude是一个软件库,可以在线安装很多东西,而且可以在控制台实现窗口化,可以玩扫雷
sudo aptitude install espeak libespeak-dev gespeaker -y
播放语音
espeak -vzh “你好”
更新库
sudo aptitude full-upgrade