Умный дом
April 9

OrangePi Zero 3: пошаговая установка Debian Bullseye Server

Не так давно я поделился с вами, какие устройства использую в своей экосистеме умного дома, а перед этим рассказывал о том, какие вообще системы для умного дома бывают. Но, как говорится, "теория без практики — что торт без вишенки". Пора от слов переходить к делу!

Сегодня мы установим на OrangePi Zero 3 (или, как его ласково называют, "Апельсинка") операционную систему. Выбор падёт на Debian Bullseye, и именно серверный вариант! Почему же стоит предпочесть именно его? Всё просто: серверная версия Debian Bullseye не содержит графического интерфейса, что делает её максимально лёгкой и быстрой. Она идеально подходит для устройств, которые выполняют конкретные задачи, например, для работы в качестве сервера или хаба умного дома. Никаких лишних программ, только самое необходимое — это экономит ресурсы и делает систему более стабильной.

Для работы нам понадобятся: сама "апельсинка", SD-карта объёмом 64 ГБ (это оптимальный выбор для комфортной работы), кардридер, программа для записи образов, SSH-клиент (я предпочитаю MobaXTerm, но Putty тоже подойдёт) и немного времени. Ну что, приступим?

Шаг №1: Скачиваем образ

Для начала скачиваем образ Debian Bullseye по этой ссылке . Пока файл размером 470 МБ загружается, скачайте USBImager — отличную утилиту для записи образов.

Чем USBImager хорош? В отличие от Win32DiskImager, которая показывает все подключённые диски (и повышает риск случайно затереть важные данные), USBImager отображает только USB-флешки. Это особенно удобно, если у вас много подключённых устройств.


Шаг №2: Записываем образ

Когда всё скачалось, распакуйте архив с образом, запустите USBImager, вставьте SD-карту в картридер и подключите его к компьютеру. Выберите букву, которую Windows присвоила вашей карте, и нажмите кнопку Write . Через несколько минут образ будет записан, и можно переходить к следующему шагу.


Шаг №3: Первый запуск

Теперь вставляем SD-карту в нашу «апельсинку», подключаем её к питанию и ждём, пока устройство загрузится. В этот момент самое время насладиться чашечкой кофе — пусть OrangePi сам разберётся с первичной загрузкой.

После загрузки нужно узнать IP-адрес, который был выдан устройству. Для этого можно воспользоваться маршрутизатором: зайдите в его веб-интерфейс (обычно адрес 192.168.0.1 или 192.168.1.1) и найдите список подключённых устройств. Или, если вы любите командную строку, используйте утилиту arp -a на своём компьютере. Там вы увидите список всех устройств в сети с их IP-адресами.


Подключение через SSH

Как только вы узнали IP-адрес, подключайтесь к OrangePi через SSH-клиент. Например, в MobaXTerm просто создайте новое SSH-подключение, указав IP-адрес и порт 22.

По умолчанию для входа используются следующие учётные данные:

  • Логин: root, пароль: orangepi.
  • Логин: orangepi, пароль: orangepi.

Оптимизация производительности

Я решил немного оптимизировать работу процессора на своей OrangePi. Для этого установил утилиту cpufrequtils:

apt update && apt install -y cpufrequtils

затем отредактировал конфигурационный файл:

nano /etc/default/cpufrequtils

И добавил следующие строки:

ENABLE=true

MIN_SPEED=500000

MAX_SPEED=1200000

GOVERNOR=conservative

Что это значит?

  • ENABLE=true — включает управление частотой процессора.
  • MIN_SPEED и MAX_SPEED — минимальная и максимальная частота процессора в герцах. Здесь я ограничил их до 500 МГц и 1.2 ГГц соответственно.
  • GOVERNOR=conservative — режим управления частотой, который увеличивает её только при необходимости, экономя энергию.

Оптимизация сети

Для улучшения работы сети я отредактировал файл /etc/sysctl.conf:

nano /etc/sysctl.conf

И добавил такие параметры:

net.core.netdev_max_backlog = 5000

net.core.somaxconn = 65535

net.ipv4.tcp_max_syn_backlog = 2048

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_keepalive_time = 300

net.ipv4.ip_local_port_range = 1024 65535

Эти параметры улучшают производительность сети:

  • net.core.netdev_max_backlog увеличивает очередь пакетов.
  • net.core.somaxconn позволяет принимать больше одновременных подключений.
  • tcp_max_syn_backlog увеличивает количество соединений в очереди.
  • tcp_fin_timeout уменьшает время закрытия соединений.
  • tcp_tw_reuse позволяет повторно использовать соединения.
  • tcp_keepalive_time определяет интервал проверки активности соединений.
  • ip_local_port_range расширяет диапазон доступных портов.

Применяем изменения:

sysctl -p


Отключение ненужных служб

Если вы, как и я, не планируете использовать Bluetooth и модем, их можно смело отключить:

systemctl disable --now bluetooth.service

systemctl disable --now ModemManager.service


Настройка имени хоста

Наконец, зададим имя хоста:

hostnamectl set-hostname orange-pi

echo 127.0.0.1 orange-pi > /etc/hostname

Здесь hostnamectl устанавливает имя хоста для системы, а echo добавляет его в файл /etc/hostname.

Заключение

Ну вот и всё! Мы успешно установили Debian Bullseye Server на наш OrangePi Zero 3 и провели его базовую оптимизацию. Теперь у вас есть мощная, но при этом лёгкая платформа для реализации любых идей в рамках умного дома. Будь то MQTT-сервер, медиацентр или даже собственный облачный хранилище — всё это теперь в ваших руках!