Ən sadə İnternet radio sütunu "Kodi" və ya "Moruq" kərpicinin xilası

Ən sadə İnternet radio sütunu "Kodi" və ya "Moruq" kərpicinin xilası

Əsas ilkin şərtlər:

  1. Köhnə istifadə olunmamış birinci nəsil Raspberry Pi lövhəsi var;
  2. Lövhə kabinetin üzərində ölü çəki kimi yatır və istifadə edilmir - "Kərpic" lövhəsi;

Nə almaq istərdiniz:

  1. Müəyyən bir zamanda (məsələn, əhval-ruhiyyə ilə)
    lövhə "Kərpic" olmağı dayandırır və ona sehrli yaddaş kartı daxil edilir;
  2. Ethernet kabeli və adi məişət dinamikindən və ya qulaqlıqdan bir fiş lövhəyə qoşulur;
  3. Keçmiş "Kərpic"ə enerji verdikdən sonra - oxuyur

Əsas fikir:

  1. Hər hansı bir parametr üçün minimum jest sayı, ən ideal halda, biz yalnız "Ethernet" kabelini, güc və dinamikləri birləşdiririk və sözdən başqa heç nə etmirik. "bütün";
  2. Məsələn, biz qutudan köhnə "Kərpic" i dəstəkləyirik, məsələn, siçan təkərini və ya müəyyən bir GPIO pininə basaraq bir dairədə dəyişdirilə bilən 20 İnternet radio stansiyasını dəstəkləyirik (iki teli birləşdirin və onları bağlayın (uşaqlıqdan arzum));
  3. Nəzarət bir radio kanalı vasitəsilə həyata keçirilir və bu radio kanalı adi bir radio siçanı ola bilər;
  4. Hazır bir sistem götürün, paylama dəstini "Yokto Layihəsi"ndə yığın
    olanlar. Həmişə olduğu kimi, sizinlə heç nə etməyəcəyik, çünki hər şey artıq edilib.
    (sadəcə qarşı tərəfə kənar müşahidəçi yerləşdirmək kifayətdir "TV");

Təsvir

Ən sadə İnternet Radio sütunu "KODI"
Montaj köhnə Raspberry Pi 1 lövhələri üçün nəzərdə tutulmuşdur
(şkafın bir yerində toz toplayır, lakin daha çox işləməyə hazır olanlar)

3 İnternet radio stansiyasının m8u12 siyahısı standart olaraq istifadə olunur.

Ehtimal olunur ki, lövhə HDMI çıxışı olmadan işləyir və onu söndürmək üçün elektrik adapterini rozetkadan ayırmaq kifayətdir. Ultra müasir simsiz pult kimi siz super radio siçanınızdan istifadə edə bilərsiniz (yaxşı və ya adi boz siçanı quyruğu ilə birləşdirin).

Yandırıldıqda, şəbəkə interfeysi standart olaraq DHCP protokolu ilə konfiqurasiya edilir və siyahıdan yadda qalan sonuncu radio stansiya çalınır, oxutma həcmi adi siçan ilə idarə olunur:
(nəhayət siçanınızı "idarəetmə rəhbəri" təyin edin və onu təbrik edin, o buna layiqdir)

  колесико вперед  - увеличение громкости звука
  колесико назад   - уменьшение громкости звука
  длительное нажатие (3сек и более) на правую кнопку мыши
                   - выбор следующий радиостанции
  длительное нажатие (3сек и более) на левую кнопку мыши
                   - выбор предыдущей радиостанции

Öz İnternet radio stansiyalarınızın siyahısını əlavə etmək üçün
siz həmişə televizorunuzdan HDMI kabelini qoşa bilərsiniz
və Kodi 17.6 GUI fondundan istifadə edin
(lövhəni söndürün, HDMI-ı qoşun və güc adapterini yandırın)

Kodi əsas menyusu => "Əlavələr" => "Mənim əlavələrim"
          => "PVR Müştəriləri" => "PVR IPTV Sadə Müştəri"

İlkin icra

