OrangePi 5 plus how to

Автор: hostmarineoffice | Feb 01, 20


default credentials

root

orangepi

Используем сборку Orangepi5plus_1.2.0_ubuntu_jammy_server_linux6.1.43.7z

После входа по SSH
apt update

Инициализируем новый SSD диск

lsblk

sudo fdisk /dev/nvme0n1

g

n

1

Номер раздела 1 (Enter)

Начальный сектор - по умолчанию (Enter)

Показать таблицу разделов для проверки

p

Сохранение изменений

w

итого:

g

n

1

[Enter]

[Enter]

t

20

p

w

После этого:

Проверьте, что раздел создан

lsblk

Создайте файловую систему

sudo mkfs.ext4 /dev/nvme0n1p1

Добавьте метку

Создание файловой системы ext4 с меткой

sudo mkfs.ext4 -L “FT_orange_pi” /dev/nvme0n1p1

затем

orangepi-config

Далее идем в пункт

System → Install

Далее - выбираем п.4

  1. Boot from SPI

    Подтверждаем все, при запросе - Write the bootloader - отвечаем Yes

    После окончания этих действий можно вытаскивать microSD, система загрузится с NVMe

    смотрим интерфейсы Eth

    ip a

    выбираем нужный нам для портов, которые мы хотим использовать для внешнего коннекта и для коннекта в сеть управления
    обычно это

    enP4p65s0 - левый

    enP3p49s0 - правый

    Пример

    root@orangepi5plus:~# ip a

  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

  3. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever

  4. 2: enP4p65s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether c0:74:2b:fd:8d:e9 brd ff:ff:ff:ff:ff:ff

  5. inet 192.168.1.185/24 brd 192.168.1.255 scope global dynamic noprefixroute enP4p65s0 valid_lft 43155sec preferred_lft 43155sec inet6 fe80::16ce:1a2b:424b:8bec/64 scope link noprefixroute valid_lft forever preferred_lft forever

  6. 3: enP3p49s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether c0:74:2b:fd:8d:e8 brd ff:ff:ff:ff:ff:ff

Проверяем права доступа

ls -ld /etc/netplan

задаем права доступа

sudo chmod 755 /etc/netplan

Создаем и редактируем файл /etc/netplan/01-netcfg.yaml

sudo nano /etc/netplan/01-netcfg.yaml

network:

version: 2

ethernets:

enP4p65s0:

addresses: [192.168.100.40/24]

dhcp4: no

routes:

  • to: default

via: 192.168.100.1

nameservers:

addresses: [8.8.8.8, 8.8.4.4]

enP3p49s0:

dhcp4: true

Далее, задаем права этому файлу
sudo chmod 600 /etc/netplan/01-netcfg.yaml

sudo chmod 600 /etc/netplan/orangepi-default.yaml

sudo netplan apply

Установка ZeroTier

curl -s https://install.zerotier.com | sudo bash

sudo systemctl enable zerotier-one

sudo systemctl start zerotier-one

sudo zerotier-cli join [your-network-id]

Установка Mosquitto

sudo apt install mosquitto

Включаем автозапуск

sudo systemctl enable mosquitto

Запускаем брокер

sudo systemctl start mosquitto

Установка ffmpeg

sudo apt update

sudo apt install ffmpeg

Установка mediamtx

Скачаем ARM64 версию

wget https://github.com/bluenviron/mediamtx/releases/download/v1.5.1/mediamtx_v1.5.1_linux_arm64v8.tar.gz

Посмотрим содержимое архива

tar -tf mediamtx_v1.5.1_linux_arm64v8.tar.gz

Распакуем

tar -xzf mediamtx_v1.5.1_linux_arm64v8.tar.gz

Проверим, что извлеклось

ls -la

Переместим исполняемый файл:

Если файл называется mediamtx

sudo mv mediamtx /usr/local/bin/

sudo chmod +x /usr/local/bin/mediamtx

Проверим, что файл на месте и исполняемый

ls -la /usr/local/bin/mediamtx

Проверим версию

/usr/local/bin/mediamtx --version

Создаем файл службы

sudo nano /etc/systemd/system/mediamtx.service

Содержимое файла:

[Unit]

Description=MediaMTX

After=network.target

[Service]

ExecStart=/usr/local/bin/mediamtx

Restart=always

RestartSec=5

LimitNOFILE=65536

[Install]

WantedBy=multi-user.target

Активируем службу

Перезагружаем systemd

sudo systemctl daemon-reload

Включаем автозапуск

sudo systemctl enable mediamtx

Запускаем службу

sudo systemctl start mediamtx

Проверяем статус

sudo systemctl status mediamtx

Для проверки статуса служб
systemctl status mosquitto

systemctl status mediamtx

Расположение программ
which ffmpeg

which mosquitto

Проверьте, что службы включены для автозапуска

sudo systemctl is-enabled mediamtx

sudo systemctl is-enabled zerotier-one

Если нет - включите

sudo systemctl enable mediamtx

sudo systemctl enable zerotier-one

Создайте бэкап важных конфигураций

sudo tar -czf /root/configs_backup.tar.gz \

/etc/systemd/system/ \

/etc/netplan/ \

/usr/local/etc/ \

/etc/zerotier-one/

Автор: hostmarineoffice | Oct 07, 20


Создайте скрипт автопроверки

sudo tee /usr/local/bin/stream-check.sh > /dev/null << ‘EOF’

#!/bin/bash

if ! pgrep -f “ffmpeg.*192.168.40.146” > /dev/null; then

echo “$(date): Stream down, restarting MediaMTX” >> /var/log/stream-check.log

systemctl restart mediamtx

fi

EOF

sudo chmod +x /usr/local/bin/stream-check.sh

Добавьте в cron (каждые 5 минут)

echo “*/5 * * * * /usr/local/bin/stream-check.sh” | sudo crontab -