Создаем пульт для телевизора при помощи Python и смартфона

Рассказывает Энтони Шоу


Вряд ли кто-то вспоминает о Python, когда речь заходит о мобильной разработке. И очень зря, у нас даже есть статья, посвященная этому вопросу: для Python тоже существуют инструменты, способные преобразовать ваш код для работы под iOS, Android или Windows Phone.

В этом руководстве я покажу вам, как создать простой пульт (роль пульта будет выполнять iPhone)  для телевизоров Panasonic Viera.

Нам понадобятся:

  • Xcode, так как мы пишем для iPhone, но пульт также можно сделать и для Android, об этом мы поговорим в конце;
  • Желательно Python 3.5;
  • Телевизор Panasonic Viera с возможностью подключения к сети.

Создаем проект

Загружаем себе Briefcase — инструмент для конвертирования проект на Python в нативные приложения. Сделать это можно следующим образом: pip install briefcase. Далее создаем новую папку для нашего проекта mkdir tv_remote, внутри нее создаем папку Remote с файлами __init__.py и app.py. __init__.py может быть пустым, а вот в app.py нужно написать следующее:

Теперь создадим файл setup.py. В нем мы будем описывать для какой платформы создается приложение. Обозначим pip пакеты, которые мы будем использовать. Нам понадобятся библиотека toga UI и библиотека для управления телевизором — PyViera.

После этого ваша директория должна выглядеть следующим образом:

python android briefcase

Теперь внутри папки tv_remote запускаем команду python setup.py ios, которая загрузит необходимые компоненты и создаст xcode проект.

python android briefcase

Запустим проект. Создастся симулятор iPhone и наше приложение.

python android briefcase

Создаем пульт

Давайте добавим кнопку (цифра 5) для переключения канала.

Перезапустим приложение. Если все работает, вы должны увидеть следующее сообщение:

python android briefcase

Теперь включаем телевизор и пробуем нажать цифру 5!

Создаем остальные кнопки

Так как Toga позволяет применять CSS стили для выравнивания, мы создадим 5 рядов кнопок и расположим их как на реальном пульте от телевизора.

Перезапустим приложение и — вуаля — работающий пульт для телевизора!

python android briefcase

Что делать, если у вас Android?

Вернемся к моменту, когда мы работали с setup.py, и теперь вместо python setup.py ios запустим python setup.py android. После этого briefcase создаст для вас Android проект.

Перевод статьи «Making a TV remote in Python»