{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Я собрал бюджетный набор для IRL-стриминга на Raspberry Pi. Часть вторая — пошаговая настройка Raspberry

Большое спасибо за комментарии и интерес к предыдущему посту. Эта статья продолжение моей истории про IRL-стриминг. Первая часть находится здесь. Сегодня расскажу, как шаг за шагом сделать из малины мобильный роутер с нуля.

Стартер пак бюджетной точки доступа

Многих заинтересовала идея создать точку доступа, которая будет помещаться в рюкзак или бардачок авто. Оказалось, что информации в свободном доступе недостаточно и она сложна для понимания новичками. У меня есть практический опыт настройки и я с радостью поделюсь с вами, но! Я считаю себя начинающим пользователем Linux, поэтому моя инструкция всего лишь моё видение настройки Raspberry Pi 4 и для матёрых линуксоидов она может показаться неполной (добавьте фишек в комментарии если знаете).

Нам понадобится:

1) Rasbperry Pi 4, 4GB + SD карта объёмом от 4GB с классом скорости от 6 и выше.

У меня такая малина, но скорее всего будет работать и на RP3. Насчёт SD карты для малины не рекомендую брать ноунем карты, медленная карта значительно снижает скорость работы и могут возникать рандомные ошибки. Также обязательно установите самый простой кулер в корпус малины!

2) Блок питания или Power bank с выходным током 5V 3A.

Мы собираемся подключать к малине модемы, раздавать с неё wi-fi и также нагружать систему. При падении напряжения произойдет отключение USB-портов и начнется троттлинг процессора. В качестве источника питания я использую Mi Power Bank Pro 3 20000 через порт type-c. Топовый гаджет, с ним можно заряжать ещё 1-2 устройства, а разрядить его полностью за 4-5 часов мне не удавалось.

3) USB-модемы свистки и/или смартфон с USB-кабелем.

Источники для будущего соединения подбирайте под свою задачу индивидуально. Проверенно работают модемы huawei E3372H и его аналоги. Модем нужен прошитый под Hilink, его можно найти на авито вашего города.Также любой подойдёт Андроид или Iphone в режиме USB-модема. Я использую связку модем и телефон с разными операторами. При использовании телефона вставляйте в него сим-карту самого быстрого оператора с поддержкой 4G+.

4) ПК с Windows/Mac с картридером.

Вся инструкция будет для винды. Уверен, что на маке можно сделать аналогично, но у меня ноутбук на винде.

Итак, снаряжение собрали, пальцы размяли и выделили парочку часов прекрасного времяпрепровождения в компании гаджетов, которые скоро мы заставим работать на нас!

Этап 1. Создание загрузочной карты для Raspberry Pi.

Самый простой этап, разминочный. Здесь всё просто и редко возникают проблемы. Я рекомендую использовать официальный софт Raspberry Pi Imager. Установить его и запустить.Выбрать Raspbian из списка систем. Образ скачается и установится автоматически. Посмотрите видео как это сделать:

Для новичков рекомендую использовать именно Raspberry Pi Imager. Есть альтернативные варианты, например, скачать отдельно образ и установить с помощью balenaEtcher или подобного софта. Если образ не пишется или не читается, то скорее всего проблема в карте памяти или картридере.

Установка и проверка образа занимает до получаса. При успешной записи не спешите извлекать карточку. В появившемся разделе BOOT и нужно добавить пару файлов:

  1. Пустой файл ssh.txt
  2. Текстовый файл wpa_supplicant.conf. Создайте и пропишите в нём данные вашей wi-fi сети, к которой подключится малина после загрузки.
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="ИМЯ ВАШЕЙ СЕТИ SSID" psk="ПАРОЛЬ СЕТИ" key_mgmt=WPA-PSK }
Поздравляю! Карта готова для установки в Raspberry Pi! 

Этап 2. Подключение к малине и первоначальная настройка.

Вставляем карту в малину, подключаем питание и ждём до 10 минут. Если мы всё сделали правильно в первом этапе, то малина уже загрузилась и подключилась к вашей домашней сети. Я предпочитаю визуальный интерфейс для работы, поэтому хочу сразу включить его и нажимать на кнопочки в оболочке, чтобы минимизировать работу с командной строкой.

