Доска сообщений на холодильник из Amazon Kindle.

Опубликовано 05.08.2015 пользователем Johhny


Что можно сделать из старой электронной книги и Raspberry Pi? У многих из нас есть куча неиспользуемых старых девайсов, которые ждут пока их разберут или превратят во что-нибудь полезное. [petervojtek] выбрал второй вариант и превратил свою электронную книгу Amazon Kindle 4 в доску сообщений на холодильнике. Немного программирования на Ruby и сообщения, отправляемые по email, будут автоматически отображаться на дисплее читалки. Приклеиваем на Киндл немного магнитной ленты и получаем холодильник для гиков.

 

доска сообщений на холодильник из Amazon Kindle

 

Электронная книга хорошо подходит для превращения в доску сообщений на холодильник благодаря низкому энергопотреблению. Основная идея разработки наглядно показана на рисунке ниже.

 

основные этапы

Итак.

  1. Отправляем email на myfridge@gmail.com c прикрепленной картинкой.
  2. Ваше письмо появляется в почтовом ящике gmail.
  3. Веб-сервер на Raspberry Pi проверяет наличие новых писем через IMAP и отображает последнее как веб страницу.
  4. Kindle подключен по Wi-Fi. Браузер на читалке показывает последний email. Javascript и Ajax будут обновлять контент при поступлении нового сообщения.

 

Шаг 1: Отправляем email на myfridge@gmail.com

Для начала нам понадобится создать новый аккаунт для нашего холодильника на gmail.com, например myfridge@gmail.com. Любое письмо отправленное на созданный адрес электронной почты будет отображено на холодильнике. Главное не делиться в интернете своим ящиком, иначе придется читать познавательные и не очень спам-сообщения))

 

Шаг 2: Email появляется на вновь созданном ящик в Inbox

Здесь за нас все сделала  команда  Google.

 

Шаг 3a: Устанавливаем зависимости на Raspberry Pi
Можно использовать любой доступный сервер с поддержкой языка программирования Ruby т.к. именно на нем написано серверное ПО. Приложение получает последний email и преобразует его в HTML страницу. У многих, как и у автора проекта, уже имеется Raspberry Pi, подключенный к домашней сети. На нем нам необходимо установить сам Ruby

$ apt-get install ruby

И два гема

$ gem install gmail
$ gem install sinatra

Затем копируем исходный код серверного приложения:

$ git clone https://github.com/petervojtek/email-to-kindle-on-fridge.git
и переходим в скопированную папку
$ cd email-to-kindle-on-fridge

Шаг 3b: Запускаем веб-сервер на Raspberry Pi

Исходный код для веб-сервера хранится в файле email-to-kindle-webserver.rb. Для начала пробуем запустить его командой:

$ ruby email-to-kindle-webserver.rb myfridge password

где myfridge password логин и пароль от почтового ящика соответственно.

Если все заработало, то настраиваем автозапуск веб-сервера (например при перезагрузке RPi). Для автозапуска приложения можно использовать supervisord, прописав в /etc/supervisor/conf.d/email-to-kindle-webserver.conf следующую конфигурацию:

[program:email-to-kindle-webserver]
command=ruby email-to-kindle.rb myfridge password
autostart=true
startsecs=1
startretries=1
user=your_rpi_login_name
directory=/path/to/email-to-kindle/repo

Шаг 4: Настраиваем Kindle на показ сообщений.

Подключаем электронную книгу по wi-fi к той же сети, что и Raspberry Pi. Затем нам понадобится отключить у Kindle скринсейвер, чтобы он не вошел в спящий режим через 10 минут. Для отключения скринсейвера выполняем следующие шаги:

  1. Нажимаем кнопку Home  и попадаем в домашнюю директорию.
  2. Нажимаем кнопку клавиатуры. Появится виртуальная клавиатура.
  3. Вводим следующую строку: ;debugOn и нажимаем Enter (не Done).
  4. Затем вводим следующую строку: ~disableScreensaver и нажимаем Enter.

Теперь можно запускать Kindle браузер перейдя в Menu > Experimental > Web Browser. В браузере вводим следующий адрес http://rpi_ip_address:1212/email . Лучше сохранить этот адрес в закладки, чтобы не набирать его каждый раз на виртуальной клавиатуре.

Вот и все! В браузере должны начать отображаться мейлы, отправленные на вновь созданный почтовый ящик. При небольшой доработке такой связке можно придать гораздо больше функциональности. Например, сделать погодную станцию или парсить и выводить на дисплей полезные данные из интернета.

Описание проекта в оригинале и комментарии к исходному коду, пропущенные в переводе можно посмотреть в блоге автора. Все исходники проекта можно найти в Git-репозитории.

 


  Микрокомпьютеры

  wi-fi, raspberry pi, ruby, amazon kindle, email, холодильник, дисплей, доска сообщений, gmail