- Необходимые материалы
- Предварительные требования
- Установите TTS Engine (Espeak) для Raspberry Pi
- Создание графического интерфейса для говорящего будильника Raspberry Pi
- Разработка графического интерфейса с использованием Qt Designer
« Доброе утро. Сейчас 7:00. Погода в Малибу 72 градуса, облака редкие. Условия для серфинга удовлетворительные, с высокими стропами от талии до плеч. Прилив будет в 10:52. ». Каждый раз, когда я слышу этот голос Джарвиса в фильме «Железный человек», у меня мурашки по спине. Я уверен, что многие, как и я, мечтали о такой изысканной жизни, как Тони Старк. Но, к сожалению, мы не продвинулись в разработке технологии миниатюрного дугового реактора или такого умного ИИ, как JARVIS. Но можно заменить наши скучные утренние будильники на такие же, как у Джарвиса, на Raspberry Pi. В конце этого проекта мы создадим очень простой графический интерфейс, с помощью которого мы сможем установить будильник, и когда будильник сработает, у нас будет голос, который сообщает нам текущее время и день с некоторым заранее определенным текстом. Звучит круто! Итак, давайте построим один.
Необходимые материалы
- Raspberry Pi
- 3,5-дюймовый ЖК-экран TFT
- Оратор
- Кабель AUX
- Интернет-соединение
Предварительные требования
Предполагается, что на вашем Raspberry Pi уже установлена операционная система и он может подключаться к Интернету. Если нет, перед продолжением следуйте руководству «Начало работы с Raspberry Pi». Здесь мы используем Rasbian Jessie, установленный Raspberry Pi 3.
Также предполагается, что у вас есть доступ к вашему пи либо через окна терминала, либо через другое приложение, с помощью которого вы можете писать и выполнять программы на Python и использовать окно терминала.
Вы также можете узнать, как подключить 3,5-дюймовый TFT-дисплей к Raspberry Pi, поскольку мы будем использовать его в этом проекте.
Установите TTS Engine (Espeak) для Raspberry Pi
Как сказано в заголовке проекта, мы собираемся построить говорящие часы. Чтобы заставить ваш Pi говорить, нам нужен механизм преобразования текста в речь (TTS). Есть так много вариантов на выбор, но для простоты я выбрал Espeak Engine. Чтобы установить Espeak на свой Pi, просто выполните следующую команду на своем терминале
sudo apt-get install espeak sudo apt-get install espeak python-espeak
Создание графического интерфейса для говорящего будильника Raspberry Pi
Для этого проекта нам нужно разработать графический интерфейс, представляющий будильник, чтобы пользователь мог видеть текущее время, а также устанавливать будильник. Существует множество вариантов разработки графического интерфейса с использованием Python, но наиболее популярным и универсальным является PyQt4, поэтому мы будем использовать его для разработки нашего графического интерфейса. В следующих нескольких заголовках мы обсуждаем, как использовать PyQt4 для создания собственного графического интерфейса пользователя, но если вам это не интересно, вы можете сразу перейти к заголовку « Программа для разговора с будильником ».
Установка PyQt4 с помощью Qt Designer на ваш компьютер с Windows
Поскольку мы разрабатываем графический интерфейс, мы сначала начнем программирование на нашем ноутбуке (Windows / Linux), а затем перенесем этот скрипт python для работы на нашем Pi. Поскольку PyQt4 имеет очень хорошую переносимость, большинство разработчиков делают это, поскольку разработка выполняется легко и быстрее на ноутбуке, а не на Raspberry Pi.
Я установил пакеты python и PQt на свой компьютер с Windows; если вас это не интересует, вы можете разработать свой графический интерфейс на самом raspberry pi, просто пропустив этот шаг. Чтобы установить PQt в Windows, загрузите этот exe-файл и во время процедуры установки убедитесь, что вы проверили программное обеспечение разработчика Qt, поскольку мы будем использовать его в нашем проекте.
Установка PyQt на машины Pi / Linux / MAC
Чтобы установить PyQt на Linux, просто запустите следующую строку в своем командном терминале
sudo apt-get install python-qt4
Разработка графического интерфейса с использованием Qt Designer
Одним из заметных преимуществ использования PyQt4 для ваших графических интерфейсов является то, что в нем есть дизайнерское программное обеспечение Qt. Это программное обеспечение можно использовать для создания кнопок, дисплеев, текстов и другой графики, просто перетаскивая объекты на экран и размещая их там, где это необходимо. Это экономит нам много времени, поскольку нам не нужно вручную указывать размер и положение объектов на экране. Я установил конструктор Qt вместе с Python и PyQt4 на свой ноутбук с Windows, используя exe-файл, как описано в предыдущем абзаце. После установки откройте свой Qt Designer, и вы увидите этот экран.
С левой стороны вы можете найти макет, разделители, кнопки и другие элементы, которые вы можете просто использовать, перетаскивая их в свое окно. Вы также можете настроить объекты по своему усмотрению с помощью окон справа. Я использовал 7-сегментный ЖК-дисплей, кнопку, текстовую строку и объект установки времени, чтобы создать пользовательский интерфейс для нашего будильника. После использования макетов для размещения всех объектов в нужном месте и размера мое окно выглядело примерно так, как показано ниже
Когда ваш графический интерфейс будет готов, вы можете сохранить свой дизайн как файл .ui . Позже, в любое время, когда вы захотите внести изменения в свой графический интерфейс, вы можете просто открыть этот файл и внести изменения, не прокручивая программу вверх и вниз. Если вы хотите внести какие-либо изменения в этот дизайн, можно скачать файл.ui для разговорных часов. Как только вы будете удовлетворены дизайном графического интерфейса, вы можете экспортировать его как код Python, откуда вы можете начать программирование на Python.
Я знаю, что многие вещи здесь пролетели бы у вас в голове, но невозможно объяснить, как использовать библиотеку Qt4 в одном руководстве. Вы можете обратиться к серии руководств по sentdex PyQt4, чтобы узнать