1) Определяем IP адрес малины в вашей сети и подключаемся к ней.

Для начала нужно установить Putty — терминал для подключения к малине.

Так выглядить Putty

В поле Host name обычно предлагают вводить [email protected], однако, у меня это срабатывает через раз. Если у вас не получается подключиться, то нужно узнать IP адрес малины в вашей сети. Для этого я зашёл в интерфейс моего роутера и подсмотрел IP адрес малины, также можно воспользоваться IP сканерами, пример ниже.

фото с сайта Amperka.ru, хороший гайд

После успешного подключения видим окно ввода логина и пароля.

По умолчанию логин — pi, а пароль — raspberry. Обратите внимание, что вводимый пароль не отображается.

Ура мы подключились и можем управлять малиной через консоль!

Далее командной sudo raspi-config открываем главные настройки и включаем VNC в разделе Interfacing Options

Также заходим в Network Options и включаем Use Predictable Network Names YES для дальнейшей работы со Speedify.

Выходим из настроек и перезагружаем малину. Ставим на ПК VNC клиент и создаём в нём соединение с тем же IP адресом логином и паролем, что и в Putty.

Ура! Теперь перед нами рабочий стол и возможность управлять малиной с помощью привычного интерфейса. Пройдите первоналачальную настройку, устноновите страну и язык системы(пример тут). Рекомендую также установить VNC клиент на телефон, чтобы в пути иметь возможность управления одноплатником.

Этап 3. Установка Speedify VPN и подготовка к запуску.

Для начала пройдите регистрацию и оплатите тариф на месяц(год) на сайте Speedify. Для ПК и мобилок есть бесплатный триал на 2Гб трафика, но для малины такой плюшки не предусмотрено, а жаль. Подписка стоит около 14$ в месяц, можно отключить в любой момент через техподдержку. Ваш логин и пароль пригодятся нам позже.

Для установки Speedyfy на малину копируем эту команду в терминал (иконка терминала сверху справа) и жмём Enter:

wget -qO- https://get.speedify.com | sudo -E bash -

После установки приложение Speedify появится в разделе Internet. Сразу оговорюсь, что с установкой приложений на линукс у меня периодически возникали проблемы: то ошибки, то оно не ставится сразу, то не запускается. Я лично не знаю как это обойти и поэтому задавал вопросы в профильных чатах по малине, например, тут. Отдельная благодарность отзывчивым людям из чата, которые выручали новичка и давали правильные варианты команд. Не стесняйтесь и вы! Альтернативные варианты установки на сайте Speedify.

Для использования iPhone в качестве источника, установите драйвер на малину командой:

sudo apt install usbmuxd

Также для стабильности рекомендую повысить ток на USB-портах нашей малинки, чтобы она тянула несколько устройств сразу. Команда:

sudo nano /boot/config.txt открывает файл настроек

Добавляем в конец файла строку:

max_usb_current=1

Сохраняем файл CTRL+O, а затем CTRL+X для выхода и перезагружаем малину.

Этап 4. Финальный! Настройка точки доступа и бондинга.

Напомню какая задача перед нами стоит. Мы хотим, чтобы малина раздавала интернет через Wi-Fi, который складывается из двух и более соединений модема и/или телефона. Существуют и другие варианты, например, раздавать интернет с помощью Ethernet кабеля, используя Wi-Fi + USB-модемы. Настройка будет подобная, только замените интерфейс раздачи на нужный вам. Основной гайд на английском находится здесь, для подробного погружения и поиска ошибок используйте его.

Приступим. Нужно подредачить файл настроек Speedify под себя. Командой:

sudo nano /etc/speedify/speedify.conf

