Пример #1
0
 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)#向前端返回信息
Пример #2
0
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()  # 关灯