3

I have an error when I run my custom voice assistant program on Raspberry Pi 3B .This script is made from two programs from examples(assistant_library_demo.py and cloud_speech.py).Consequently the script does the both functions from those examples.

This is how the program code looks like:

import argparse
import locale
import logging
import RPi.GPIO as GPIO
from gpiozero import Servo
import signal
import sys
from google.assistant.library.event import EventType
from aiy.assistant import auth_helpers
from aiy.assistant.library import Assistant
from aiy.board import Board, Led
from aiy.cloudspeech import CloudSpeechClient
import aiy.voice.tts

def get_hints(language_code):
    if language_code.startswith('en_'):
        return ('turn on the light',
        'turn off the light',
        'blink the light',
        'goodbye',
        'repeat after me',
        'lights on',
        'lights off',
        'minimum',
        'middle',
        'maximum')
    return None

def locale_language():
    language, _ = locale.getdefaultlocale()
    return language

def process_event(led, event):
    logging.basicConfig(level=logging.INFO)
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
    GPIO.setup(24,GPIO.OUT)
    servo = Servo(6)
    parser = argparse.ArgumentParser(description='Assistant service example.')
    parser.add_argument('--language', default=locale_language())
    args = parser.parse_args()
    logging.info('Initializing for language %s...', args.language)
    hints = get_hints(args.language)
    client = CloudSpeechClient()
    logging.info(event)
    text = client.recognize(language_code=args.language,hint_phrases=hints)
    if 'lights on' in text:
        GPIO.output(24,GPIO.HIGH)
    elif 'lights off' in text:
        GPIO.output(24,GPIO.LOW)
    elif 'maximum' in text:
        servo.max()
    elif 'minimum' in text:
        servo.min()
    elif 'middle' in text:
        servo.mid()
    if event.type == EventType.ON_START_FINISHED:
        led.state = Led.BEACON_DARK # Ready.
        logging.info('Say "OK, Google" then speak, or press Ctrl+C to quit...')
    elif event.type == EventType.ON_CONVERSATION_TURN_STARTED:
        led.state = Led.ON # Listening.
    elif event.type == EventType.ON_END_OF_UTTERANCE:
        led.state = Led.PULSE_QUICK # Thinking.
    elif (event.type == EventType.ON_CONVERSATION_TURN_FINISHED
        or event.type == EventType.ON_CONVERSATION_TURN_TIMEOUT
        or event.type == EventType.ON_NO_RESPONSE):
        led.state = Led.BEACON_DARK
    elif event.type == EventType.ON_ASSISTANT_ERROR and event.args and 
        event.args['is_fatal']:
    main()
def main():
    credentials = auth_helpers.get_assistant_credentials()
    with Board() as board, Assistant(credentials) as assistant:
    for event in assistant.start():
        process_event(board.led, event)
            if name == 'main':
main()

This is how error text looks like: The error text when i run the sketch from python shell:

Backend terminated (returncode: -11) Fatal Python error: Segmentation fault

Thread 0x580fe470 (most recent call first):

File "/usr/lib/python3.5/threading.py", line 297 in wait File "/usr/lib/python3.5/threading.py", line 549 in wait File "/opt/aiy/projects-python/src/aiy/board.py", line 208 in _run File "/usr/lib/python3.5/threading.py", line 862 in run File "/usr/lib/python3.5/threading.py", line 914 in _bootstrap_inner File "/usr/lib/python3.5/threading.py", line 882 in _bootstrap

Thread 0x76f66640 (most recent call first): File "/usr/local/lib/python3.5/dist-packages-linux-armv7l/google/assistant/library/assistant.py", line 114 in exit File "/opt/aiy/projects-python/src/examples/voice/myassistant.py", line 96 in main File "/opt/aiy/projects-python/src/examples/voice/myassistant.py", line 99 in File "/usr/lib/python3/dist-packages/thonny/backend.py", line 1232 in _execute_prepared_user_code File "/usr/lib/python3/dist-packages/thonny/backend.py", line 1158 in wrapper File "/usr/lib/python3/dist-packages/thonny/backend.py", line 1171 in wrapper File "/usr/lib/python3/dist-packages/thonny/backend.py", line 1219 in execute_source File "/usr/lib/python3/dist-packages/thonny/backend.py", line 853 in _execute_source File "/usr/lib/python3/dist-packages/thonny/backend.py", line 840 in _execute_file File "/usr/lib/python3/dist-packages/thonny/backend.py", line 400 in _cmd_Run File "/usr/lib/python3/dist-packages/thonny/backend.py", line 217 in handle_command File "/usr/lib/python3/dist-packages/thonny/backend.py", line 162 in mainloop File "/usr/lib/python3/dist-packages/thonny/backend_launcher.py", line 70 in Use 'Stop/Restart' to restart the backend ...

The error text when I run the sketch from terminal:

Segmentation fault

I tried to search for this error in the web, but it gave no actual results. I hope you will help me to solve this issue.

DeshDeep Singh
  • 1,817
  • 2
  • 23
  • 43
ArduinoAz
  • 31
  • 1
  • 2
  • Please fix your code formatting – there's no way that's valid Python code. – AKX Mar 26 '19 at 11:01
  • Does this link relate to your error: https://stackoverflow.com/questions/43649159/python-3-4-crashes-when-producing-some-but-not-all-cartopy-maps-with-segment? – DeshDeep Singh Mar 26 '19 at 11:09

0 Answers0