Откроем файл и уберем значок (решетки#) в следующих строчках, также пропишем нужные настройки:

enable_SHARE=1

SHARE_interface=«wlan0»

WIFI_interface=«wlan0»

WIFI_SSID=«Придумайте название вашей точки»

WIFI_password=«Придумайте пароль сети от 8 символов»

WIFI_MODE=«5»

Если нужна сеть 5 ГГц, то оставляем «5». По дефолту создаётся точка 2,4 ГГц. Сеть 2,4 ГГц бьёт дальше, чем 5 ГГц имеет меньший радиус, но 5 ГГц имеет больший запас по скорости, будет заметно от 100 Мб/c и выше, однако не все устройства поддерживают.

WIFI_channel=«1» (Канал для Wi-Fi, если нужно. По дефолту 1-ый)

WIFI_country=«US» (Для России «RU». Важная настройка! Выставите такой же регион, как и в настройках региона Wi-fi малины, иначе работать не будет)

Окей, подставили свои значения и сохраняем файл CTRL+O, а затем CTRL+X для выхода.

Снова открываем консоль и включаем раздачу Wi-Fi командой:

sudo service speedify-sharing restart

Нужно подождать несколько минут после первого запуска и сеть появится в списке wi-fi у других устройств. Но сейчас она без интернета! Осталось совсем малость, подключить устройства.

Вот так выглядит Speedify, ожидающий устройства подключения для раздачи интернета.

Наконец откройте Speedify и войдите под своим логином паролем. В настройках программы ничего менять не вижу смысла. Можно включить автозапуск и выбрать сервер, но я оставлял всё на авто.

Самое время подключать наши устройства. Для примера покажу отображение модема и телефона в интерфейсе:

Все иконки серые, потому что телефон и модем подключены без интернета.

Вы можете установить основное соединение и дополнительное. В качестве основного выбирайте самое быстрое. Можете потестировать скорость внутри приложения для замера и выбора оптимальной связки. Приведу пример по моим замерам:

Один USB-модем 75% сигнала 4G даёт около 7-8 Мб/c

Один Смартфон с 4G+ 75% сигнала даёт 25-50 Мб/c

При сигнале 3G получить более 5 Мб/с у меня не получалось

Для получения нужной скорости канала установите необходимое вам количество девайсов. Однако, для установки трёх и более модемов может потребоваться USB-hub с отдельным питанием. Нет смысла использовать менее двух источников, потому что резервирование работать не будет. Также всегда используйте разных операторов в устройствах, чтобы оставаться на связи в разных локациях.

Кстати смартфон при таком подключении садиться не будет, так как малина его будет подзаряжать.

Ура, конец!

Поздравляю! У нас получилось самостоятельно создать и настроить точку доступа с бондингом и резервированием каналов! Теперь можно использовать её и наслаждаться стабильным интернетом в дороге. В следущий раз я расскажу какой софт я использовал для стриминга и передачи видео с помощью этого сетапа.

Пост получился объёмным, хоть я и пытался сжать информацию максимально и о многих деталях не упомянул. Расскажите в комментариях была ли полезная моя статья? Задавайте вопросы по настройке и пробуйте собрать точку доступа под свои нужды!

Спасибо за внимание и отличного дня. По всем вопросам телеграм @supagood.

0
15 комментариев
Написать комментарий...
Игорь Мандрин

Из буханки хлеба тоже можно сделать троллейбус, но зачем?
Это все хорошо, пост вообще отличным вышел: пошаговое, с картинками, но:
1. Малина 4 это мощный комбайн с графическим чипом, 64-битным процессором, usb 3 и Bluetooth на борту и ещё много чем полезным, но не в полевых условиях, потому что жрёт энергии это прилично. Также это прилично жрёт деньги, если она не валяется у Вас в кладовке без дела.
2. Зачем проходной ТД графический интерфейс? Чтобы видео чип не простаивал и быстрее сжирал powerbank?
3. На Ali (малину же все равно там брать) есть модемы дешевле и лучше, не надо советовать переплачивать за перебрендированный хуавей с удвоенным ценником.
Если это описание Вашего опыта, ок - Вы молодец. Но зачем тогда пошаговое описание и скрины? А если это руководство к действию, я бы поостерегся такое повторять.
Ладно, критиковать все горазды. Правильно было бы что-то предложить. Так вот, записывайте: любой мини-роутер с usb, поддерживающий openwrt, прямо с телефона накатываете на него пакеты mwan3 и дрова для модема либо телефона либо того и другого (для бондинга, как Вы это назвали), самый простой и маленький usb-hub к нему (если только один usb на борту), модем + питание. В итоге весь набор может быть сопоставим по цене с одной rasperry pi.

Ответить
Развернуть ветку
Vladislav V
Автор

Игорь спасибо за развёрнутый комментарии, посыл ваш понятен. Если вкратце, то идея с роутером классная (я не изучал такие роутеры), но к сожалению для стриминга не подойдёт. Так как на роутере не получится запустить rtmp / srt сервер.
Насчёт графики на малине это исключительно моя прихоть, уверен можно и без неё, плюс дополнительные оптимизации провести, просто я так вижу)

