Lajur radio Internet paling mudah "Kodi" atau keselamatan bata "Raspberry".

Lajur radio Internet paling mudah "Kodi" atau keselamatan bata "Raspberry".

Prasyarat asas:

  1. Terdapat papan Raspberry Pi generasi pertama lama yang tidak digunakan;
  2. Papan terletak pada kabinet sebagai pemberat mati dan tidak digunakan - papan "Bata";

Apa yang saya ingin terima:

  1. Pada masa tertentu (contohnya, mengikut mood)
    papan itu tidak lagi menjadi "Bata", dan kad memori ajaib dimasukkan ke dalamnya;
  2. Kabel Ethernet dan palam daripada pembesar suara rumah biasa atau fon kepala disambungkan ke papan;
  3. Selepas kuasa digunakan, bekas "Bata" - menyanyi

Idea utama:

  1. Bilangan gerak isyarat minimum untuk sebarang persediaan, dalam kes yang paling ideal, kami hanya menyambungkan kabel, kuasa dan pembesar suara "Ethernet", dan tidak melakukan apa-apa lagi, daripada perkataan "sama sekali";
  2. Bekas "Brick" di luar kotak menyokong, sebagai contoh, 20 stesen radio Internet, yang boleh ditukar dalam bulatan dengan menekan roda tetikus atau pada pin GPIO tertentu (sambungkan dua wayar dan pendekkannya (impian saya sejak kecil) );
  3. Kawalan dijalankan melalui saluran radio, dan saluran radio ini boleh menjadi tetikus radio biasa;
  4. Ambil sistem sedia dan kumpulkan pengedaran ke dalam "Projek Yocto"
    mereka. seperti biasa, kami tidak akan melakukan apa-apa kepada anda, kerana semuanya telah dilakukan.
    (cukup sekadar meletakkan pemerhati luar di sisi lain "TV");

Описание

Lajur Internet Radio paling ringkas "KODI"
Pemasangan direka untuk papan Raspberry Pi 1 yang lebih lama
(mengumpul habuk di suatu tempat di dalam almari, tetapi yang sedia untuk melakukan beberapa kerja lagi)

Secara lalai, senarai m3u8 12 stesen radio Internet digunakan.

Diandaikan bahawa papan berfungsi tanpa output HDMI, dan untuk mematikannya anda hanya perlu mencabut penyesuai kuasa dari alur keluar. Dan sebagai panel kawalan wayarles ultra-moden, anda boleh menggunakan tetikus radio super anda (atau sambungkan yang kelabu biasa dengan ekor).

Apabila dihidupkan, antara muka rangkaian lalai dikonfigurasikan melalui protokol DHCP dan stesen radio yang terakhir dihafal daripada senarai dimainkan, volum main semula dikawal dengan tetikus biasa:
(akhirnya lantik tetikus anda sebagai "ketua pengurusan", dan tahniah, ia patut mendapatnya)

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

Untuk menambah senarai stesen radio Internet anda sendiri
anda sentiasa boleh menyambungkan kabel HDMI daripada TV anda
dan gunakan antara muka grafik standard Kodi 17.6
(matikan papan, sambungkan HDMI dan hidupkan penyesuai kuasa)

Menu utama Kodi => "Add-ons" => "Add-ons saya"
          => "Pelanggan PVR" => "Pelanggan Mudah PVR IPTV"

Pelaksanaan awal

(mungkin)
Pada mulanya, apabila saya memutuskan untuk membuat "Lajur Radio Internet", saya merancang perkara berikut:

  • Pengedaran konsol minimalis dalam Projek Yocto;
  • Strim audio dimainkan melalui GStreamer;
  • Antara muka rangkaian dikonfigurasikan melalui DHCP;

