zepete: (Default)
Основа их - это заокеанские скрипты, только доработанные для удаления некоторых недостатков.
У американца было два скрипта: interface.sh и display2.sh. Interface.sh - это основная программа, которая выполняет запуск display2.sh, обрабатывает данные полученные с arduino и запускает воспроизведение конкретной станции на wifi радио.

В моем варианте, display2.sh превратился в скрипт lcd.sh и добавилось еще три файла.
  1. station-list.sh с массивам содержащим ссылки на аудиопотоки (vAddr), их имена (vName) и число каналов (STATIONS). Как искать ссылки на радио описал здесь.
  2. time.sh посылающий раз в секунду сообщение о текущем времени. Текущее время имеет формат "<три буквы дня недели> DD.MM.YY hh:mm".
  3. SendToTTY.sh посылающий раз в три секунды число доступных станций.

Несколько важных замечаний.

1. Для работы моих скриптов требуется интерпретатор команд bash, ибо busybox не понимает массивы.
2. Сообщения в arduino нельзя слать без паузы, хотя это и напрашивается в скрипте SendToTTY.sh, ибо тогда перегрузиться arduino.
3. В качестве устройства терминала надо использовать "/dev/ttyATH0" (название устройства последовательного порта в версии Attitude Adjustment прошивки openwrt), а не "/dev/tts/0" (последовательный порт в версии Kamikaze прошивки openwrt используемой mightyohm).
4. Некоторые станции работать будут воспроизводиться с заеданиями, это вызвано отсутствием математического сопроцессора в ЦПУ роутера: кодеки с использующие инструкции с плавающей точкой работают в роуторе очень медленно. Чаще всего это будут потоки закодированные "aac" или с измененным расширением с flv на mp3 по моему рецепту. Рекомендации гуляющие по интернету по замене поций компилирования с эмуляции плавающей запятой на фиксированную не помогают.
5. Для воспроизведения без ежесекундных пауз необходимо доработать файл "/etc/mpd.conf": разкоментировать блок описывающий устройство oss.

# An example of an OSS output:
#
audio_output {
 type  "oss"
 name  "My OSS Device"
 device  "/dev/dsp" # optional
 format  "44100:16:2" # optional
## mixer_type      "hardware" # optional
## mixer_device "/dev/mixer" # optional
## mixer_control "PCM"  # optional}
6. Американец требует что бы его имя сохранили в любом коде производном от его, я это сделал.
# This work is protected by the
# Creative Commons Attribution-Share Alike 3.0 United States License.
# http://creativecommons.org/licenses/by-sa/3.0/us/
#
Read more... )

zepete: (Default)
Список пакетов, которые следует установить дополнительно для помощи хакерам хотящим взломать ваш роутер облегчения настройки маршрутизатора:)
список полезных пакетов )
zepete: (Default)
В прошлый раз описал настройку usb диска ввиде последовательности команд, которую очень легко превратить в программу для bash/busybox/sh/ash.

Текст получившегося скрипта.
скрипт для настройки внешнего usb диска )

Добавить его в прошивку можно 4 способами:
1. Добавить в каталог ...../package/base-files/files/<путь к файлу в прошивке> или ...../package/base-files/files/<название платформы, например mr3020>/<путь к файлу в прошивке>.
2. Создать каталог ....../files/<путь к файлу в прошивке>, и в него поместить свой файл.
3. Создать каталог с файловой системой добавляемой прошивку и запустить сборку командой make image Files=<путь к папке>/
4. Создать свой пакет с этим файлом.
Первые три способа затруднений не вызывают, но они не позволяют управлять включением файла в прошивку из make menuconfig. Поэтому я предпочитаю способ с помощью создания своего пакета.

Далее на примере скрипта для расширения корневого каталога и создания раздела подкачки на USB диске, я опишу как это сделать.

1. Для этого необходимо создать папку в каталоге ...../packages. Я создал папку 0-prepareflsh. Приставку "0-" добавил для простаты навигации к этой папке из файловых менеджеров.
2. Создал в ней каталог files.
3. Поместил в него свой файл со скриптом. Я его назвал prepareflash.sh.
4. В каталоге ...../feeds/packages создал текстовый файл Makefiles со следующим текстом.
Только из него надо удалить все комментарии, ибо русские буквы система сборки не понимает и выдает ошибку отсутствия разделителя.

Read more... )

Profile

zepete: (Default)
zepete

January 2026

S M T W T F S
    1 23
4 56 78910
11121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 10:43 pm
Powered by Dreamwidth Studios