Kolom radio Internet pangbasajanna "Kodi" atanapi kasalametan bata "Raspberry".

Kolom radio Internet pangbasajanna "Kodi" atanapi kasalametan bata "Raspberry".

Prasyarat dasar:

  1. Aya hiji heubeul henteu kapake generasi kahiji buah prambus Pi dewan;
  2. Papan perenahna dina kabinét salaku beurat paéh sareng henteu dianggo - papan "Bata";

Anu abdi hoyong nampi:

  1. Dina hiji waktu nu tangtu (contona, nurutkeun wanda)
    dewan ceases a "Bata", jeung kartu memori magic diselapkeun kana;
  2. Kabel Ethernet sareng colokan ti spiker rumah tangga biasa atanapi headphone disambungkeun ka papan;
  3. Saatos kakuatan dilarapkeun, urut "Bata" - panyajak

Ideu utama:

  1. Jumlah sapuan minimum pikeun setelan naon waé, dina kasus anu paling idéal, urang ngan ukur nyambungkeun kabel "Ethernet", kakuatan sareng spiker, sareng henteu ngalakukeun anu sanés, tina kecap. "sadayana";
  2. Urut "Bata" out of the box ngarojong, contona, 20 stasiun radio Internet, nu bisa switched dina bunderan ku mencét kabayang mouse atawa dina pin GPIO husus (nyambungkeun dua kawat sarta pondok aranjeunna (impian kuring saprak budak leutik). );
  3. Kontrol dilaksanakeun ngaliwatan saluran radio, sareng saluran radio ieu tiasa janten beurit radio biasa;
  4. Candak sistem anu siap-siap sareng kumpulkeun distribusi kana "Proyék Yocto"
    jelema. sakumaha biasa, urang moal ngalakukeun nanaon ka anjeun, saprak sagalana geus rengse.
    (Cukup ngan nempatkeun hiji panitén luar di sisi séjén "TV");

gambaran

Speaker Radio Internet pangbasajanna "KODI"
Majelis dirancang pikeun papan Raspberry Pi 1 anu langkung lami
(Kumpulkeun lebu di mana waé dina lomari, tapi anu siap ngalakukeun sababaraha padamelan deui)

Daptar standar m3u8 tina 12 stasiun radio Internét dianggo.

Hal ieu dianggap yén dewan jalan tanpa kaluaran HDMI, sarta pikeun mareuman Anjeun ngan perlu unplug adaptor kakuatan ti stop kontak nu. Sareng salaku panel kontrol nirkabel ultra-modern, anjeun tiasa nganggo mouse radio super anjeun (atanapi sambungkeun abu abu biasa sareng buntut).

Nalika dihurungkeun, antarbeungeut jaringan standar dikonpigurasi liwat protokol DHCP sareng stasiun radio anu terakhir anu diapalkeun tina daptar dimaénkeun, volume playback dikontrol ku mouse biasa:
(Tungtungna nunjuk beurit anjeun salaku "kapala manajemén", sareng ngucapkeun salamet, éta pantes)

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

Pikeun nambahkeun daptar stasiun radio Internet Anjeun sorangan
Anjeun salawasna bisa nyambungkeun kabel HDMI tina TV Anjeun
sareng nganggo antarmuka grafis standar Kodi 17.6
(Pareuman papan, sambungkeun HDMI sareng hurungkeun adaptor kakuatan)

Menu utama Kodi => "Add-ons" => "My Add-ons"
          => "Klién PVR" => "Klién Sederhana PVR IPTV"

Palaksanaan awal

(mungkin)
Mimitina, nalika kuring mutuskeun ngadamel "Kolom Radio Internét", kuring ngarencanakeun ieu:

  • Distribusi konsol minimalis dina Proyék Yocto;
  • Aliran audio dimaénkeun via GStreamer;
  • Antarbeungeut jaringan dikonpigurasi via DHCP;