(mümkün)
Əvvəlcə "İnternet Radio Köşesi" düzəltməyə qərar verəndə aşağıdakıları planlaşdırdım:

  • Yocto Layihəsində minimalist konsol paylanması;
  • Audio axını GStreamer vasitəsilə səsləndirilir;
  • Şəbəkə interfeysi DHCP vasitəsilə konfiqurasiya edilmişdir;

Və bu həll bir sıra üstünlüklərə malikdir:

  1. Kifayət qədər sürətli (elektrik təchizatından iş rejiminə çıxmaq 30-40 saniyə);
  2. Kifayət qədər etibarlı (daha az proqram, daha az uğursuzluq nöqtəsi);
  3. Konsol paylamasını yalnız oxumaq üçün rejimə qoymaq daha asandır
    olanlar. proqramlar kök fayl sisteminə heç nə yazmır
    (SDHC mediasındakı fayl sistemi mənim fikrimcə uğursuzluqlar üçün ilk namizəddir);

Qeyd:

    В Yocto перевести корневую файловую систему (rootfs) 
    в режим только чтение можно сделать достаточно просто, 
    изменив один параметр во время сборки 

    Из коробки Yocto предлагает два варианта:
    1) Работа файловой системы в обычном режиме чтение/запись 
    (так работают все дистрибутивы общего назначения, например Ubuntu)
    2) Работа файловой системы в режиме только чтение
    (так работают специализированные дистрибутивы, например в маршрутизаторах)

    В режиме только чтение все каталоги, в которые обычно 
    записываются данные приложений и сервисов во время работы монтируются 
    в оперативную память (например каталог /var/log и т.п.)
    Данные актуальны только для текущего сеанса работы и после сброса питания
    данные теряются.

    Если в Yocto Project вы укажете при сборке использовать "read only", 
    то после сборки ваш дистрибутив будет настроен только на чтение, 
    но вы всегда можете добавить возможность динамического перевода 
    из "read only"  в "read/write", но это уже совсем другая история ...
    

Və bir böyük çatışmazlıq:

“Etmək lazımdır” yəni. Mən N sayda axşam keçirməliyəm
(adətən işdən sonra və bu ən səmərəsiz vaxtdır, bu zaman beyin artıq düşünmür, adətən yatır)

Bununla belə, Habré-də multimedia mərkəzi haqqında əvvəlki məqaləmi yazdım Kodi və Yocto layihə
və eyni damarda davam etmək fürsəti mənim kəşfiyyat impulsumu aşdı. Bu barədə daha çox növbəti fəsildə.

Kodi internet radio dinamikinə çevirmək

Mənə lazım olan funksionallığı həyata keçirmək üçün əvvəlki hissədə təsvir olunan paylama qurma reseptinə daha bir üsul əlavə edəcəyəm məqalə berserk-image.bb faylına baxın

GUI_SETTINGS = "home/root/.kodi/userdata/guisettings.xml"

# конфигурация запуска последнего выбранного ТВ канала (1-фон 2-передний план)
F1_LINE = "<startlast default="true">0</startlast>"
R1_LINE = "<startlast>1</startlast>"
# конфигурация вывода звука, всегда подключен только аналоговый аудио выход
F2_LINE = "<audiodevice default="true">PI:HDMI</audiodevice>"
R2_LINE = "<audiodevice>PI:Analogue</audiodevice>"
# так как HDMI по умолчанию не используется отключаю автоматическое обновление
# а то может получиться что питание уехало, а данные остались не записанными
F3_LINE = "<addonupdates default="true">0</addonupdates>"
R3_LINE = "<addonupdates>2</addonupdates>"


# метод отвечает за добавление конфигурации:
# которая превращает "Умный телевизор" в "простую Интернет Радио колонку"
add_radio_guisettings() {
    sed -i "s|${F1_LINE}|${R1_LINE}|" ${IMAGE_ROOTFS}/${GUI_SETTINGS}
    sed -i "s|${F2_LINE}|${R2_LINE}|" ${IMAGE_ROOTFS}/${GUI_SETTINGS}
    sed -i "s|${F3_LINE}|${R3_LINE}|" ${IMAGE_ROOTFS}/${GUI_SETTINGS}
}


