def post(self): init() sleep_time = 0.1 #1.使用get_argument获取url query参数 arg = self.get_argument('k') if(arg=='w'): forward(sleep_time) elif(arg=='s'): reverse(sleep_time) elif(arg=='a'): left(sleep_time) elif(arg=='d'): right(sleep_time) elif(arg=='q'): pivot_left(sleep_time) elif(arg=='e'): pivot_right(sleep_time) elif(arg=='z'): p_left(sleep_time) elif(arg=='x'): p_right(sleep_time) elif(arg=='u'or arg=='i' or arg =='o' or arg == 'p'): result = {'u':"可回收物",'i':"厨余垃圾",'o':"有害垃圾",'p':"其他垃圾"} p = result[arg] lid = Steer(p) lid.open() time.sleep(5) # 打开5秒 lid.close() else: return False self.write(arg)#向前端返回信息
def ai_work(): wakeup.detector.terminate() # 结束监控热词 wakeup.snowboydecoder.play_audio_file() # ding一声 led1.set_on() # 开灯 # 1.录 用户语音 state = userrecord.record() if state == False: # 唤醒后太久没说话 led1.set_off() return led1.set_off() led2.set_on() # 2.用户语音 转 文字 ai_text = "你说什么" user_text = iFlytekVoiceTrans.get_usertext() # 获得语音的文字结果 #user_text = duvoice.speech_to_text() # 3.获得 AI文字 if user_text == '': # 录音结果有误 print("AI说: " + ai_text) baiduvoice.text_to_speech(ai_text) else: # 结果无误 result = classify.get_type(user_text) # 从话中提取垃圾种类 if result == False: # 没有说任何垃圾 ai_text = aibrain.ai_think(user_text) # 思知机器人回答 # 4.AI文字 转 语音 baiduvoice.text_to_speech(ai_text) else: if result[0] != None: print(result[0] + '是' + result[1]) ai_text = result[0] + '是' + result[1] + ',' + result[ 1] + '箱已打开' # 回答xx是xx垃圾 else: print(result[1] + "箱已打开") ai_text = result[1] + '箱已打开' # 4.AI文字 转 语音 baiduvoice.text_to_speech(ai_text) lid = Steer(result[1]) # 垃圾种类对应的盖子 lid.open() time.sleep(5) # 打开5秒 lid.close() led2.set_off() # 关灯