Sareng solusi ieu ngagaduhan sababaraha kaunggulan:

  1. Cukup gancang (peryogi 30-40 detik pikeun ngahontal mode operasi tina catu daya);
  2. Cukup dipercaya (saeutik program, pangsaeutikna titik gagal);
  3. Distribusi konsol langkung gampang pikeun ngalih ka modeu ngan ukur dibaca
    jelema. program teu nulis nanaon kana sistem file root
    (sareng sistem file dina média SDHC, dina pamanggih kuring, calon munggaran pikeun gagal);

Catetan:

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

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

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

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

Sareng hiji kalemahan utama:

"Éta kedah dilakukeun" i.e. Kuring kudu méakkeun N jumlah peuting
(biasana saatos damel, sareng ieu mangrupikeun waktos anu paling henteu efektif, dina waktos ieu otak henteu mikir deui, biasana saré)

Tapi, kuring nyerat tulisan kuring sateuacana ngeunaan Habré ngeunaan pusat multimedia Kodi sareng Yocto proyek
jeung kasempetan pikeun neruskeun dina véna sarua overpowered dorongan panalungtikan kuring. Langkung seueur ngeunaan ieu dina bab salajengna.

Ngarobih Kodi janten spiker radio Internét

Nambahkeun pungsionalitas Abdi peryogi, abdi bakal nambahan hiji metodeu deui resep pikeun ngawangun distribusi dijelaskeun dina saméméhna artikel tingali file berserk-image.bb

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}
}

Metodeu dimaksudkeun pikeun ngarobih sistem file akar sateuacan ngabentuk gambar distribusi dina bentuk hiji file atah, anu diserat kana kartu mémori kalayan paréntah. dd

Hal ieu dilakukeun ku cara kieu:
ROOTFS_POSTPROCESS_COMMAND += "add_radio_guisettings; off_kodi_wilujeng sumping;"

Pondokna, dina file konfigurasi utama Kodi 17.6, "tilu titik" robih

  • Konfigurasi pikeun ngaluncurkeun saluran TV anu terakhir dipilih;
  • Konfigurasi output audio, ngan kaluaran audio analog sok disambungkeun;
  • Pareuman apdet otomatis;
  • Catetan:
        Единственное с чем у меня возникли сложности, 
        это то, что пришлось еще подтащить файл базы данных 
        в формате sqlite => TV29.db, в котором указывается 
        текущий проигрываемый ТВ канал 
        (так как по умолчанию никакой из каналов не выбран), 
        а через xml конфигурацию в Kodi этого не сделать.
        

runtuyan tindakan nu leuwih lengkep pikeun tiap item:

1) Klik ikon gear di belah kénca juru luhur layar
tur pilih "PVR sareng Setélan TV" (gambar TV sareng dua tanduk)
teras di sisi kénca ménu, pilih "Playback", sareng dina bagian tengah "Umum"
pilih "Teruskeun ti saluran panungtungan on ngamimitian" dina daptar turun-handap
milih setélan "Foreground".

atawa leuwih jelas:

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

2) Klik ikon "gear" di belah kénca juru luhur layar tur pilih itemna:

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

3) Klik ikon "gear" di belah kénca juru luhur layar tur pilih itemna:

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

Kumaha kuring geus nonton TV salah jalan salila dua taun.

Kuring kedah ngaku ka anjeun yén dina dua taun kuring masih teu acan diajar ningali TV anu leres.

Biasana mah lalajo TV di dapur. Papan buah prambus Pi 2B disambungkeun ka TV, sarta konektor Ethernet jeung HDMI disambungkeun ka dewan. dewan ieu Powered via kabel USB biasa, nu geus plugged kana port USB tina TV, i.e. komo, ngahurungkeun TV ngagunakeun kadali jauh baku suplai kakuatan ka dewan buah prambus Pi, jeung mareuman TV ti kadali jauh ogé geuwat ngareset kakuatan ti dewan buah prambus Pi.