FIND_STR = "touch ./tmp/.FIRST_RUN."
SCRIPT_FIRST_RUN = "etc/init.d/first-run.sh"
# так как HDMI выход может не использоваться, 
# то необходимо отключить "стартовое приветствие"
off_kodi_welcome() {
    sed -i "s|${FIND_STR}|#&|" ${IMAGE_ROOTFS}/${SCRIPT_FIRST_RUN}
}

Metodlar, komanda ilə yaddaş kartına yazılan tək xam fayl şəklində paylama şəklini yaratmadan əvvəl kök fayl sistemini dəyişdirmək üçün nəzərdə tutulmuşdur. dd

Bu şəkildə edilir:
ROOTFS_POSTPROCESS_COMMAND += "add_radio_guisettings; off_kodi_welcome;"

Bir sözlə, Kodi 17.6-nın əsas konfiqurasiya faylında “üç nöqtə” dəyişir

  • Son seçilmiş televiziya kanalının konfiqurasiyasını işə salın;
  • Audio çıxış konfiqurasiyası, yalnız analoq audio çıxışı həmişə bağlıdır;
  • Avtomatik yeniləmələri söndürmək;
  • Qeyd:
        Единственное с чем у меня возникли сложности, 
        это то, что пришлось еще подтащить файл базы данных 
        в формате sqlite => TV29.db, в котором указывается 
        текущий проигрываемый ТВ канал 
        (так как по умолчанию никакой из каналов не выбран), 
        а через xml конфигурацию в Kodi этого не сделать.
        

hər bir element üçün daha ətraflı hərəkətlər ardıcıllığı:

1) Ekranın yuxarı sol küncündə "dişli" işarəsinə klikləyin
və "PVR və TV parametrləri" seçin (iki buynuzlu televizorun şəkli)
daha sonra menyunun sol tərəfində "Oynatma" maddəsini və mərkəzi bölmədə "Ümumi" seçin
açılan siyahıda "Başlanğıcda sonuncu kanaldan davam et" seçin
"Ön plan" parametrini seçmək

və ya daha aydın şəkildə:

      "Настройки PVR и ТВ" 
       => "Воспроизведение" 
       => "Продолжить с последнего канала при запуске" => "Передний план"

2) Ekranın yuxarı sol küncündəki "dişli" işarəsini vurun və elementi seçin:

       "Системные настройки"  
       => "Дополнения" => "Обновления" => "Никогда не проверять обновления"

3) Ekranın yuxarı sol küncündəki "dişli" işarəsini vurun və elementi seçin:

       "Системные настройки" 
       => "Аудио" => "Устройство вывода звука" => "PI: Analogue"

İki ildir televizora necə səhv baxıram.

Sizə etiraf edim ki, iki il ərzində televizora düzgün baxmağı öyrənməmişəm.

Mən adətən mətbəxdə televizora baxıram. Raspberry Pi 2B lövhəsi televizora, Ethernet və HDMI konnektorları isə lövhəyə qoşulub. Lövhə televizorun USB portuna qoşulmuş adi USB kabel vasitəsilə qidalanır. əslində, ehtiyat pultundan istifadə edərək televizoru yandırmaq da Raspberry Pi lövhəsini enerji ilə təmin edir və televizoru pultdan söndürmək də dərhal Raspberry Pi lövhəsindən enerjini sıfırlayır.

Bəli, bunu etmək mümkün olmadığını yaxşı bilirəm, çünki Kodi multimedia mərkəzinin (ext3) kök fayl sistemi mənim normal oxumaq / yazma rejimində işləyir. Amma mən tənbəl adamam və başlanğıc üçün sistemin yüklənməsini dayandırana qədər nə qədər vaxt lazım olduğunu yoxlamaq qərarına gəldim, amma təəssüf ki, iki ildir ki, bunu edə bilmirəm (bəlkə də mən sadəcə şanslı idi, bilmirəm).

Və mənim fikrimcə, bu rejim mənim televizorum üçün uyğundursa, o zaman "sadə İnternet Radio dinamiki" üçün də uyğundur və Kodi plaginlərinin avtomatik yeniləməsini məcburi şəkildə söndürdüyüm üçün fayl sisteminin nasazlığı ehtimalı artacaq. daha az. Hələlik mən bununla bağlı problem görmürəm.

