As premissas principais:
- Existe uma antiga placa Raspberry Pi de primeira geração não utilizada;
- A placa fica com peso morto no gabinete e não é usada - a placa Brick;
O que eu gostaria de receber:
- Em um determinado momento (por exemplo, por humor)
o quadro deixa de ser um "tijolo" e um cartão de memória mágico é inserido nele; - Um cabo Ethernet e um plugue de um alto-falante doméstico ou fone de ouvido estão conectados à placa;
- Após a fonte de alimentação, o antigo “Brick” canta
A ideia principal:
- O número mínimo de gestos para qualquer configuração, no caso mais ideal, conectamos apenas o cabo "Ethernet", a alimentação e os alto-falantes, e nada mais, a partir da palavra "completamente";
- O antigo “Brick” pronto para uso suporta, por exemplo, 20 estações de rádio da Internet, cuja comutação em círculo pode ser desligada pressionando a roda do mouse ou em um pino GPIO específico (conecte dois fios e feche-os (meu sonho desde a infância));
- O gerenciamento é realizado em um canal de rádio, e esse canal de rádio pode se tornar um mouse de rádio comum;
- Pegue um sistema pronto, monte a distribuição no "Projeto Yocto"
isto é como sempre, não faremos nada, pois tudo já foi feito.
(apenas coloque um observador externo do outro lado da “TV” );
Descrição do produto
A coluna mais simples da Internet Radio "KODI"
A montagem é para placas Raspberry Pi 1 mais antigas
(acumulando poeira em algum lugar do armário, mas que ainda estão prontos para trabalhar)
Por padrão, é usada a lista m3u8 de 12 estações de rádio da Internet.
Supõe-se que a placa funcione sem uma saída HDMI e, para desligá-la, basta desconectar o adaptador de energia da tomada. E como um controle remoto sem fio ultramoderno, você pode usar o seu super rádio mouse (bem, ou conectar um cinza comum com uma cauda).
Quando você liga a interface de rede por padrão, ela é configurada através do protocolo DHCP e a última estação de rádio armazenada da lista é reproduzida, o volume de reprodução é controlado por um mouse convencional:
(finalmente nomeie o mouse como "chefe do departamento" e parabenize-a, ela mereceu)
- - (3 ) - (3 ) -
Para adicionar sua própria lista de estações de rádio da Internet
Você sempre pode conectar um cabo HDMI a partir da TV
e use a GUI Kodi 17.6 padrão
(desligue a placa, conecte o HDMI e ligue o adaptador de energia)
Menu principal do Kodi => "Complementos" => "Meus Complementos"
=> “Clientes PVR” => “Cliente Simples PVR IPTV”
Implementação inicial
(possível)
Inicialmente, quando decidi criar uma "coluna de rádio na Internet", planejei o seguinte:
- Distribuição de console minimalista no Projeto Yocto;
- O fluxo de áudio é reproduzido através do GStreamer;
- A interface de rede é configurada via DHCP;
E esta solução tem várias vantagens:
- Rápido o suficiente (saída para o modo operacional da fonte de alimentação 30-40 seg);
- Confiável o suficiente (menos programas, menos pontos de falha);
- Distribuição do console muito mais fácil de configurar como somente leitura
isto é programas não gravam nada na raiz do sistema de arquivos
(um sistema de arquivos na mídia SDHC é, na minha opinião, o primeiro candidato a falhas);
Nota: Yocto (rootfs) , Yocto : 1) / ( , Ubuntu) 2) ( , ) , ( /var/log ..) . Yocto Project "read only", , "read only" "read/write", ...
E uma desvantagem principal:
"Isso deve ser feito", ou seja, Eu preciso gastar N número de noites
(geralmente depois do trabalho, e esse é o momento mais ineficiente, nesse momento o cérebro não pensa mais, geralmente dorme)
E, no entanto, escrevi meu artigo anterior sobre Habré sobre o projeto
Kodi e Yocto do centro multimídia
e a capacidade de continuar na mesma linha dominou meu impulso de pesquisa. Sobre isso no próximo capítulo.
Transformando o Kodi em uma coluna de rádio na Internet
Para adicionar a funcionalidade necessária, adicionarei outro método à receita de criação de distribuição descrita no
artigo anterior
, consulte berserk-image.bb
GUI_SETTINGS = "home/root/.kodi/userdata/guisettings.xml"
Os métodos destinam-se a modificar o sistema de arquivos raiz antes de formar a imagem de distribuição na forma de um único arquivo bruto, gravado no cartão de memória com o
comando ddIsso é feito desta maneira:
ROOTFS_POSTPROCESS_COMMAND + = "add_radio_guisettings; off_kodi_welcome; "Em resumo, no arquivo de configuração principal Kodi 17.6, “três pontos” mudam
- Iniciar a configuração do último canal de TV selecionado;
- Configuração de saída de som, apenas a saída de áudio analógica está sempre conectada;
- Desativando atualizações automáticas;
Nota: , , sqlite => TV29.db, ( ), xml Kodi .
sequência mais detalhada de ações para cada item:
1) Clique no ícone de roda dentada no canto superior esquerdo da tela
e selecione “Configurações de PVR e TV” (imagem de uma TV com duas buzinas)
mais à esquerda do menu, selecione o item "Reprodução" e na seção central "Geral"
especifique na lista suspensa "Continuar do último canal na inicialização"
selecionando a configuração “Primeiro plano”
ou mais claramente:
" PVR " => "" => " " => " "
2) Clique no ícone de roda dentada no canto superior esquerdo da tela e selecione o item:
" " => "" => "" => " "
3) Clique no ícone "engrenagem" no canto superior esquerdo da tela e selecione:
" " => "" => " " => "PI: Analogue"
Eu assisto TV errado há dois anos.
Devo admitir que, durante dois anos, não aprendi a assistir à TV corretamente.
Normalmente assisto TV na cozinha. A placa Raspberry Pi 2B está conectada à TV e os conectores Ethernet e HDMI estão conectados à placa. A placa é alimentada por um cabo USB comum, conectado à porta USB da TV, ou seja, de fato, ligar a TV usando o controle remoto padrão também fornece energia à placa Raspberry Pi e desligar a TV a partir do controle remoto também redefine imediatamente a energia da placa Raspberry Pi.
Sim, estou ciente de que isso não pode ser feito, porque o sistema de arquivos raiz do centro multimídia Kodi (ext3) possui funções normais de leitura / gravação. Mas sou uma pessoa preguiçosa e, para começar, decidi verificar por quanto tempo o sistema pode ser desligado dessa maneira até que pare completamente de carregar, mas infelizmente por dois anos não consegui fazer isso (talvez tenha tido sorte, não sei )
E, na minha opinião, se esse modo fosse adequado para minha TV, também seria adequado para um "alto-falante simples de rádio na Internet" e, como desliguei forçosamente a atualização automática dos plug-ins Kodi, a probabilidade de uma falha no sistema de arquivos se tornaria ainda menor. Enquanto eu não vejo um problema com isso
Nota: yocto IMAGE_FEATURES += "read-only-rootfs" "read only"
A distribuição "alto-falantes de rádio da Internet" descrita no artigo é doméstica, e o que é mais importante para uma distribuição doméstica é uma bela GUI. Na minha opinião, é muito difícil ou quase impossível ensinar um usuário comum a dirigir quaisquer comandos mágicos estranhos no console, e ele nem conhece essa palavra. E aqui está a GUI, isso é por favor.
E este é talvez o meu principal argumento a favor de uma distribuição que não seja do console. A interface gráfica de usuário do tubo quente da Kodi, sim, não é particularmente necessária, mas é.
(Também esqueci completamente de mencionar que o Kodi pode ser controlado remotamente, por exemplo, a partir de um smartphone, instalando o aplicativo Yatse e, talvez, para alguém seja uma vantagem)
Configuração Kodi para controle do mouse
e agora Rocket <keymap> <global> <mouse> <wheelup>VolumeUp</wheelup> <wheeldown>VolumeDown</wheeldown> <middleclick>ChannelDown</middleclick> <longclick id=^_^quot�quot^_^>ChannelDown</longclick> <longclick id=^_^quot quot^_^>ChannelUp</longclick> </mouse> </global> </keymap>
A configuração substitui os eventos globais para os seguintes elementos:
- roda do mouse para a frente
- roda do mouse rolar para trás
- clicando no botão do meio do mouse
- processamento de cliques longos do mouse (3seg ou mais),
0 identificador de botão direito, 1 identificador de botão esquerdo
mais informações sobre a configuração de eventos do mouse:
kodi.wiki/view/Alternative_keymaps_for_micekodi.wiki/view/Action_IDskodi.wiki/view/ID do WindowsO que fazer se o sistema de cabo não chegou até você
"Mas eu não tenho portas Ethernet gratuitas em casa (ou nunca tive)" - alguns dos sortudos proprietários das antigas placas Raspberry Pi 1 podem exclamar (talvez a placa tenha sido comprada para pesquisa e permaneceu no gabinete)
E como não há Wifi embutido na placa, então sem uma conexão Ethernet, isso não é muito funcional.
Obviamente, existe a possibilidade de usar a placa Raspberry Pi 1 sem Ethernet, mas isso exigirá algum esforço de sua parte. Geralmente, essas coisas são interessantes para executar apenas como parte do estudo de algo novo, ou seja, isso não é trabalho do usuário.
Portanto, considere uma opção hipotética para usar uma placa sem Ethernet:
Você pode conectar um adaptador USB - Wifi externo, guiado por essa consideração,
que o adaptador funcione bem no 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
Se você já possui um adaptador Wifi USB, pode verificar se ele funciona bem no Linux da seguinte maneira:
- Instale alguma distribuição Linux generalizada
uso geral, por exemplo, "Ubuntu Desktop" - Sistema de inicialização
- Conecte seu adaptador usb wifi
- Inicie o gerenciador de rede e tente conectar-se ao seu ponto de acesso WiFi
- Se tudo funcionar bem e sua conexão com a Internet estiver estável, seu adaptador será bem suportado e você poderá continuar trabalhando na conexão desse adaptador em um kit de distribuição especializado e, possivelmente, com outras versões do kernel
(se não, então não, infelizmente - é melhor nem tentar)
Suporte para adaptador Wifi externo em "Raspberry PI"Para que o adaptador WiFi funcione corretamente no Linux: precisamos de duas coisas:
1) Suporte ao kernel Linux para um adaptador Wifi específico
2) A presença no sistema de um módulo do kernel para um adaptador Wifi específico
Pegue o adaptador TP-Link TL-WN722N, por exemplo. Ele só tem uma ótima antena.
Vamos encontrar o chipset no qual a placa trabalha - eu tenho "AR9271",
nota: , , , Wifi . , TL-WN722N 2, Realtek RTL8188, Linux ( ), , .. () .
Agora, encontraremos o nome do parâmetro na configuração do kernel responsável pelo driver do chipset AR9271; é melhor procurar a combinação de palavras "AR9271 cateee.net"
onde "cateee.net" é um site interessante que descreve as configurações dos módulos do kernel do Linux
Encontre imediatamente o nome da configuração do kernel -
CONFIG_ATH9K_HTCe o nome do módulo do kernel
ath9k_htc que
precisamose especifique o nome do módulo desejado no arquivo de fragmento de configuração
Kernel do Linux => recipes-kernel / linux / files / rbpi.cfg, adicione a linha:
CONFIG_ATH9K_HTC = mPortanto, no futuro, você poderá conectar qualquer equipamento adicional ao seu sistema (bem, é claro, se ele já for suportado no kernel do Linux)
O que fazer se você é um designer nerd
E você cria as coisas mais legais, por exemplo, como
aqui ou você é um estudante e sonha em criar algo semelhante.
Então, de imediato, você pode pegar algum tipo de tela sensível ao toque para RPI no aliexpress, pedir uma bateria adequada lá, conectar tudo à placa Raspberry Pi 1.2 ou 3 (melhor para 3, pois possui Wi-Fi embutido), escolher um tema de design gráfico interface no Kodi, projetada para tela sensível ao toque e voila => você pode obter um player de áudio simples. Claro que será volumoso o suficiente, mas será seu.
: 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)}"
Se a capacidade de resposta da GUI Kodi 17.6
por causa de um núcleo de processador em Zero, você parecerá
misterioso, você pode fazer uma simulação com seus ouvidos e coletar um mais antigo,
mas uma versão muito rápida, por exemplo, o Kodi 15.2, é mais
"amigável" (às vezes o legado decide tudo)
Infelizmente, não tenho uma taxa, então não posso verificar, mas, de acordo com meus sentimentos, isso deve funcionar.
Instruções breves de montagem 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
instruções de montagem mais detalhadas
e gravação em um cartão microSDHC, consulte o artigo anterior
Postscript
Obviamente, a idéia de uma coluna de rádio na Internet é típica, é do conhecimento de todos e no hub você encontrará muitos artigos sobre esse assunto, por exemplo,
aquiE você também pode pensar que apenas atendi aos requisitos de uma solução pronta para uso. Eu posso combater isso e dizer não, honestamente honestamente.
Mais compilações para você são boas e diferentes.