Оглавление:

Создайте свой собственный дисплей MQTT EInk для отображения времени, новостей и данных об окружающей среде: 7 шагов
Создайте свой собственный дисплей MQTT EInk для отображения времени, новостей и данных об окружающей среде: 7 шагов

Видео: Создайте свой собственный дисплей MQTT EInk для отображения времени, новостей и данных об окружающей среде: 7 шагов

Видео: Создайте свой собственный дисплей MQTT EInk для отображения времени, новостей и данных об окружающей среде: 7 шагов
Видео: Zigbee датчик климата SZ-T04 - быстрый отклик и гибкая настройка за небольшую стоимость 2024, Ноябрь
Anonim
Создайте свой собственный дисплей MQTT EInk для отображения времени, новостей и данных об окружающей среде
Создайте свой собственный дисплей MQTT EInk для отображения времени, новостей и данных об окружающей среде

«THE» - это мини-дисплей MQTT для отображения времени, новостей и экологической информации. Его концепция с 4,2-дюймовым экраном eInk проста - отображение информации на ротационной основе с обновлением каждые пару минут. Данные могут быть любыми - от заголовков последних новостей до вашего умного дома, использования энергии, реальных местных условий окружающей среды или просто времени - THE - Time, Headlines & Environment.

«THE» состоит из двух простых готовых компонентов (экран eInk InkyWHAT от Pimoroni и Raspberry Pi), код и напечатанный на 3D-принтере корпус имеют открытый исходный код, что позволяет вам модифицировать или переделывать свой собственный. Эта концепция исходит из давней традиции просмотра данных на экране, от таких систем, как телетекст, до любимого Chumby, и далее до Sony Dash, а затем и текущих версий Echo Show и Google Home. Тем не менее, существует потребность в простом информационном дисплее, который не прослушивает, не воспроизводит музыку или видео и не полагается на облачные данные. Что-то, что просто отображает информацию на красивом неосвещенном экране на виджетах, которые циклически меняются с заданными интервалами. Ярким примером является отображение состояния eInk с использованием InkyPhat, подробности см. На https://jsutton.co.uk/eink-mqtt-status/. Таким образом, имея в виду все это и некоторый код для работы над «THE», родился один холодный уик-энд в ноябре в глубинных районах Норфолка, когда мы думали о программе Connected Environments в Университетском колледже Лондона.

Шаг 1:

Image
Image

Шаг 2: материалы

Получение информации о времени, новостях и окружающей среде
Получение информации о времени, новостях и окружающей среде

Чтобы сделать THE вам необходимо:

  1. Raspberry Pi (ноль Пи или Пи 3) - мы использовали Пи 3 для нашего;
  2. Экран InkywHAT;
  3. При использовании Pi 3 - прямоугольный USB-кабель (чтобы кабель поместился в корпусе);
  4. Брокер MQTT - работает либо на вашем Pi, либо где-либо еще. Не волнуйтесь, если у вас его нет или вы не уверены, что такое MQTT, его быстро и легко настроить, а после установки он будет автоматически запускаться - взгляните на https://randomnerdtutorials.com/how-to-install -mo… для получения полного и простого руководства по запуску MQTT - в данном случае mosquitto на вашем Pi;
  5. Легкий в установке кейс - зайдите на сайт Thingiverse, чтобы загрузить и распечатать наш кейс с открытым исходным кодом. Наши бесплатные скрипты с открытым исходным кодом для сбора данных о времени, новостях и окружающей среде;

Шаг 3: Установка InkywHAT

Шаг первый: установка InkywHAT Первый шаг - установить и установить экран InkyWhat eInk. Вы можете установить библиотеки, необходимые для InkyWHAT, с помощью простого однострочного установщика.

Откройте новый терминал для подключения к вашему Pi и введите следующее, не забудьте ввести y или n при появлении запроса:

curl https://get.pimoroni.com/inky | трепать

Однострочный установщик помещает все необходимое для запуска и работы вашего экрана eInk, мы рекомендуем вам перейти к Pimoroni Getting Started with InkyWhat для получения дополнительной информации и примеров - просто чтобы проверить его работу.

Шаг 4. Получение информации о времени, новостях и окружающей среде