Leres, kuring sadar yén ieu teu tiasa dilakukeun, sabab sistem file akar Kodi media center (ext3) fungsina dina modeu baca / tulis normal. Tapi kuring jalma anu puguh, sareng mimitina kuring mutuskeun pikeun mariksa sabaraha lami kuring tiasa mareuman sistem sapertos kieu, dugi ka dieureunkeun loading, tapi hanjakalna, saatos dua taun kuring henteu pernah tiasa ngalakukeun ieu (panginten kuring ngan ukur untung, Abdi henteu terang ).

Sareng dina pamanggih kuring, upami modeu ieu cocog pikeun TV kuring, éta ogé bakal cocog pikeun "speaker Radio Internet basajan", sareng saprak kuring maksa nganonaktipkeun apdet otomatis tina plugins Kodi, kamungkinan gagalna sistem file bakal janten malah. Langkung sakedik. Sajauh ieu kuring henteu ningali masalah ieu

Catetan:

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

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

Distribusi "Speaker radio Internét" anu dijelaskeun dina tulisan éta mangrupikeun rumah tangga, sareng anu paling penting pikeun distribusi rumah tangga nyaéta GUI anu éndah. Dina pamanggih kuring, hésé pisan atawa ampir teu mungkin keur ngajarkeun hiji pamaké biasa pikeun nuliskeun sagala paréntah magic kaharti kana konsol nu, sarta anjeunna malah teu terang kecap. Tapi GUI, mangga.

Sarta ieu meureun argumen utama kuring dina ni'mat distribusi non-konsol. Antarbeungeut pangguna grafis lampu haneut tina Kodi, éta henteu diperyogikeun, tapi éta aya.
(Kuring ogé hilap pisan yén Kodi tiasa dikontrol jarak jauh, contona tina smartphone, ku cara masang aplikasi Yatse, sareng panginten pikeun sababaraha ieu bakal tambah)

Konfigurasi Kodi pikeun kontrol beurit

tur ayeuna Rocket

<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>

Konfigurasi overrides acara global pikeun elemen handap:

  • ngagulung kabayang mouse ka hareup
  • ngagulung mouse kabayang deui
  • ngaklik tombol mouse tengah
  • ngolah klik beurit anu panjang (3 detik atanapi langkung),
    0 tombol ID katuhu, 1 tombol kénca ID

Inpo nu leuwih lengkep dina nyetel acara mouse:

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

Naon anu kudu dilakukeun upami sistem kabel henteu sumping ka anjeun

"Tapi kuring henteu ngagaduhan palabuhan Ethernet gratis di bumi (atanapi henteu kantos gaduh)," sababaraha pamilik anu bagja tina papan Raspberry Pi 1 lami tiasa ngagero (panginten papan éta dibeli pikeun panalungtikan sareng tetep ngagolér dina kabinet).

Sarta saprak dewan teu boga diwangun-di Wifi, teu pisan hanca tanpa sambungan Ethernet.

Tangtu, kasebut nyaéta dimungkinkeun pikeun ngagunakeun buah prambus Pi 1 dewan tanpa Ethernet, tapi bakal merlukeun sababaraha usaha dina bagian anjeun. Biasana, hal-hal sapertos kitu pikaresepeun pikeun dilakukeun ngan ukur salaku bagian tina diajar anu anyar, nyaéta. Ieu sanés padamelan adat.

Janten, hayu urang nganggap kasus panggunaan hipotétis pikeun papan tanpa Ethernet:

Anjeun tiasa nyambungkeun USB éksternal - adaptor Wifi, dipandu ku tinimbangan
yén adaptor kedah dianggo saé dina Linux

Catetan:

    К сожалению часть 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 
    

Upami anjeun parantos gaduh adaptor USB Wifi, anjeun tiasa pariksa naha éta jalanna saé dina Linux sapertos kieu:

  • Pasang sababaraha distribusi Linux anu seueur dianggo
    tujuan umum, contona "Ubuntu Desktop"
  • Boot sistem
  • Sambungkeun adaptor usb Wifi Anjeun
  • Jalankeun manajer jaringan sareng cobian sambungkeun ka titik aksés WiFi anjeun
  • Upami sadayana berpungsi saé sareng sambungan Internét anjeun stabil, maka adaptor anjeun dirojong saé sareng anjeun tiasa neraskeun padamelan anjeun pikeun nyambungkeun adaptor ieu dina distribusi khusus sareng kamungkinan sareng versi kernel anu sanés.
    (upami henteu, maka henteu, sayangna, langkung saé henteu nyobian)