Dan penyelesaian ini mempunyai beberapa kelebihan:

  1. Agak pantas (ia mengambil masa 30-40 saat untuk mencapai mod operasi daripada bekalan kuasa);
  2. Agak boleh dipercayai (kurang program, lebih sedikit titik kegagalan);
  3. Pengedaran konsol adalah lebih mudah untuk beralih kepada mod baca sahaja
    mereka. program tidak menulis apa-apa ke sistem fail akar
    (dan sistem fail pada media SDHC adalah, pada pendapat saya, calon pertama untuk kegagalan);

Nota:

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

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

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

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

Dan satu kelemahan utama:

"Ia mesti dilakukan" i.e. Saya perlu menghabiskan N bilangan malam
(biasanya selepas kerja, dan ini adalah masa yang paling tidak berkesan, pada masa ini otak tidak lagi berfikir, biasanya tidur)

Namun, saya menulis artikel saya sebelum ini di Habré tentang pusat multimedia Kodi dan Yocto projek
dan peluang untuk meneruskan dalam nada yang sama mengatasi dorongan penyelidikan saya. Lebih lanjut mengenai perkara ini dalam bab seterusnya.

Mengubah Kodi menjadi pembesar suara radio Internet

Untuk menambah fungsi yang saya perlukan, saya akan menambah satu lagi kaedah kepada resipi untuk membina pengedaran yang diterangkan dalam yang sebelumnya artikel lihat fail 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}
}

Kaedah ini bertujuan untuk mengubah suai sistem fail akar sebelum membentuk imej pengedaran dalam bentuk satu fail mentah, yang ditulis pada kad memori dengan arahan dd

Ini dilakukan dengan cara ini:
ROOTFS_POSTPROCESS_COMMAND += "add_radio_guisettings; off_kodi_welcome;"

Ringkasnya, dalam fail konfigurasi utama Kodi 17.6, "tiga mata" berubah

  • Konfigurasi untuk melancarkan saluran TV yang terakhir dipilih;
  • Konfigurasi output audio, hanya output audio analog sentiasa disambungkan;
  • Lumpuhkan kemas kini automatik;
  • Nota:
        Единственное с чем у меня возникли сложности, 
        это то, что пришлось еще подтащить файл базы данных 
        в формате sqlite => TV29.db, в котором указывается 
        текущий проигрываемый ТВ канал 
        (так как по умолчанию никакой из каналов не выбран), 
        а через xml конфигурацию в Kodi этого не сделать.
        

urutan tindakan yang lebih terperinci untuk setiap item:

1) Klik pada ikon gear di penjuru kiri sebelah atas skrin
dan pilih "Tetapan PVR dan TV" (imej TV dengan dua hon)
kemudian di sebelah kiri menu, pilih "Main Semula", dan di bahagian tengah "Umum"
pilih "Teruskan dari saluran terakhir semasa permulaan" dalam senarai juntai bawah
memilih tetapan "Latar Depan".

atau lebih jelas lagi:

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

2) Klik pada ikon "gear" di penjuru kiri sebelah atas skrin dan pilih item:

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

3) Klik pada ikon "gear" di penjuru kiri sebelah atas skrin dan pilih item:

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

Bagaimana saya telah menonton TV dengan cara yang salah selama dua tahun.

Saya mesti mengaku kepada anda bahawa dalam dua tahun saya masih belum belajar cara menonton TV dengan betul.

Saya biasanya menonton TV di dapur. Papan Raspberry Pi 2B disambungkan ke TV dan penyambung Ethernet dan HDMI disambungkan ke papan. Papan dikuasakan melalui kabel USB biasa, yang dipalamkan ke port USB TV, i.e. sebenarnya, menghidupkan TV menggunakan alat kawalan jauh standard membekalkan kuasa ke papan Raspberry Pi, dan mematikan TV daripada alat kawalan jauh juga segera menetapkan semula kuasa daripada papan Raspberry Pi.