Qeyd:

    Но вы всегда при желании можете с помощью одной yocto команды 
    IMAGE_FEATURES += "read-only-rootfs"

    и определенной магии перевести ваш дистрибутив в режим "read only"
    

Məqalədə təsvir olunan "İnternet radio dinamikləri" paylama dəsti məişətdir və ev paylama dəsti üçün ən vacib olan gözəl GUI-dir. Fikrimcə, adi istifadəçiyə konsolda hər hansı anlaşılmaz sehrli əmrlərlə idarə etməyi öyrətmək çox çətindir və ya demək olar ki, qeyri-mümkündür və o, belə bir sözü belə bilmir. Və burada GUI, xahiş edirik.

Və bu, bəlkə də konsol olmayan paylamanın lehinə əsas arqumentimdir. Kodi'nin isti lampası GUI, bu, həqiqətən lazım deyil, amma oradadır.
(Həmçinin qeyd etməyi tamamilə unutdum ki, Kodi uzaqdan idarə oluna bilər, məsələn Yatse tətbiqini quraşdıraraq smartfondan və bəlkə də kimsə üçün bu bir artı olacaq)

Siçan nəzarəti üçün Kodi konfiqurasiyası

və indi raket

<keymap>
    <global>
        <mouse>
          <wheelup>VolumeUp</wheelup>
          <wheeldown>VolumeDown</wheeldown>
          <middleclick>ChannelDown</middleclick>
          <longclick id="0">ChannelDown</longclick>
          <longclick id="1">ChannelUp</longclick>
          <!-- конфигурационный rocket -->
        </mouse>
    </global>
</keymap>

Konfiqurasiya aşağıdakı elementlər üçün qlobal hadisələri ləğv edir:

  • siçan təkərini irəli sürüşdürün
  • siçan təkəri geri sürüşdürün
  • orta siçan düyməsini sıxmaq
  • uzun siçan kliklərinin işlənməsi (3 saniyə və ya daha çox),
    0 sağ düymə id, 1 sol düymə id

siçan hadisələrinin konfiqurasiyası haqqında daha çox məlumat:

kodi.wiki/view/Alternative_keymaps_for_mice
kodi.wiki/view/Action_IDs
kodi.wiki/view/Window_IDs

Kabel sistemi sizə gəlməyibsə nə etməli

Köhnə Raspberry Pi 1 lövhələrinin xoşbəxt sahiblərindən bəziləri "Ancaq evdə pulsuz Ethernet portlarım yoxdur (və ya heç vaxt olmayıb)" deyə bilər (bəlkə də lövhə araşdırma üçün alınıb və şkafda uzanıb)

Ethernet bağlantısı olmadan lövhədə quraşdırılmış Wi-Fi olmadığı üçün çox funksional deyil.

Əlbəttə ki, Raspberry Pi 1 lövhəsini Ethernet olmadan istifadə etmək imkanı var, lakin bunun üçün sizdən müəyyən səy tələb olunacaq. Adətən belə şeyləri yalnız yeni bir şeyin öyrənilməsinin bir hissəsi kimi etmək maraqlıdır, yəni. bu xüsusi iş deyil.

Beləliklə, Ethernet olmayan bir lövhə üçün hipotetik istifadə halını nəzərdən keçirək:

Nəzərə alınmaqla xarici USB - Wifi adapterini qoşa bilərsiniz
adapter Linux altında yaxşı işləməlidir

Qeyd:

    К сожалению часть WiFi адаптеров работать не будет, 
    это не особенность представленного в данной статье дистрибутива, 
    а скорее проблема конкретных драйверов WiFi адаптеров в ядре Linux. 
    Можно констатировать тот факт, что в настоящий момент вы не можете просто 
    пойти в магазин и купить любой WiFi адаптер. Скорее вы должны подобрать WiFi 
    адаптер из списка менее проблематичных и хорошо работающих под Linux.

    я проверял только следующии модели:
    - WiFi адаптер на чипсете Atheros D-Link DWA-126 802.11n (AR9271)
    - WiFi адаптер NetGear WNDA3200
    - WiFi адаптер NetGear WNA1100
    - WiFi адаптер TP-Link TL-WN722N (AR9271)
    - WiFi адаптер TL-WN322G v3
    - WiFi адаптер TL-WN422G
    - Wifi адаптер Asus USB-N53 chipset Ralink RT3572 
    

