
Prasyarat asas:
- Terdapat papan Raspberry Pi generasi pertama lama yang tidak digunakan;
- Papan terletak pada kabinet sebagai pemberat mati dan tidak digunakan - papan "Bata";
Apa yang saya ingin terima:
- Pada masa tertentu (contohnya, mengikut mood)
papan itu tidak lagi menjadi "Bata", dan kad memori ajaib dimasukkan ke dalamnya; - Kabel Ethernet dan palam daripada pembesar suara rumah biasa atau fon kepala disambungkan ke papan;
- Selepas kuasa digunakan, bekas "Bata" - menyanyi
Idea utama:
- 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";
- 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) );
- Kawalan dijalankan melalui saluran radio, dan saluran radio ini boleh menjadi tetikus radio biasa;
- 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:
- Agak pantas (ia mengambil masa 30-40 saat untuk mencapai mod operasi daripada bekalan kuasa);
- Agak boleh dipercayai (kurang program, lebih sedikit titik kegagalan);
- 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 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 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:
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 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
Postscript
Sudah tentu, idea penceramah radio Internet adalah tipikal, semua orang tahu dan di Habré anda akan menemui banyak artikel mengenai subjek ini, contohnya
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