Ya, saya sangat sedar bahawa ini tidak boleh dilakukan, kerana sistem fail akar pusat media Kodi (ext3) berfungsi dalam mod baca/tulis biasa. Tetapi saya seorang yang malas, dan mula-mula saya memutuskan untuk menyemak berapa lama saya boleh mematikan sistem seperti ini, sehingga ia berhenti memuat sepenuhnya, tetapi malangnya, selepas dua tahun saya tidak pernah berjaya melakukan ini (mungkin saya hanya bernasib baik, saya tidak tahu).

Dan pada pendapat saya, jika mod ini sesuai untuk TV saya, maka ia juga sesuai untuk "pembesar suara Radio Internet mudah", dan kerana saya secara paksa melumpuhkan pengemaskinian automatik pemalam Kodi, kemungkinan kegagalan sistem fail akan menjadi sama. kurang. Setakat ini saya tidak nampak masalah dengan ini

Nota:

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

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

Pengedaran "Pembesar suara radio Internet" yang diterangkan dalam artikel adalah pengedaran isi rumah, dan apa yang paling penting untuk pengedaran isi rumah ialah GUI yang cantik. Pada pendapat saya, sangat sukar atau hampir mustahil untuk mengajar pengguna biasa memasukkan sebarang arahan sihir yang tidak dapat difahami ke dalam konsol, dan dia tidak tahu perkataan itu. Tetapi GUI, sila.

Dan ini mungkin hujah utama saya yang memihak kepada pengedaran bukan konsol. Antara muka pengguna grafik lampu hangat Kodi, ia tidak benar-benar diperlukan, tetapi ia ada di sana.
(Saya juga benar-benar terlupa untuk menyatakan bahawa Kodi boleh dikawal dari jauh, contohnya dari telefon pintar, dengan memasang aplikasi Yatse, dan mungkin untuk sesetengahnya ini akan menjadi tambahan)

Konfigurasi Kodi untuk kawalan tetikus

dan kini Roket

<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 mengatasi peristiwa global untuk elemen berikut:

  • tatal roda tetikus ke hadapan
  • tatal roda tetikus ke belakang
  • mengklik butang tengah tetikus
  • memproses klik tetikus yang panjang (3 saat atau lebih),
    0 ID butang kanan, 1 ID butang kiri

Maklumat lebih terperinci tentang menyediakan acara tetikus:

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

Apa yang perlu dilakukan jika sistem kabel tidak sampai kepada anda

"Tetapi saya tidak mempunyai sebarang port Ethernet percuma di rumah (atau tidak pernah)," beberapa pemilik gembira papan Raspberry Pi 1 lama mungkin berseru (mungkin papan itu dibeli untuk penyelidikan dan kekal berbaring di kabinet)

Dan memandangkan papan tidak mempunyai Wifi terbina dalam, ia tidak begitu berfungsi tanpa sambungan Ethernet.

Sudah tentu, adalah mungkin untuk menggunakan papan Raspberry Pi 1 tanpa Ethernet, tetapi ia memerlukan sedikit usaha di pihak anda. Biasanya, perkara sedemikian menarik untuk dilakukan hanya sebagai sebahagian daripada mempelajari sesuatu yang baru, i.e. Ini bukan kerja adat.

Jadi, mari kita pertimbangkan kes penggunaan hipotetikal untuk papan tanpa Ethernet:

Anda boleh menyambungkan USB luaran - penyesuai Wifi, berpandukan pertimbangan
bahawa penyesuai harus berfungsi dengan baik di bawah Linux

Nota:

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

Jika anda sudah mempunyai penyesuai USB Wifi, anda boleh menyemak sama ada ia berfungsi dengan baik di bawah Linux seperti berikut:

  • Pasang beberapa pengedaran Linux yang digunakan secara meluas
    tujuan umum, contohnya "Ubuntu Desktop"
  • But sistem
  • Sambungkan penyesuai usb Wifi anda
  • Lancarkan pengurus rangkaian dan cuba sambungkan ke pusat akses WiFi anda
  • Jika semuanya berfungsi dengan baik dan sambungan Internet anda stabil, maka penyesuai anda disokong dengan baik dan anda boleh meneruskan kerja anda untuk menyambungkan penyesuai ini dalam pengedaran khusus dan mungkin dengan versi kernel yang lain
    (jika tidak, maka tidak, malangnya, lebih baik tidak mencuba)