Əgər artıq USB Wi-Fi adapteriniz varsa, onun Linux altında yaxşı işlədiyini yoxlaya bilərsiniz:

  • Bəzi məşhur Linux paylamalarını quraşdırın
    "Ubuntu Desktop" kimi ümumi məqsəd
  • Sistemi yükləyin
  • Wi-Fi usb adapterinizi qoşun
  • Şəbəkə menecerini işə salın və WiFi qaynar nöqtənizə qoşulmağa çalışın
  • Hər şey qaydasındadırsa və İnternet bağlantınız sabitdirsə, o zaman adapteriniz yaxşı dəstəklənir və siz bu adapteri xüsusi bir paylamada və ola bilsin ki, digər nüvə versiyaları ilə birləşdirmək üzərində işinizi davam etdirə bilərsiniz.
    (əgər yoxsa, yox, təəssüf ki, cəhd etməmək daha yaxşıdır)

"Raspberry PI"-da xarici Wi-Fi adapterinə dəstək

WiFi adapterinin Linux-da düzgün işləməsi üçün bizə iki şey lazımdır:
1) Xüsusi Wifi adapter üçün Linux nüvəsi dəstəyi
2) Müəyyən bir Wifi adapteri üçün bir nüvə modulunun sistemində olması

Nümunə olaraq TP-Link TL-WN722N adapterini götürək. Onun əla antenası var.
Lövhənin işlədiyi çipsetini tapaq - məndə "AR9271" var, Qeyd:

    что самое интересное, это то, что для одной и той же модели
    одного и того же производителя, чипсет Wifi может отличаться.
    Я например сталкивался с тем, что для TL-WN722N версии 2, 
    используется уже другой чипсет Realtek RTL8188, а он уже 
    плохо работал под Linux (на тот момент), увы такие вот дела, 
    т.е. иногда нужно еще приглядываться к маленьким цифрам 
    версии на обратной (темной) стороне адаптера.    
    

İndi AR9271 çipset sürücüsü üçün cavabdeh olan nüvə konfiqurasiyasında parametrin adını tapaq, "AR9271 cateee.net" sözlərinin birləşməsini axtarmaq daha yaxşıdır.
     burada "cateee.net" Linux nüvə modulunun konfiqurasiyalarını təsvir edən gözəl saytdır

Dərhal kernel konfiqurasiyasının adını tapırıq - CONFIG_ATH9K_HTC
və bizə lazım olan kernel modulunun adı ath9k_htc

və sonra sadəcə konfiqurasiya fraqment faylında istədiyiniz modulun adını göstərin
Linux nüvəsi => reseptlər-kernel/linux/files/rbpi.cfg, xətti əlavə edin:
CONFIG_ATH9K_HTC=m

Beləliklə, gələcəkdə sisteminizə hər hansı bir əlavə avadanlıq qoşa bilərsiniz (əlbəttə ki, o, Linux nüvəsində artıq dəstəklənirsə)

Bir habra geek - konstruktor olsanız nə etməli

Siz kimi ən gözəl şeyləri yaradırsınız burada ya da siz tələbəsiniz və buna bənzər bir şey yaratmağı xəyal edirsiniz.

Daha sonra təmənnasız olaraq aliexpress-də RPI üçün bir növ Sensor ekranı götürə, orada uyğun batareya sifariş edə, hamısını Raspberry Pi 1,2 və ya 3 lövhəsinə birləşdirə bilərsiniz (quraşdırılmış Wi-Fi olduğundan 3-ə qədər daha yaxşıdır), toxunma ekranı və voila üçün nəzərdə tutulmuş Kodi-də qrafik dizayn mövzusu interfeysini seçin => sadə audio pleyer əldə edə bilərsiniz. Əlbəttə ki, kifayət qədər həcmli olacaq, ancaq sizin olacaq.

  Примечание:
  A для того, чтобы собрать Мультимедиа центр Kodi для самой бюджетной платы 
  Raspberry Pi Zero Wifi в yocto вам достаточно изменить две строки:

  конфигурационный файл => build/conf/local.conf
      MACHINE = 'raspberrypi0-wifi'

  рецепт сборки Kodi  => recipes-mediacentre/kodi/kodi_17.bbappend
      EXTRA_OECONF_append = "${@bb.utils.contains('MACHINE', 
                            'raspberrypi0-wifi', '${BS_RPI}',  '', d)}"

  Sıfırdakı bir prosessor nüvəsinə görə Kodi 17.6 GUI-nin həssaslığı sizə sirli görünürsə, o zaman qulaqlarınızla saxtakarlıq edə və köhnə, lakin çox sürətli bir versiya qura bilərsiniz, məsələn Kodi 15.2, o, daha "dost"dur. bu baxımdan (bəzən miras hər şeyi həll edir)

