Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
mr.save

Как использовать информационный OLED-дисплей Pi-Hole с Raspberry Pi

Recommended Posts

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

В этой статье мы расскажем вам о том, как добавить информационный OLED-дисплей к системе Pi-Hole на базе Raspberry Pi.

Pi-Hole – это сетевой блокиратор рекламы, который можно запустить на Raspberry Pi. Он хорошо работает на всех моделях Pi и является идеальным решением для устаревшего оборудования. Узнать больше об этом блокираторе можно на официальном сайте Pi-Hole.

Установив Pi-Hole на Raspberry Pi B+, мы решили добавить к этой системе дисплей, который позволял бы видеть, как работает сетевой блокиратор. Поэтому мы подключили к ней дешевый 0.96-дюймовый OLED-дисплей, а также переключатель без фиксации положения. Последний позволяет при необходимости выводить на дисплей дополнительную информацию. Можно еще подключить светодиод для индикации, но это опционально.

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Информационный OLED-дисплей: установка оборудования

Список необходимого оборудования самый базовый:

  • Raspberry Pi (любая модель, идеально с портом Ethernet)
  • SD-карта (8Гб или больше; с 4Гб тоже будет работать)
  • Блок питания
  • Сетевое подключение:
  • кабель Ethernet
  • или встроенный WiFi
  • или USB WiFi адаптер
  • Монитор (опционально)
  • Клавиатура (опционально)
  • Корпус для Pi (опционально)

Для установки информационного дисплея понадобится:

  • OLED-дисплей с интерфейсом I2C 
  • Переключатель без фиксации положения 
  • Соединительные кабеля для подключения дисплея к ножке GPIO
  • LED и резистор (опционально)
  • Рамка или крепление для дисплея (опционально)

Установка и настройка Pi-Hole

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

  • Создайте новую карту Raspbian SD с образом Raspbian Lite и Etcher
  • Чтобы включить SSH, добавьте в загрузочный раздел пустой текстовый файл под названием «ssh»
  • Включите Pi с новой SD-картой
  • Измените пароль по умолчанию на свой
  • Запустите «sudo update», затем «sudo upgrade»
  • Получите IP-адрес Pi любым из следующих способов:
  • запустите ifconfig на Pi
  • найдите его в настройках роутера
  • воспользуйтесь сканером сети
  • (опционально) настройте ваш роутер таким образом, чтобы он всегда присваивал вашему Raspberry Pi один и тот же IP-адрес
  • Следуйте одной из инструкций по установке, описанной на 

    Скрытый контент

      Дайте реакцию на этот пост, чтобы увидеть скрытый контент.
    . Мы воспользовались методом автоматической установки (One-Step Automated Install)

Подсоединение экрана и переключателя

Переключатель мы подключили напрямую к ножке GPIO с помощью соединительных проводов, затем приклеили их к крышке с помощью двухкомпонентного эпоксидного клея.

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Дисплей, переключатель и светодиод подключались по такой схеме:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Экран подпитали от контакта 3.3V, светодиод — от ножки GPIO.

Настройка информационного OLED-дисплея

OLED-экраны, которые используют протокол I2C, очень просты в установке, так как их можно подключить напрямую к ножке GPIO с помощью соединительных кабелей.

Убедитесь, что дисплей рабочий, и что вы можете запустить нужные скрипты в Python.

Подключение переключателя

Переключатель можно подключить напрямую к ножке GPIO. Мы подключали его к GPIO21 (пин 40) и земле (пин 39). Скрипт определяет GPIO21 как «High», при нажатии на переключатель показатель будет меняться на «Low».

Установка скрипта Python

Скрипт Python использует Pi-Hole API. Это позволяет скрипту запрашивать текущие данные из Pi-Hole, а затем форматировать их для отображения на экране. Скачайте скрипт Python с помощью:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

и необходимый файл шрифта с помощью:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Затем сделайте так, чтобы Pi запускал его при запуске системы. Для этого нужно отредактировать cron с помощью:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

и добавить в конце строчку:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Ваш cron-файл будет выглядеть так:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Сохраните изменения и выйдите, нажав CTRL-X, Y и ENTER.

Перезагрузите Pi и через 30 секунд скрипт будет отображать информацию Pi-Hole. Эта задержка дает Pi время для подключения к сети, прежде чем он попытается запросить данные Pi- Hole. При нажатии на переключатель на экран будет выводиться дополнительная информация.

Рамка для OLED-дисплея

Черную рамку для дисплея мы напечатали на 3D-принтере, она будет обрамлять OLED-дисплей и его печатную плату. Экран нужно вручную разместить в правильное положение, а затем вклеить его в рамку. Сама рамка прикреплена к корпусу с помощью двухстороннего скотча.

STL-файл можно взять 

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.
.

Вот базовая анимация 3D-рамки:

Информационный дисплей Pi-Hole в действии

На дисплее будет циклично отображаться три окна:

Скрытый контент

    Дайте реакцию на этот пост, чтобы увидеть скрытый контент.

Каждое из окон отображается по 30 секунд, информация обновляется также каждые 30 секунд. Это – хороший признак того, что скрипт работает.

Дисплей 1 (главный)

  • Общий процент заблокированной рекламы
  • Общее количество заблокированной рекламы

Дисплей 2

  • IP-адрес
  • Процент заблокированной рекламы
  • Общее количество заблокированной рекламы
  • Общее количество запросов

Дисплей 3

  • IP-адрес
  • Загрузка процессора
  • Объем использованной памяти /Общий объем памяти
  • Объем использованного дискового пространства/Общий объем дискового пространства

Pi находится в корпусе «DesignSpark Вlack» от RS Components.

Мысли о блокировке рекламы

Мы решили попробовать Pi-Hole, так как у нас есть дети и нам нужно было средство для контроля домашней сети. Все действия были направлены на обеспечение безопасности детей, которые используют домашний Wi-Fi, а не для шпионажа за взрослыми.

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

Но выбор в конечном счете остается за вами.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...