THE обновляет свою информацию посредством подписки на тему MQTT, наши пользовательские скрипты извлекают информацию из других источников и публикуют ее в этой теме, что позволяет использовать любое количество источников информации. Есть три основных файла: один для времени, второй для ленты новостей и третий для погодных условий.

Получение времени:

Все наши файлы доступны через githib Connected Environments для THE -

А пока - скачайте timetomqtt.py.

Скрипт получает текущее время и преобразует его в слова для отображения на THE - так, например, 12.14 вечера становится временем четырнадцать минут после двенадцати и так далее. В скрипте вам нужно отредактировать его, чтобы добавить свои собственные данные MQTT - мы выделили части для редактирования в коде. Скопируйте его на свой Pi в папке - мы используем / home / pi / scripts - это можно отключить либо через командную строку, либо через ftp через Filezilla или аналогичный.

Получение новостей:

Чтобы узнать новости, скачайте rsstomqtt.py. Скрипт получает последние новости от Sky и публикует их в MQTT для THE. Вы можете отредактировать источник новостей в файле, как требуется. Этот файл также можно скопировать, чтобы добавить любой RSS-канал прямо на ваш THE.

Как и раньше, в скрипте вам нужно отредактировать его, чтобы добавить свои собственные детали MQTT - мы выделили части для редактирования в коде.

Получение погоды:

Чтобы узнать погоду, загрузите darkskytomqtt.py. Вам необходимо зарегистрироваться, чтобы использовать Darksky API (не волнуйтесь, это бесплатно и позволяет до 1000 звонков в день, более чем достаточно для отображения последней погоды на THE). В нашем скрипте просто введите свой ключ DarkSky, который вы получите при регистрации в API, а также свою долготу и широту для местоположения, для которого вы хотите получить данные. Вы можете найти длинную и широту через https://github.com/ucl-casa-ce/THE Если все это новое, это может показаться сложным, но с небольшим проб и ошибок вы сможете редактировать файлы, писать ваш собственный и получите нужную информацию на THE в кратчайшие сроки.

Шаг 5: Установка THE

Когда у вас есть сценарии для сбора каналов, вам необходимо установить основной сценарий для запуска THE.

Скачать THE_pi_what.py

Как и в случае с другими скриптами, отредактируйте, где указано, и добавьте свои собственные данные MQTT. После редактирования скопируйте его на свой Pi вместе с другими скриптами.

Наконец, вам понадобятся шрифт и фоновое изображение: Загрузите hm.ttf (шрифт). Загрузите whatbackground.png. Они находятся в новой папке под названием «ресурсы» внутри папки сценариев, созданной на вашем пи - просто создайте новую папку и скопируйте файлы поперек.

Шаг 6. Запустите сценарии в установленное время

Скрипты запускаются в установленное время на пи через службу cron. Чтобы настроить это, просто войдите в свой Pi через ssh и введите

sudo crontab -e

Это устанавливает новый процесс cron - если будет предложено выбрать опцию «2» для редактирования с помощью nano - скопируйте следующее в файл cron и сохраните (cntl x).

* / 5 * * * * python3 /home/pi/scripts/timetomqtt.py

* / 12 * * * * python3 /home/pi/scripts/rsstomqtt.py

* / 18 * * * * python3 /home/pi/scripts/darkskytomqtt.py

@reboot sleep 10 && python3 /home/pi/scripts/THE_pi_what.py

Скрипты запускаются в установленное время - измените их на любое время по желанию. Мы перезагружаем пи каждый час, чтобы все было свежим - это не требуется, и мы знаем, что это не лучшая практика, но мы обнаружили, что он поддерживает работу для наших целей.

Шаг 7: перезагрузка

Перезагрузить
Перезагрузить

Перезагрузите Pi, откиньтесь на спинку кресла и подождите - ваши ленты будут появляться в соответствии с временными интервалами, которые вы установили в своих скриптах cron.

Вы можете редактировать файлы и добавлять столько источников информации, сколько захотите. Сообщите нам, если вы его сделаете, отредактируете какие-либо сценарии или сделаете ремикс кейса.

Полную информацию и многое другое также можно найти на нашей странице Connected Environments в Университетском колледже Лондона - следите за мной - @digitalurban в твиттере, чтобы узнать обо всех обновлениях.

Рекомендуемые: