Ki pi senp kolòn radyo Entènèt la "Kodi" oswa delivre a nan "Franbwaz" brik la

Ki pi senp kolòn radyo Entènèt la "Kodi" oswa delivre a nan "Franbwaz" brik la

Prekondisyon debaz:

  1. Gen yon ansyen ki pa itilize premye jenerasyon Raspberry Pi tablo;
  2. Tablo a kouche sou kabinè a kòm yon pwa mouri epi li pa itilize - tablo "Brik la";

Sa mwen ta renmen resevwa:

  1. Nan yon sèten pwen nan tan (pa egzanp, selon atitid)
    tablo a sispann gen yon "Brik", epi yo mete yon kat memwa majik nan li;
  2. Yon kab Ethernet ak yon ploge ki soti nan yon oratè regilye nan kay la oswa kas ekoutè yo konekte ak tablo a;
  3. Apre yo fin aplike pouvwa a, ansyen "Brik la" - chante

Lide prensipal:

  1. Nimewo minimòm de jès pou nenpòt ki konfigirasyon, nan ka ki pi ideyal la, nou konekte sèlman "Ethernet" kab la, pouvwa ak moun kap pale, epi pa fè anyen lòt bagay, soti nan mo a. "nan tout";
  2. Ansyen "Brik" ki soti nan bwat la sipòte, pou egzanp, 20 estasyon radyo entènèt, ki ka chanje nan yon sèk lè w peze wou sourit la oswa sou yon peny GPIO espesifik (konekte de fil ak kout yo (rèv mwen depi anfans) );
  3. Kontwòl se te pote atravè yon chanèl radyo, ak chanèl radyo sa a kapab yon sourit radyo regilye;
  4. Pran yon sistèm ki pare epi rasanble distribisyon an nan "Yocto Project" la.
    sa yo. kòm dabitid, nou p'ap fè ou anyen, paske tout bagay deja fèt.
    (li ase jis pou mete yon obsèvatè deyò sou lòt bò a "televizyon");

Deskripsyon

Pi senp kolòn radyo entènèt la "KODI"
Se asanble a fèt pou pi gran Raspberry Pi 1 ankadreman
(kolekte pousyè yon kote sou klozèt la, men ki pare pou fè kèk travay plis)

Pa default, yo itilize lis m3u8 12 estasyon radyo entènèt.

Li sipoze ke tablo a ap travay san yon pwodiksyon HDMI, epi fèmen li ou jis bezwen deploge adaptè pouvwa a soti nan priz la. Epi kòm yon panèl kontwòl ultra-modèn san fil, ou ka itilize sourit radyo super ou a (oswa konekte yon sèl gri regilye ak yon ke).

Lè yo limen, koòdone rezo default la konfigirasyon atravè pwotokòl DHCP la epi yo jwe dènye estasyon radyo memorize a nan lis la, volim lèktur a kontwole ak yon sourit regilye:
(finalman nonmen sourit ou kòm "chèf jesyon", epi felisite li, li merite li)

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

Pou ajoute pwòp lis estasyon radyo entènèt ou yo
ou ka toujou konekte yon kab HDMI soti nan televizyon ou
epi sèvi ak koòdone grafik estanda Kodi 17.6
(fèmen tablo a, konekte HDMI epi limen adaptè pouvwa a)

Meni prensipal Kodi => "Add-ons" => "Add-ons mwen"
          => "PVR Kliyan" => "PVR IPTV Senp Kliyan"

Premye aplikasyon

(posib)
Okòmansman, lè mwen te deside fè yon "Kolòn Radyo Entènèt", mwen te planifye bagay sa yo:

  • Distribisyon konsole minimalist nan Pwojè Yocto;
  • Se kouran odyo a jwe atravè GStreamer;
  • Se koòdone rezo a configuré atravè DHCP;

Ak solisyon sa a gen yon kantite avantaj:

  1. Byen vit (li pran 30-40 segonn pou rive nan mòd opere nan ekipman pou pouvwa);
  2. Ase serye (mwens pwogram, mwens pwen echèk);
  3. Yon distribisyon konsole pi fasil pou chanje nan mòd lekti sèlman
    sa yo. pwogram yo pa ekri anyen nan sistèm dosye rasin lan
    (ak sistèm dosye sou medya SDHC se, nan opinyon mwen, premye kandida pou echèk);

Remak:

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

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

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

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

Ak yon dezavantaj prensipal:

"Li dwe fè" i.e. Mwen bezwen pase N kantite aswè
(anjeneral apre travay, epi sa a se tan ki pi efikas, nan moman sa a sèvo a pa panse ankò, li anjeneral dòmi)

Men, mwen te ekri atik anvan mwen an sou Habré sou sant miltimedya a Kodi ak Yocto pwojè
ak opòtinite pou kontinye nan menm venn an depase enpilsyon rechèch mwen an. Plis sou sa a nan pwochen chapit la.

Vire Kodi nan yon oratè radyo entènèt

Pou ajoute fonksyonalite mwen bezwen an, mwen pral ajoute yon lòt metòd nan resèt la pou bati distribisyon ki dekri nan yon sèl anvan an. Atik gade dosye 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}
}

Metòd yo gen entansyon modifye sistèm dosye rasin lan anvan yo fòme yon imaj distribisyon nan fòm yon sèl dosye anvan tout koreksyon, ki ekri sou kat memwa a ak lòd la. dd

Sa a se fè fason sa a:
ROOTFS_POSTPROCESS_COMMAND += "ajoute_radio_guisettings; off_kodi_welcome;"

Nan ti bout tan, nan dosye konfigirasyon prensipal Kodi 17.6, "twa pwen" chanje

  • Konfigirasyon pou lanse dènye chanèl televizyon chwazi a;
  • Konfigirasyon pwodiksyon odyo, se sèlman pwodiksyon odyo analòg toujou konekte;
  • Enfim mizajou otomatik yo;
  • Remak:
        Единственное с чем у меня возникли сложности, 
        это то, что пришлось еще подтащить файл базы данных 
        в формате sqlite => TV29.db, в котором указывается 
        текущий проигрываемый ТВ канал 
        (так как по умолчанию никакой из каналов не выбран), 
        а через xml конфигурацию в Kodi этого не сделать.
        

yon sekans aksyon pi detaye pou chak atik:

1) Klike sou ikòn Kovèti pou ki nan kwen anwo gòch ekran an
epi chwazi "PVR ak TV Anviwònman" (imaj yon televizyon ak de kòn)
Lè sa a, sou bò gòch nan meni an, chwazi "Lektur", ak nan seksyon santral la "Jeneral"
chwazi "Kontinye soti nan dènye chanèl sou demaraj" nan lis deroule a
chwazi anviwònman an "Foreground".

oswa pi klè:

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

2) Klike sou ikòn "kovèti pou" ki nan kwen anwo gòch ekran an epi chwazi atik la:

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

3) Klike sou ikòn "kovèti pou" ki nan kwen anwo gòch ekran an epi chwazi atik la:

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

Ki jan mwen te ap gade televizyon nan move fason pou de ane.

Mwen dwe konfese ou ke nan de ane mwen toujou pa te aprann ki jan yo gade televizyon kòrèkteman.

Anjeneral mwen gade televizyon nan kwizin nan. Yon tablo Raspberry Pi 2B konekte ak televizyon an, ak konektè Ethernet ak HDMI yo konekte ak tablo a. Se tablo a mache atravè yon kab USB regilye, ki konekte nan pò USB televizyon an, sa vle di. an reyalite, vire sou televizyon an lè l sèvi avèk kontwòl la remote estanda founi pouvwa nan tablo a Franbwaz Pi, epi fèmen televizyon an soti nan kontwòl la remote tou imedyatman retabli pouvwa a nan tablo a Franbwaz Pi.

Wi, mwen byen konnen ke sa pa ka fè, paske sistèm dosye rasin nan sant medya Kodi (ext3) fonksyone nan mòd nòmal lekti/ekri. Men, mwen se yon moun parese, e anvan mwen deside tcheke konbyen tan mwen te kapab fèmen sistèm nan konsa, jiskaske li sispann chaje konplètman, men malerezman, apre dezan mwen pa janm jere fè sa (petèt mwen te jis chans, M pa konnen ).

Ak nan opinyon mwen, si mòd sa a te apwopriye pou televizyon mwen an, Lè sa a, li ta tou apwopriye pou yon "senp oratè Radyo Entènèt", e depi mwen fòseman enfim aktyalizasyon otomatik nan grefon Kodi, chans pou yon echèk sistèm dosye ap vin menm. mwens. Jiskaprezan mwen pa wè yon pwoblèm ak sa

Remak:

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

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

Distribisyon "Entènèt radyo speakers" ki dekri nan atik la se yon moun nan kay la, ak sa ki pi enpòtan pou yon distribisyon nan kay la se yon bèl entèfas. Dapre mwen, li trè difisil oswa prèske enposib pou anseye yon itilizatè òdinè antre nenpòt kòmandman majik enkonpreyansib nan konsole a, epi li pa menm konnen mo a. Men, entèfas la, tanpri.

E sa a se petèt agiman prensipal mwen an favè yon distribisyon ki pa konsole. Lanp cho koòdone itilizatè grafik Kodi a, li pa vrèman nesesè, men li la.
(Mwen tou konplètman bliye mansyone ke Kodi ka kontwole adistans, pou egzanp nan yon smartphone, pa enstale aplikasyon an Yatse, e petèt pou kèk sa a pral yon plis)

Konfigirasyon Kodi pou kontwòl sourit

epi kounye a 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>

Konfigirasyon an depase evènman mondyal pou eleman sa yo:

  • woulo liv sourit pi devan
  • woulo liv sourit tounen
  • klike sou bouton mitan sourit la
  • trete klik sourit long (3 segonn oswa plis),
    0 ID bouton dwa, 1 ID bouton gòch

Plis enfòmasyon detaye sou òganize evènman sourit:

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

Kisa pou w fè si sistèm kab la pa rive jwenn ou

"Men, mwen pa gen okenn pò Ethernet gratis nan kay la (oswa pa janm genyen)," kèk nan pwopriyetè yo kontan nan ansyen Raspberry Pi 1 ankadreman ka di (petèt tablo a te achte pou rechèch epi li rete kouche sou kabinè a)

Epi depi tablo a pa gen Wifi entegre, li pa trè fonksyonèl san yon koneksyon Ethernet.

Natirèlman, li posib pou itilize tablo Raspberry Pi 1 san Ethernet, men li pral mande pou kèk efò sou pati ou. Anjeneral, bagay sa yo enteresan pou fè sèlman kòm yon pati nan aprann yon bagay nouvo, i.e. Sa a se pa travay koutim.

Se konsa, ann konsidere yon ka itilize ipotetik pou yon tablo san Ethernet:

Ou ka konekte yon ekstèn USB - Wifi adaptè, gide pa konsiderasyon an
ke adaptè a ta dwe travay byen anba Linux

Remak:

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

Si ou deja gen yon adaptè USB Wifi, ou ka tcheke si li travay byen anba Linux jan sa a:

  • Enstale kèk distribisyon Linux lajman itilize
    objektif jeneral, pou egzanp "Ubuntu Desktop"
  • Bòt sistèm nan
  • Konekte adaptè usb Wifi ou a
  • Lanse manadjè rezo a epi eseye konekte ak pwen aksè WiFi ou a
  • Si tout bagay mache byen epi koneksyon Entènèt ou estab, lè sa a adaptè ou a byen sipòte epi ou ka kontinye travay ou sou konekte adaptè sa a nan yon distribisyon espesyalize epi pètèt ak lòt vèsyon nwayo a.
    (si se pa, Lè sa a, non, Ay, li pi bon pa menm eseye)

Sipò pou adaptè Wifi ekstèn nan Franbwaz PI

Pou adaptè WiFi a travay kòrèkteman nan Linux, nou bezwen de bagay:
1) Sipò pou nwayo Linux pou adaptè Wifi espesifik
2) Prezans nan yon modil nwayo nan sistèm lan pou yon adaptè Wifi espesifik

Pran pa egzanp adaptè TP-Link TL-WN722N. Li gen yon antèn tou senpleman bèl.
Ann jwenn chipset sou ki tablo a ap travay - pou mwen se "AR9271", Remak:

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

Koulye a, ann jwenn non paramèt la nan konfigirasyon nwayo ki responsab chofè chipset AR9271, li pi bon pou chèche konbinezon mo "AR9271 catee.net"
     kote "cateee.net" se yon sit fre ki dekri konfigirasyon modil nwayo Linux

Nou imedyatman jwenn non konfigirasyon nwayo a - CONFIG_ATH9K_HTC
ak non modil nwayo nou bezwen an ath9k_htc

ak Lè sa a, jis presize non an nan modil la vle nan dosye a fragman konfigirasyon
Linux kernel => recipes-kernel/linux/files/rbpi.cfg, ajoute liy lan:
CONFIG_ATH9K_HTC=m

Kidonk, nan lavni an ou ka konekte nenpòt ekipman adisyonèl nan sistèm ou an (byen, nan kou, si li deja sipòte nan nwayo Linux la)

Kisa pou w fè si w se yon habra geek - designer

Epi ou kreye bagay ki pi fre, tankou isit la oswa ou se yon elèv ak rèv pou kreye yon bagay ki sanble.

Jis tou senpleman, ou ka pran kèk kalite ekran Touch Screen pou RPI sou aliexpress, kòmande yon batri apwopriye la, konekte li tout nan yon Raspberry Pi 1,2 oswa 3 tablo (de preferans 3, paske li te bati nan Wifi), chwazi yon koòdone tèm konsepsyon grafik nan Kodi, ki fèt pou yon ekran tactile ak vwala => ou ka jwenn yon jwè odyo senp. Natirèlman li pral byen ankonbran, men li pral pou ou.

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

  Si repons nan GUI Kodi 17.6 akòz nwayo a processeur sèl nan Zewo sanble misterye pou ou, Lè sa a, ou ka twonpe zòrèy ou epi bati yon vèsyon ki pi gran, men trè vit, pou egzanp Kodi 15.2, li se pi plis "zanmitay" nan sans sa a. (pafwa eritaj rezoud tout bagay)

Malerezman, mwen pa gen tablo a, kidonk mwen pa ka tcheke, men mwen santi mwen tankou li ta dwe travay.

Brèf Enstriksyon Asanble

    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
    

enstriksyon asanble plis detay
ak anrejistreman sou yon kat microSDHC, gade nan yon atik anvan

PS

Natirèlman, lide a nan yon oratè radyo entènèt se tipik, tout moun konnen li epi sou Habré w ap jwenn anpil atik sou sijè sa a, pou egzanp. isit la

Epi ou ka panse tou ke mwen tou senpleman pwepare kondisyon yo nan yon solisyon pare-fè. Pou sa a mwen ka kontrekare epi di ke non, onètman.

Istwa Mr Ervey

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

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

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

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

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

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

Plis bon ak diferan asanble pou ou, epi kite menm ansyen brik la chante pou ou ane sa a.

Sous: www.habr.com

Add nouvo kòmantè