今天是学习python的第十五天,由于昨天晚上居然停电了,没有办法做实验,所以没有成文章。今天测试了驾驶模式,但有问题,无法正常工作。而且还发现了一个问题,由于电机声音好大,语音唤醒小车和识别有非常的不准了。
由于驾驶模式,是将小车的语音模式下切换到独占的驾驶模式,进入驾驶模式之后,不再处理其它语音指令,只能是小车有关的。 这里面要用到多线程相关的知识。
先从简单的线程开始吧。
什么是线程,什么是多线程,线程之间怎么通信,同步这个是必须理解的。
按我自己的理解,这儿以小车为例,小车的动力系统,需要一个线程来处理
而叮当是一个主线程,动力系统是一个子线程。当小车听到“启动”时,激活进入驾驶模式,所以这个系统是一个多线程的。 主线程怎么与子线程通信呢?
这是我还要学习的,由于对整个系统还处理一知半解的状态,所以写出来的程序,没有达到理想的状态。
最后看看我写的一个小例子
# -*- coding: utf-8-*-
import threading
import time
class Xiaoche(threading.Thread):
def __init__(self, param):
super(Xiaoche,self).__init__()
self.event=threading.Event()
self.is_pause =False
self.is_stop = False
def run(self):
while True and not self.is_stop:
if self.is_pause== True:
self.setSpeed(0)
else :
self.setSpeed(100)
def setSpeed(self,speed):
print "设置速度",speed
time.sleep(1)
def forward(self):
print "前进"
def pause(self):
try:
print "停车"
self.is_pause =False
except:
pass
def exit(self):
print "退出"
self.is_stop=True
self.pause()
def resume(self):
self.is_pause = False
def test():
while True:
xiaoche=Xiaoche("haha")
xiaoche.start()
xiaoche.forward()
time.sleep(5)
xiaoche.exit()
if xiaoche.is_stop == True:
print "exit"
return
test()
print "退出驾试模式"
最后的运行结果是这样子的.
领取专属 10元无门槛券
私享最新 技术干货