#python #raspberry-pi #google-assistant-sdk
#python #raspberry-pi #google-assistant-sdk
Вопрос:
Я использую Gogle Assistant SDK на моем raspberry pi в течение последних трех дней. Внезапно он перестал отвечать на запрос. Я использую образец hotword.py с некоторым пользовательским кодом.
Вот список всего, что я сделал, чтобы он перестал работать:
-Изменил мой код, управляющий моим светом, с использования os.system для запуска программы на управление светом непосредственно в программе. Это включало:
-Pip устанавливает RPi.GPIO в env / bin / активировать источник
-Импорт этой библиотеки в пример кода из Google
-Доступ к учетным данным для firebase из программы
После выполнения этих действий я перезагрузил pi, когда запускаю assistent при запуске с помощью this .sh
#!/bin/bash
source env/bin/activate
cd assistant-sdk-python/google-assistant sdk/googlesamples/assistant/library
python hotword.py --device-model-id {model id}
Он показывает этот ожидаемый результат, но игнорирует подсказки
ok (shown in below code)
device_model_id: {model id}
device_id: {device id}
ON_MUTED_CHANGED:
{"is_muted": false}
ON_MEDIA_STATE_IDLE
ON_START_FINISHED
Я вернул код и установил, но это не исправило его. Я не уверен, что это вызвало проблему, но я подумал, что это стоит упомянуть.
Я также увеличил чувствительность микрофона с помощью export ASSISTANT_MIC_SENSITIVITY =-6
Вот некоторые из hotword.py
# My imports
import RPi.GPIO as IO
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
#start my code --------------------------------------------------------
cred = credentials.Certificate('/path-to-certificate')
default_app = firebase_admin.initialize_app(cred, {
'databaseURL' : 'https://myproject.firebaseio.com/'
})
IO.setwarnings(False)
IO.setmode (IO.BOARD)
IO.setup(16,IO.OUT)
p = IO.PWM(16,50)
root = db.reference()
print("ok")
#end my code ----------------------------------------------------------
def process_event(event):
if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
print()
print(event)
if event.type == EventType.ON_DEVICE_ACTION:
for command, params in event.actions:
print('Do command', command, 'with params', str(params))
#My code start ----------------------------------------------------------------
if command == "action.devices.commands.OnOff":
if params['on']:
print('Turning the LED on.')
currentVal = root.child('currentVal').get()
onVal = root.child('onAngle').get()
if(currentVal != onVal):
root.child('currentVal').set(onVal)
root.child('value').set(onVal)
p.ChangeDutyCycle(float(onVal))
time.sleep(0.5)
p.ChangeDutyCycle(0)
else:
#same as above different angles
#My code end ------------------------------------------------------------------
Извините, если это слишком много кода, я понятия не имею, что вызывает проблему при прослушивании
Проблема все еще открыта на github по адресуhttps://github.com/googlesamples/assistant-sdk-python/issues/316 Похоже, что у людей проблема с sdk v.1.01, а не с v1. Мой микрофон работает, я проверил с помощью arecord.
Спасибо за любую помощь.