Rojongan pikeun adaptor Wifi éksternal di Raspberry PI

Pikeun adaptor WiFi tiasa dianggo leres dina Linux, urang peryogi dua hal:
1) Pangrojong kernel Linux pikeun adaptor Wifi khusus
2) Ayana modul kernel dina sistem pikeun adaptor Wifi husus

Candak contona adaptor TP-Link TL-WN722N. Mibanda anteneu saukur megah.
Hayu urang milarian chipset dimana papan dianggo - pikeun kuring éta "AR9271", Catetan:

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

Ayeuna hayu urang milarian nami parameter dina konfigurasi kernel anu tanggung jawab pikeun supir chipset AR9271, langkung saé milarian kombinasi kecap "AR9271 catee.net"
     dimana "cateee.net" mangrupikeun situs keren anu ngajelaskeun konfigurasi modul kernel Linux

Urang langsung mendakan nami konfigurasi kernel - CONFIG_ATH9K_HTC
sareng nami modul kernel anu urang peryogikeun ath9k_htc

lajeng ngan nangtukeun nami modul diperlukeun dina file fragmen konfigurasi
Linux kernel => recipes-kernel/linux/files/rbpi.cfg, tambahkeun baris:
CONFIG_ATH9K_HTC=m

Ku kituna, dina mangsa nu bakal datang Anjeun bisa nyambungkeun sagala parabot tambahan kana sistem Anjeun (ogé, tangtosna, upami eta geus dirojong dina kernel Linux Ubuntu).

Naon anu kudu dilakukeun upami anjeun habra geek - desainer

Sareng anjeun nyiptakeun hal anu paling keren, sapertos di dieu atanapi anjeun murid sareng impian nyiptakeun hal anu sami.

Ngan offhand, anjeun tiasa nyandak sababaraha jenis layar Toel Screen pikeun RPI on aliexpress, mesen batré cocog aya, sambungkeun kabeh kana buah prambus Pi 1,2 atawa 3 dewan (preferably 3, sabab geus diwangun-di Wifi), pilih. Antarbeungeut téma desain grafis di Kodi, dirancang pikeun layar rampa sareng voila => anjeun tiasa kéngingkeun pamuter audio anu sederhana. Tangtu eta bakal rada gede pisan, tapi bakal milik anjeun.

  Примечание:
  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)}"

  Upami responsif GUI Kodi 17.6 kusabab inti prosésor tunggal dina Zero sigana misterius pikeun anjeun, maka anjeun tiasa nipu ceuli anjeun sareng ngawangun versi anu langkung lami, tapi gancang pisan, contona Kodi 15.2, éta langkung "ramah" dina hal ieu. (kadang warisan ngajawab sagalana)

Hanjakal, kuring teu boga dewan, jadi kuring teu bisa pariksa, tapi kuring ngarasa kawas éta kudu jalan.

Parentah Majelis singket

    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
    

parentah assembly leuwih lengkep
jeung ngarekam dina kartu microSDHC, tingali dina artikel saméméhna

Tulisan

Tangtosna, ideu spiker radio Internét khas, sadayana terang éta sareng dina Habré anjeun bakal mendakan seueur tulisan ngeunaan topik ieu, contona. di dieu

Sareng anjeun ogé panginten yén kuring ngan ukur nyaluyukeun sarat pikeun solusi anu siap-siap. Pikeun ieu abdi tiasa kontra sareng nyarios yén henteu, jujur.

carita Pak Ervey

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

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

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

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

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

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

Majelis langkung saé sareng béda pikeun anjeun, sareng ngantepkeun tilas bata nyanyi pikeun anjeun taun ieu.

sumber: www.habr.com

Tambahkeun komentar