Ответить
Развернуть ветку
Игорь Мандрин

Владислав, а какие цели у этого сетапа? Из статьи я понял, что задумывалась как мобильная точка доступа. Графика - ок, оправдано при отсутствии опыта работы с командной строкой. Зачем в мобильной тд rtmp-сервер ума не приложу.

Ответить
Развернуть ветку
Vladislav V
Автор

Игорь, расскажу про rtmp сервер. На данный момент мне подходят только два варианта транспорта видео с камеры в сеть: rtmp и srt.
Rtmp отлично себя показывает при наличии стабильной сети, при разрывах картинка ломается, звук начинает плавать, это особенность протокола. Поэтому я использую rtmp только в локальной сети внутри точки доступа.
Srt транспорт намного интереснее, алгоритмы помогают оставаться в сети и не терять качество картинки и звука плюс отлично справляются при разрывах, удобно пользоваться.

В моем сетапе картинка с камер по rtmp стримится на rtmp сервер на малине и преобразуется в srt поток для передачи во внешнюю сеть. Такая связка улучшает стабильность стрима и даёт больше возможностей на выходе с минимальной задержкой. На малине стоит сервер для преобразования rtmp в srt, так как камеры всё ещё не поддерживают этот транспорт напрямую.

Ответить
Развернуть ветку
Жора Перлов

А зачем собственный rtmp/srt ?

Ответить
Развернуть ветку
Алик Гафаров

A rtsp сервер удастся поднять?

Ответить
Развернуть ветку
Vladislav V
Автор

Думаю да, я нашёл софт называется nimble Streamer. На нем очень много чего-то интересного и там много опций. Также есть возможность использовать его бесплатно.

Ответить
Развернуть ветку
Free Shooter

Esp32 возьмите и хватит.только покодить надо.

Ответить
Развернуть ветку
Vladislav V
Автор

Спасибо, к сожалению кодить не умею пока что

Ответить
Развернуть ветку
Михаил Гончаров

Доброго дня. Писал коммент к прошлому посту. С чем я столкнулся. Сейчас отрабатываю связку камера, энкодер rtmp, NDI, SRT. Малина, хаб активный с питанием , USB модемы 4 . сервер обьеденяющий с белым IP . Дальше принимаю на свой SRT сервер через прокси адон.Столкнулся с проблемой описал в вашем прошлом посте.

Ответить
Развернуть ветку
Vladislav V
Автор

ответил тебе в том треде, но судя по твоему комментарию ты упустил важный момент, а именно заигнорил использование сервиса speedify. Они решили твою проблему, поэтому покупай подписку на месяц и ставь на малину по моей инструкции)

Ответить
Развернуть ветку
Михаил Гончаров

Ок. Спасибо! Одним днём искал инфу по данной проблеме второй вопрос получился как дополнение к первому. Посмотрю сервис рекомендуемый. Пока попробую на свой сервак VPN настроить и силами малины загнать сигнал..устраивает пинг и возможность по локалке сервак с бондингом объединить с сервером прокси аддон.

Ответить
Развернуть ветку
Tzeentch

А Speedify не заблокирован? Работает ещё?

Ответить
Развернуть ветку
Vladislav V
Автор

Думаю да, это же vpn

Ответить
Развернуть ветку
Адиль Аббасов

Владислав, как с вами связаться? нужно сотрудничество.

Ответить
Развернуть ветку
12 комментариев
Раскрывать всегда