Голосовое управление на основе SDK ОК Гугл (OK Google)

Модератор: immortal

Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение lanket » Ср окт 18, 2017 12:46 am

directman66 писал(а):winiso, winimage еще есть, или как вариант прямо из линукс снять копию dd
СпойлерПоказать

Код: Выделить всё

Создание образа жесткого диска

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
if=/dev/sda — копируем весь жесткий диск sda;
of=/mnt/backup/sda.img — копируем в /mnt/backup/sda.img;
bs=8M — задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
conv=sync,noerror — указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.
Для сокращения размера образа жесткого диска его можно сжать любым архиватором.

dd if=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img
Восстановление образа жесткого диска

Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror
При использовании сжатия параллельно необходимо разархивировать образ.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M
Линукс и в СмартХому линуксом останеться.
Всякие winiso подавай CD, winImage подавай букву диска тобиш раздел, а надо думаю весь диск слить.

Подцепил к малинке и вот результат, балуйтесь, дорабатывайте. Если это важно то флэшка с которой снят имидж восьмигиговая
GoogleDrive
YandexDisk
MailCloud

Рабочий скрипт на питоне:
СпойлерПоказать

Код: Выделить всё

#!/usr/bin/env python

# Copyright (C) 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


from __future__ import print_function

import argparse
import os.path
import json
# import urllib
import requests

import google.oauth2.credentials

from google.assistant.library import Assistant
from google.assistant.library.event import EventType
from google.assistant.library.file_helpers import existing_file


def process_event(event):
    """Pretty prints events.

    Prints all events that occur with two spaces between each new
    conversation and a single space between turns of a conversation.

    Args:
        event(event.Event): The current event to process.
    """
    
    if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
        print()

    print(event)

    if (event.type == EventType.ON_CONVERSATION_TURN_FINISHED and
            event.args and not event.args['with_follow_on_turn']):
        print()

    if event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED:
        isay = {"qry":event.args['text']}
        r = requests.get("http://192.168.1.255/command.php", params=isay)
        print(r.text)

def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawTextHelpFormatter)
    parser.add_argument('--credentials', type=existing_file,
                        metavar='OAUTH2_CREDENTIALS_FILE',
                        default=os.path.join(
                            os.path.expanduser('~/.config'),
                            'google-oauthlib-tool',
                            'credentials.json'
                        ),
                        help='Path to store and read OAuth2 credentials')
    args = parser.parse_args()
    with open(args.credentials, 'r') as f:
        credentials = google.oauth2.credentials.Credentials(token=None,
                                                            **json.load(f))

    with Assistant(credentials) as assistant:
        for event in assistant.start():
            process_event(event)


if __name__ == '__main__':
    main()
 
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение directman66 » Ср окт 18, 2017 7:47 am

lanket писал(а):Линукс и в СмартХому линуксом останеться.
Всякие winiso подавай CD, winImage подавай букву диска тобиш раздел, а надо думаю весь диск слить.
залил через win32image, на raspberry pi3 образ не запустился. я так понял у вас система стартует на малине, раз образ копировали малиной.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение lanket » Ср окт 18, 2017 7:50 am

directman66 писал(а):
lanket писал(а):Линукс и в СмартХому линуксом останеться.
Всякие winiso подавай CD, winImage подавай букву диска тобиш раздел, а надо думаю весь диск слить.
залил через win32image, на raspberry pi3 образ не запустился. я так понял у вас система стартует на малине, раз образ копировали малиной.
Не малина.

Orange pi zero 256 mb

На малине я лишь только образ снял. А имидж снят с флэшки от Orange pi zero 256 mb

Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение directman66 » Ср окт 18, 2017 7:58 am

а малина не заводится на этом образе?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение lanket » Ср окт 18, 2017 8:22 am

directman66 писал(а):а малина не заводится на этом образе?
Точно не знаю, но думаю что нет.
Могу вечером попробовать. Есть 1ая и 2ая малина, до третьей как-то недоапгрейдился.

Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение directman66 » Ср окт 18, 2017 8:38 am

наконец-то нашел вэб камеру как у автора ролика https://www.androidauthority.com/build- ... pi-770296/

Пошел заливать образ диска aiyprojects. Суть одна, только для малины. USB микрофоны с али уже больше месяца никак дойти не могут и треки не пробиваются.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение lanket » Ср окт 18, 2017 9:58 am

directman66 писал(а):наконец-то нашел вэб камеру как у автора ролика https://www.androidauthority.com/build- ... pi-770296/

Пошел заливать образ диска aiyprojects. Суть одна, только для малины. USB микрофоны с али уже больше месяца никак дойти не могут и треки не пробиваются.
У меня работает с Веб камерой a4tech. Помню недёшево брал ради качества. Ей уже лет 7 наверное.
Ну и не забыть настроить источник записи звука как сделать описано в инструкции

Кстати эта статья начинается с фразы что изначально гугловоды разрабатывали все это под raspberry pi 3 и что это должно работать на любом процессе ARM v7
A preview release of Google Assistant SDK working with Raspberry Pi 3 and other ARMv7 boards
Поэтому, как я понимаю, если хочется поэкспериментировать на 3 малине, надо просто повторить все шаги по установке питона, sdk и настройки звука. Ну и взять мой готовый питоновский скрипт. Который кстати отличается от оригинального лишь несколькими строчками.

На всякий случай опишу небольшие грабли в питоне. Там очень важно количество пробелов отступов строки, не табов а именно количество пробелов от начала строки.

Да и что немаловажно когда захотите чтобы это работало не в ручном режиме, а в качестве сервиса и запускалось автоматически после загрузки системы, в этой же замечательной статье есть рецепт в самом конце. Работает.

Для гуглассистента я делал, работает. А для Majordomo не делал так как на тот момент ещё не работало в полном объёме.


А ещё WiFi надо будет настроить. Либо через ethernet пользоваться. Хотя для стартовой настройки того же WiFi все равно придётся через ethernet по ssh программой armbian-config


Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение directman66 » Ср окт 18, 2017 11:38 am

Не хватает прав в консоли Гугл. Но вроде json файл положил куда следует. И вроде как api активирован.
СпойлерПоказать
Изображение
Отправлено с моего Redmi Note 3 через Tapatalk
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение nick7zmail » Ср окт 18, 2017 11:47 am

Через sudo запускали? Проверьте у пользователя, от имени которого запускаете, чтобы он состоял во всех группах, связанных с аудио и exec.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Сообщение lanket » Ср окт 18, 2017 11:52 am

directman66 писал(а):Не хватает прав в консоли Гугл. Но вроде json файл положил куда следует. И вроде как api активирован.
СпойлерПоказать
Изображение
Отправлено с моего Redmi Note 3 через Tapatalk
Через час где то буду у компа и смогу посмотреть в консоль что там.

Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Ответить