Təəssüf ki, lövhəm yoxdur, ona görə yoxlaya bilmirəm, amma hisslərimə görə işləməlidir.

Qısa Montaj Təlimatları

    1) Установите зависимости Yocto Project (например в Ubuntu): 
    sudo apt-get install -y --no-install-suggests --no-install-recommends 
        gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential 
        chrpath socat cpio python python3 python3-pip python3-pexpect 
        xz-utils debianutils iputils-ping python3-git python3-jinja2 
        libegl1-mesa libsdl1.2-dev xterm

    2) Скачайте и установите Repo:
        mkdir ~/bin
        curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
        chmod a+x ~/bin/repo

    3) Загрузите проект с github:
        PATH=${PATH}:~/bin
        mkdir radio
        cd radio
        repo init -u https://github.com/berserktv/bs-manifest 
                  -m raspberry/rocko/radio-rpi-0.2.8.xml
        repo sync

    4) Соберите проект:
        ./shell.sh
        bitbake berserk-image
        
    можно тоже самое собрать для плат Raspberry Pi 3B Plus, 3B и 2B:
    repo init -u https://github.com/berserktv/bs-manifest 
              -m raspberry/rocko/radio-0.2.8.xml
    

daha ətraflı montaj təlimatları
və microSDHC karta qeyd etmək, baxın əvvəlki məqalədə

Postscript

Əlbəttə ki, İnternet radio sütununun ideyası tipikdir, hər kəsə məlumdur və Habré-də bu mövzuda bir çox məqalə tapa bilərsiniz, məsələn, burada

Və siz də düşünə bilərsiniz ki, mən sadəcə hazır həll üçün tələbləri tənzimləmişəm. Buna cavab verə bilərəm və düzünü desəm, yox deyə bilərəm.

Cənab Erveyin hekayəsi

    Хотите верьте, хотите нет, а дело было так:

    Наш рабочий офис граничит с фирмой по производству разного звукового
    оборудования, и однажды директор этой фирмы, назовем его мистер "Эрви"
    подошел к нашему заместителю директора филиала мистеру "Арсению"
    и спросил у него, насколько сложно повесить на плату Raspberry Pi 
    проигрывание звукового потока т.е. плата подключается к сети 
    и колонкам, и "слышен характерный звук".

    После этого мистер Арсений подошел к заместителю моего 
    начальника - мистеру "Борису" и переадресовал вопрос ему, 
    ну а я, как сторонний наблюдатель случайно эту идею запомнил
    и назвал ее "Задача трех начальников".

    В общем хотели как лучше, 
    а получилось, цитата - "Но мистер Эрви, как всегда, помог."

    Через некоторое время я поинтересовался у мистера "Бориса" 
    его мнением по поводу написания небольшой заметки на эту тему 
    на "Хабре", на что "Борис" ответил, что изменение 
    "трех пунктов меню" в Kodi, особо не привносит никакой 
    новой информации и не заслуживает отдельного упоминания. 
    Конечно я с ним полностью согласен и поэтому, я не расскажу ему, 
    что что-то написал по этому поводу.

    Статья написана исключительно для платы "Raspberry Pi 1" 
    взятой у мистера "Бориса" на время эксперимента, 
    совпадения со всеми другими платами "Raspberry Pi 1" случайны.
    

Sizin üçün daha yaxşı və fərqli məclislər və bu il hətta keçmiş kərpic də sizin üçün oxusun.

Mənbə: www.habr.com

Добавить комментарий