
Panguna nga mga kinahanglanon:
- Adunay usa ka karaan nga wala magamit nga unang henerasyon nga Raspberry Pi board;
- Ang tabla nahimutang sa kabinet isip usa ka patay nga gibug-aton ug wala gigamit - ang tabla nga "Brick";
Unsa ang gusto nakong madawat:
- Sa usa ka punto sa panahon (pananglitan, sumala sa mood)
ang board mihunong nga usa ka "Brick", ug usa ka magic memory card ang gisal-ut niini; - Ang usa ka Ethernet cable ug usa ka plug gikan sa usa ka regular nga mamumulong sa panimalay o mga headphone konektado sa board;
- Human magamit ang gahum, ang kanhi "Brick" - nagaawit
Pangunang ideya:
- Ang minimum nga gidaghanon sa mga lihok alang sa bisan unsa nga pag-setup, sa labing maayo nga kaso, among gikonektar lamang ang "Ethernet" nga kable, gahum ug mga mamumulong, ug wala nay laing gibuhat, gikan sa pulong "sa tanan";
- Ang kanhi nga "Brick" gikan sa kahon nagsuporta, pananglitan, 20 ka mga estasyon sa radyo sa Internet, nga mahimong ibalhin sa usa ka lingin pinaagi sa pagpindot sa ligid sa mouse o sa usa ka piho nga GPIO pin (ikonektar ang duha ka wire ug mubo kini (akong damgo sukad sa pagkabata) );
- Ang pagpugong gihimo pinaagi sa usa ka channel sa radyo, ug kini nga channel sa radyo mahimo nga usa ka regular nga mouse sa radyo;
- Pagkuha usa ka andam nga sistema ug i-assemble ang pag-apod-apod sa "Yocto Project"
mga. sama sa naandan, wala kami magbuhat kanimo, tungod kay ang tanan nahimo na.
(Kini igo na nga ibutang ang usa ka tigpaniid sa gawas sa pikas nga bahin "TV");
paghulagway
Ang pinakasimple nga kolum sa Internet Radio "KODI"
Ang asembliya gidisenyo alang sa mas daan nga Raspberry Pi 1 nga mga tabla
(pagkolekta og abog sa usa ka dapit sa aparador, apan andam na sa pagbuhat ug dugang trabaho)
Sa kasagaran, ang m3u8 nga lista sa 12 ka estasyon sa radyo sa Internet gigamit.
Gituohan nga ang board nagtrabaho nga walay HDMI output, ug aron mapalong kini kinahanglan nimo nga i-unplug ang power adapter gikan sa outlet. Ug isip usa ka ultra-modernong wireless control panel, mahimo nimong gamiton ang imong super radio mouse (o ikonektar ang usa ka regular nga gray nga adunay ikog).
Kung gi-on, ang default nga interface sa network gi-configure pinaagi sa DHCP protocol ug ang katapusan nga gisag-ulo nga estasyon sa radyo gikan sa lista gipatokar, ang volume sa playback kontrolado sa usa ka regular nga mouse:
(sa katapusan itudlo ang imong mouse isip "punoan sa pagdumala", ug pahalipayan kini, angayan kini)
колесико вперед - увеличение громкости звука
колесико назад - уменьшение громкости звука
длительное нажатие (3сек и более) на правую кнопку мыши
- выбор следующий радиостанции
длительное нажатие (3сек и более) на левую кнопку мыши
- выбор предыдущей радиостанции
Aron idugang ang imong kaugalingon nga lista sa mga estasyon sa radyo sa Internet
mahimo nimong ikonektar kanunay ang usa ka HDMI cable gikan sa imong TV
ug gamita ang standard graphical interface sa Kodi 17.6
(i-off ang board, ikonektar ang HDMI ug i-on ang power adapter)Kodi main menu => "Mga Add-on" => "Akong mga add-on"
=> "Mga Kliyente sa PVR" => "Simple nga Kliyente sa PVR IPTV"
Inisyal nga pagpatuman
(posible)
Sa sinugdan, sa dihang nakahukom ko nga maghimo ug “Internet Radio Column”, akong giplano ang mosunod:
- Minimalist console distribution sa Yocto Project;
- Ang audio stream gipatokar pinaagi sa GStreamer;
- Ang interface sa network gi-configure pinaagi sa DHCP;
Ug kini nga solusyon adunay daghang mga bentaha:
- Dali kaayo (kinahanglan 30-40 segundos aron maabot ang operating mode gikan sa suplay sa kuryente);
- Medyo kasaligan (gamay nga mga programa, mas gamay nga mga punto sa kapakyasan);
- Ang pag-apod-apod sa console labi ka dali nga ibalhin sa read-only mode
mga. Ang mga programa wala magsulat bisan unsa sa root file system
(ug ang file system sa SDHC media, sa akong opinyon, ang unang kandidato sa kapakyasan);
Mubo nga sulat:
В Yocto перевести корневую файловую систему (rootfs)
в режим только чтение можно сделать достаточно просто,
изменив один параметр во время сборки
Из коробки Yocto предлагает два варианта:
1) Работа файловой системы в обычном режиме чтение/запись
(так работают все дистрибутивы общего назначения, например Ubuntu)
2) Работа файловой системы в режиме только чтение
(так работают специализированные дистрибутивы, например в маршрутизаторах)
В режиме только чтение все каталоги, в которые обычно
записываются данные приложений и сервисов во время работы монтируются
в оперативную память (например каталог /var/log и т.п.)
Данные актуальны только для текущего сеанса работы и после сброса питания
данные теряются.
Если в Yocto Project вы укажете при сборке использовать "read only",
то после сборки ваш дистрибутив будет настроен только на чтение,
но вы всегда можете добавить возможность динамического перевода
из "read only" в "read/write", но это уже совсем другая история ...
Ug usa ka panguna nga disbentaha:
"Kinahanglan kini buhaton" i.e. Kinahanglan kong mogugol ug N nga gidaghanon sa mga gabii
(kasagaran human sa trabaho, ug kini ang labing dili epektibo nga panahon, niining panahona ang utok dili na maghunahuna, kasagaran matulog)
Ug bisan pa, gisulat nako ang akong miaging artikulo sa Habré bahin sa multimedia center proyekto
ug ang oportunidad nga magpadayon sa parehas nga ugat nakabuntog sa akong kadasig sa panukiduki. Dugang pa bahin niini sa sunod nga kapitulo.
Ang paghimo sa Kodi nga usa ka mamumulong sa radyo sa Internet
Aron idugang ang gamit nga akong gikinahanglan, magdugang ko og usa pa ka pamaagi sa resipe alang sa pagtukod sa pag-apod-apod nga gihulagway sa miaging usa tan-awa ang 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}
}
Ang mga pamaagi gituyo alang sa pagbag-o sa root file system sa wala pa maporma ang usa ka imahe sa pag-apod-apod sa porma sa usa ka hilaw nga file, nga gisulat sa memory card nga adunay mando. dd
Gihimo kini niining paagiha:
ROOTFS_POSTPROCESS_COMMAND += "add_radio_guisettings; off_kodi_welcome;"
Sa laktud, sa nag-unang configuration file sa Kodi 17.6, "tulo ka punto" nga kausaban
- Pag-configure alang sa paglansad sa katapusang gipili nga channel sa TV;
- Audio output configuration, analog audio output lamang ang kanunay konektado;
- I-disable ang awtomatikong pag-update;
- Mubo nga sulat:
Единственное с чем у меня возникли сложности, это то, что пришлось еще подтащить файл базы данных в формате sqlite => TV29.db, в котором указывается текущий проигрываемый ТВ канал (так как по умолчанию никакой из каналов не выбран), а через xml конфигурацию в Kodi этого не сделать.
usa ka mas detalyado nga han-ay sa mga aksyon alang sa matag butang:
1) I-klik ang gear icon sa ibabaw nga wala nga suok sa screen
ug pilia ang "PVR ug TV Settings" (larawan sa usa ka TV nga adunay duha ka sungay)
unya sa wala nga bahin sa menu, pilia ang "Playback", ug sa sentral nga seksyon "General"
pilia ang "Padayon gikan sa katapusang channel sa pagsugod" sa drop-down list
pagpili sa "Foreground" setting
o mas klaro:
"Настройки PVR и ТВ"
=> "Воспроизведение"
=> "Продолжить с последнего канала при запуске" => "Передний план"
2) Pag-klik sa icon nga "gear" sa taas nga wala nga suok sa screen ug pilia ang aytem:
"Системные настройки"
=> "Дополнения" => "Обновления" => "Никогда не проверять обновления"
3) Pag-klik sa icon nga "gear" sa taas nga wala nga suok sa screen ug pilia ang aytem:
"Системные настройки"
=> "Аудио" => "Устройство вывода звука" => "PI: Analogue"
Giunsa nako ang pagtan-aw sa TV sa sayup nga paagi sa duha ka tuig.
Kinahanglan kong isugid kanimo nga sa duha ka tuig wala gihapon ako nakakat-on unsaon pagtan-aw sa TV sa husto.
Kasagaran magtan-aw kog TV sa kusina. Ang Raspberry Pi 2B board konektado sa TV, ug ang Ethernet ug HDMI connectors konektado sa board. Ang board gipaandar pinaagi sa usa ka regular nga USB cable, nga gisaksak sa USB port sa TV, i.e. Sa pagkatinuod, ang pagpalong sa TV gamit ang standard remote control nagsuplay og gahum sa Raspberry Pi board, ug ang pagpalong sa TV gikan sa remote control usab dayon ang pag-reset sa gahum gikan sa Raspberry Pi board.
Oo, nahibal-an nako nga dili kini mahimo, tungod kay ang sistema sa root file sa Kodi media center (ext3) naglihok sa normal nga mode sa pagbasa / pagsulat. Pero tapolan ko, at first nag decide ko nga check kung unsa kadugay pwede nako ma off ang system nga ingon ani, hantod nahunong na gyud pagloading, pero unfortunately, after two years wala gyud ko nakabuhat ani (basin swerte lang ko, Wala ko kahibalo).
Ug sa akong opinyon, kung kini nga mode angay alang sa akong TV, nan kini usab angay alang sa usa ka "yano nga Internet Radio speaker", ug tungod kay gipugos nako nga gipugngan ang awtomatikong pag-update sa mga plugins sa Kodi, ang posibilidad sa pagkapakyas sa file system mahimong parehas. gamay ra. Sa pagkakaron wala koy nakitang problema niini
Mubo nga sulat:
Но вы всегда при желании можете с помощью одной yocto команды
IMAGE_FEATURES += "read-only-rootfs"
и определенной магии перевести ваш дистрибутив в режим "read only"
Ang "mga mamumulong sa radyo sa Internet" nga pag-apod-apod nga gihulagway sa artikulo usa ka panimalay, ug ang labing hinungdanon alang sa usa ka pag-apod-apod sa panimalay mao ang usa ka matahum nga GUI. Sa akong opinyon, lisud kaayo o hapit imposible nga tudloan ang usa ka ordinaryo nga tiggamit sa pagsulod sa bisan unsang dili masabtan nga mga mando sa salamangka sa console, ug wala niya nahibal-an ang pulong. Apan ang GUI, palihug.
Ug kini tingali ang akong panguna nga argumento pabor sa usa ka dili pag-apod-apod sa console. Ang mainit nga lampara nga graphical user interface sa Kodi, dili gyud kinahanglan, apan naa kini.
(Ako usab hingpit nga nakalimot sa paghisgot nga ang Kodi mahimong kontrolado sa layo, pananglitan gikan sa usa ka smartphone, pinaagi sa pag-instalar sa Yatse nga aplikasyon, ug tingali alang sa uban kini usa ka dugang)
Pag-configure sa Kodi alang sa pagkontrol sa mouse
ug karon 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>
Gi-override sa configuration ang mga pangkalibutanon nga panghitabo para sa mosunod nga mga elemento:
- scroll mouse wheel sa unahan
- scroll mouse wheel balik
- pag-klik sa tunga nga buton sa mouse
- pagproseso sa taas nga mga pag-klik sa mouse (3 segundos o labaw pa),
0 right button ID, 1 left button ID
Mas detalyado nga impormasyon sa pag-set up sa mga panghitabo sa mouse:
Unsa ang buhaton kung ang cable system dili moabut kanimo
"Apan wala ako'y bisan unsang libre nga mga pantalan sa Ethernet sa balay (o wala pa)," ang pipila sa mga malipayon nga tag-iya sa daan nga Raspberry Pi 1 nga mga tabla mahimong mosinggit (tingali ang board gipalit alang sa panukiduki ug nagpabilin nga naghigda sa kabinete)
Ug tungod kay ang board wala’y built-in nga Wifi, dili kaayo kini magamit kung wala’y koneksyon sa Ethernet.
Siyempre, posible nga gamiton ang Raspberry Pi 1 board nga walay Ethernet, apan nagkinahanglan kini og paningkamot sa imong bahin. Kasagaran, ang ingon nga mga butang makapaikag nga buhaton lamang ingon bahin sa pagkat-on og bag-ong butang, i.e. Dili kini naandan nga trabaho.
Busa, atong tagdon ang usa ka hypothetical nga kaso sa paggamit alang sa usa ka board nga walay Ethernet:
Mahimo nimong ikonektar ang usa ka eksternal nga USB - Wifi adapter, nga gigiyahan sa konsiderasyon
nga ang adaptor kinahanglan nga molihok nga maayo sa ilawom sa Linux
Mubo nga sulat:
К сожалению часть 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
Kung naa na kay USB Wifi adapter, mahimo nimong susihon kung maayo ba kini sa ilawom sa Linux sama sa mosunod:
- I-install ang pipila ka kaylap nga gigamit nga distribusyon sa Linux
kinatibuk-ang katuyoan, pananglitan "Ubuntu Desktop" - I-boot ang sistema
- Ikonektar ang imong Wifi usb adapter
- Ilunsad ang network manager ug pagsulay sa pagkonektar sa imong WiFi access point
- Kung maayo ang tanan ug ang imong koneksyon sa Internet lig-on, nan ang imong adapter maayo nga gisuportahan ug mahimo nimong ipadayon ang imong trabaho sa pagkonektar niini nga adapter sa usa ka espesyal nga pag-apod-apod ug posible sa ubang mga bersyon sa kernel
(kung dili, unya dili, alaut, mas maayo nga dili na sulayan)
Suporta alang sa external Wifi adapter sa Raspberry PI
Aron ang WiFi adapter molihok sa husto sa Linux, kinahanglan namon ang duha ka butang:
1) Suporta sa Linux kernel alang sa piho nga Wifi adapter
2) Ang presensya sa usa ka kernel module sa sistema alang sa usa ka piho nga Wifi adapter
Tagda pananglitan ang TP-Link TL-WN722N adapter. Kini adunay usa ka yano nga matahum nga antenna.
Atong pangitaon ang chipset diin ang board nagtrabaho - alang kanako kini "AR9271", nota:
что самое интересное, это то, что для одной и той же модели
одного и того же производителя, чипсет Wifi может отличаться.
Я например сталкивался с тем, что для TL-WN722N версии 2,
используется уже другой чипсет Realtek RTL8188, а он уже
плохо работал под Linux (на тот момент), увы такие вот дела,
т.е. иногда нужно еще приглядываться к маленьким цифрам
версии на обратной (темной) стороне адаптера.
Karon atong pangitaon ang ngalan sa parameter sa kernel configuration nga responsable sa AR9271 chipset driver, labing maayo nga pangitaon ang kombinasyon sa mga pulong nga "AR9271 catee.net"
diin ang "cateee.net" usa ka cool nga site nga naghulagway sa mga configuration sa Linux kernel modules
Makita dayon namo ang ngalan sa configuration sa kernel - CONFIG_ATH9K_HTC
ug ang ngalan sa kernel module nga atong gikinahanglan ath9k_htc
ug dayon ipiho ang ngalan sa gusto nga module sa configuration fragment file
Linux kernel => recipes-kernel/linux/files/rbpi.cfg, idugang ang linya:
CONFIG_ATH9K_HTC=m
Busa, sa umaabot mahimo nimong ikonektar ang bisan unsang dugang nga kagamitan sa imong sistema (maayo, siyempre, kung kini gisuportahan na sa Linux kernel)
Unsa ang buhaton kung ikaw usa ka habra geek - tigdesinyo
Ug nagmugna ka sa labing cool nga mga butang, sama sa o ikaw usa ka estudyante ug nagdamgo sa paghimo og susama.
Sa tinuud, mahimo nimong makuha ang usa ka matang sa Touch Screen screen alang sa RPI sa aliexpress, pag-order usa ka angay nga baterya didto, ikonektar kini tanan sa usa ka Raspberry Pi 1,2 o 3 board (mas maayo nga 3, tungod kay kini adunay built-in nga Wifi), pilia usa ka interface sa tema nga graphic design sa Kodi, gidisenyo alang sa usa ka touch screen ug voila => makakuha ka usa ka yano nga audio player. Siyempre kini mahimong dako kaayo, apan kini imoha.
Примечание:
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)}"
Kung ang pagtubag sa GUI Kodi 17.6 tungod sa us aka processor nga core sa Zero daw misteryoso kanimo, nan mahimo nimong limbongan ang imong mga dalunggan ug magtukod usa ka mas tigulang, apan paspas kaayo nga bersyon, pananglitan Kodi 15.2, kini labi ka "mahigalaon" niining bahina. (usahay ang kabilin makasulbad sa tanan)
Ikasubo, wala ko ang board, mao nga dili nako masusi, apan gibati nako nga kini kinahanglan nga molihok.
Mubo nga Instruksyon sa Asembliya
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
mas detalyado nga instruksyon sa asembliya
ug pagrekord sa usa ka microSDHC card, tan-awa
Postscript
Siyempre, ang ideya sa usa ka mamumulong sa radyo sa Internet kasagaran, nahibal-an kini sa tanan ug sa Habré makit-an nimo ang daghang mga artikulo bahin niini nga hilisgutan, pananglitan
Ug tingali maghunahuna ka usab nga gipahaum ko lang ang mga kinahanglanon sa usa ka andam nga solusyon. Niini makasukol ako ug makaingon nga dili, sa tinuud.
Ang istorya ni Mr Ervey
Хотите верьте, хотите нет, а дело было так:
Наш рабочий офис граничит с фирмой по производству разного звукового
оборудования, и однажды директор этой фирмы, назовем его мистер "Эрви"
подошел к нашему заместителю директора филиала мистеру "Арсению"
и спросил у него, насколько сложно повесить на плату Raspberry Pi
проигрывание звукового потока т.е. плата подключается к сети
и колонкам, и "слышен характерный звук".
После этого мистер Арсений подошел к заместителю моего
начальника - мистеру "Борису" и переадресовал вопрос ему,
ну а я, как сторонний наблюдатель случайно эту идею запомнил
и назвал ее "Задача трех начальников".
В общем хотели как лучше,
а получилось, цитата - "Но мистер Эрви, как всегда, помог."
Через некоторое время я поинтересовался у мистера "Бориса"
его мнением по поводу написания небольшой заметки на эту тему
на "Хабре", на что "Борис" ответил, что изменение
"трех пунктов меню" в Kodi, особо не привносит никакой
новой информации и не заслуживает отдельного упоминания.
Конечно я с ним полностью согласен и поэтому, я не расскажу ему,
что что-то написал по этому поводу.
Статья написана исключительно для платы "Raspberry Pi 1"
взятой у мистера "Бориса" на время эксперимента,
совпадения со всеми другими платами "Raspberry Pi 1" случайны.
Dugang nga maayo ug lain-laing mga asembliya alang kanimo, ug himoa nga bisan ang kanhing tisa nga mag-awit alang kanimo karong tuiga.
Source: www.habr.com