Sokongan untuk penyesuai Wifi luaran dalam Raspberry PI

Untuk penyesuai WiFi berfungsi dengan betul di Linux, kami memerlukan dua perkara:
1) Sokongan kernel Linux untuk penyesuai Wifi tertentu
2) Kehadiran modul kernel dalam sistem untuk penyesuai Wifi tertentu

Ambil contoh penyesuai TP-Link TL-WN722N. Ia mempunyai antena yang sangat indah.
Mari cari chipset di mana papan berfungsi - bagi saya ia adalah "AR9271", Nota:

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

Sekarang mari cari nama parameter dalam konfigurasi kernel yang bertanggungjawab untuk pemacu set cip AR9271, sebaiknya cari gabungan perkataan "AR9271 catee.net"
     di mana "cateee.net" ialah tapak hebat yang menerangkan konfigurasi modul kernel Linux

Kami segera mencari nama konfigurasi kernel - CONFIG_ATH9K_HTC
dan nama modul kernel yang kami perlukan ath9k_htc

dan kemudian nyatakan nama modul yang diperlukan dalam fail serpihan konfigurasi
Linux kernel => recipes-kernel/linux/files/rbpi.cfg, tambah baris:
CONFIG_ATH9K_HTC=m

Oleh itu, pada masa hadapan anda boleh menyambungkan sebarang peralatan tambahan ke sistem anda (baik, sudah tentu, jika ia sudah disokong dalam kernel Linux)

Apa yang perlu dilakukan jika anda seorang habra geek - pereka

Dan anda mencipta perkara yang paling hebat, seperti di sini atau anda seorang pelajar dan bermimpi untuk mencipta sesuatu yang serupa.

Secara tidak langsung, anda boleh mengambil beberapa jenis skrin Skrin Sentuh untuk RPI pada aliexpress, pesan bateri yang sesuai di sana, sambungkan semuanya ke papan Raspberry Pi 1,2 atau 3 (sebaik-baiknya 3, kerana ia mempunyai Wifi terbina dalam), pilih antara muka tema reka bentuk grafik dalam Kodi, direka untuk skrin sentuh dan voila => anda boleh mendapatkan pemain audio ringkas. Sudah tentu ia akan menjadi agak besar, tetapi ia akan menjadi milik anda.

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

  Jika responsif GUI Kodi 17.6 disebabkan oleh teras pemproses tunggal dalam Zero kelihatan misteri kepada anda, maka anda boleh menipu telinga anda dan membina versi yang lebih lama, tetapi sangat pantas, contohnya Kodi 15.2, ia lebih "mesra" dalam hal ini (kadang-kadang warisan menyelesaikan segala-galanya)

Malangnya, saya tidak mempunyai papan, jadi saya tidak boleh menyemak, tetapi saya rasa ia sepatutnya berfungsi.

Arahan Perhimpunan Ringkas

    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
    

arahan pemasangan yang lebih terperinci
dan rakaman pada kad microSDHC, lihat dalam artikel sebelum ini

Postscript

Sudah tentu, idea penceramah radio Internet adalah tipikal, semua orang tahu dan di Habré anda akan menemui banyak artikel mengenai subjek ini, contohnya di sini

Dan anda juga mungkin berfikir bahawa saya hanya menyesuaikan keperluan kepada penyelesaian siap sedia. Untuk ini saya boleh melawan dan mengatakan bahawa tidak, secara jujur.

Cerita Encik Ervey

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

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

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

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

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

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

Lebih banyak perhimpunan yang bagus dan berbeza untuk anda, dan biarkan bekas batu bata menyanyi untuk anda tahun ini.

Sumber: www.habr.com

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster