Rádio WiFi WOLNA. Como uma pequena startup foi criada

Há pouco tempo, coloquei em um tribunal público um dispositivo de meu próprio projeto, desenvolvido no ano passado. Esta é uma rádio na Internet usando wifi.

imagem

Propõe-se votar a favor ou contra pessoas em rublos em um dos sites de crowdfunding. O dispositivo não causou grande impacto, embora já existam patrocinadores. Mas, desde então, houve muitas perguntas e solicitações técnicas para definir o circuito e o firmware. Todos os interessados ​​em como o dispositivo nasceu e do que é feito são bem-vindos no gato.
Spoiler: não haverá firmware.

Então, tudo começou com a necessidade de ter um rádio em casa na cozinha. Obviamente, como desenvolvedor de eletrônicos, imediatamente rejeitei a opção de ir à loja e comprar. A propósito, por esse motivo, ainda não tenho uma campainha normal.

O rádio FM foi interrompido devido à implementação chata. E foi decidido fazer um rádio na Internet. Olhando para o futuro, quero mostrar que esse receptor apareceu aqui.



Seleção de ferro

Primeiro, era necessário escolher uma plataforma na qual você pudesse construir um rádio na Internet. Existem muitas opções, mas eu escolhi o que estava à mão:

1. Odroid W + LCD
2. STM32F4DISCOVERY + ESP8266 + VS1053B

Em um odroid, o processo de desenvolvimento levaria menos tempo, mas os contras, no meu caso particular (muitos discordam de mim), prevaleceram:

- o processo de carregamento do sistema operacional leva algum tempo
- Uma tendência crescente de infectar dispositivos IoT com vírus
- Eu tenho um fraco conhecimento de desenvolvimento Linux
- preço

No entanto, pedi a um amigo meu que escrevesse um softink para o Odroid W, que começaria no início do sistema e tocaria rádio na Internet. Mas a incapacidade de editar corretamente o projeto sem empurrar um camarada enterrou essa opção e me empurrou para a segunda.

E montei o seguinte diagrama em uma tábua de pão:

imagem

Como trabalhar com rádio na Internet

Depois disso, comecei a assistir como o rádio da Internet funciona. Descobriu-se que a grande maioria das estações usa o icecast para transmissão. Ele gira em algum lugar em um servidor com um IP fixo e aguarda uma conexão. Como regra, na porta 8000 ou 8080. Embora haja muitas exceções. Após a conexão, você precisa enviar uma solicitação desse tipo, substituindo o nome do fluxo e do servidor:

GET /stream HTTP/1.1 Icy-MetaData: 0 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Epiphany/1.2.1 Host: internetradioserver.ru Cache-Control: no-cache 

Em resposta, um fluxo interminável de mp3 começa a cair, que já pode ser decodificado e reproduzido.

A abertura de uma conexão TCP e outras alegrias de trabalhar com o ESP8266 são feitas usando os comandos AT. Não vou me debruçar sobre eles, as informações estão completas na Internet. Tudo está muito bem pintado na comunidade de língua russa esp8266 . O procedimento para trabalhar com ele é simples:

1. Estamos aguardando uma conexão Wi-Fi, se ela não estiver lá, selecione uma rede, digite a senha.
2. Abrimos a conexão TCP com o servidor da estação de rádio. Endereços de servidor, portas e nomes de fluxos são armazenados diretamente na memória flash do microcontrolador, mas mais sobre isso posteriormente.
3. Envie a solicitação GET acima.
4. Recebemos em resposta um fluxo contínuo de mp3.
5. Se você precisar trocar de estação, feche a conexão TCP e repita a partir da etapa 2.

Vou falar um pouco sobre como as estações entram na memória flash do microcontrolador. Inicialmente, no estágio de verificação, simplesmente escrevi endereços, números de portas e nomes de fluxos em uma das páginas de memória do programa. Mas com o tempo, quando os dispositivos se dispersaram entre parentes e amigos, tive que adicionar a capacidade de atualizar centralmente a lista. Decidiu-se criar um servidor com um IP fixo, no qual um arquivo com uma lista de estações seria armazenado. Quando conectado via TCP, o servidor aguarda uma senha e emite um arquivo, e o microcontrolador grava na sua memória flash. Desde que encontrei a criação de “algo na Internet”, fiquei agradavelmente surpreso ao alugar uma máquina virtual com um IP fixo que custa apenas 100 rublos por mês. Milagres :)

Circuitry

Tendo jogado o suficiente com o STM32F4Discovery, decidi fazer meu próprio cartão, no qual todos os elementos do receptor estarão localizados, e não precisarei puxar os fios para o monitor ou os conectores. Isso melhora muito a confiabilidade e a capacidade de fabricação e todos sonham com isso .

O esquema pode ser baixado aqui. [DIAGRAMA] . Não a decorei ou penteei especificamente para publicação. Esta é uma opção de trabalho, e isso deve ser suficiente para aqueles que estão realmente interessados.

O esquema consiste nas partes principais:

1. MK STM32F415 com um chicote de fios - dois quartzo e uma bateria para um relógio em tempo real.
2. ESP8266
3. VS1053 com cintas estritamente na folha de dados. Iniciado no MK através do SPI.
4. Potência - dois reguladores lineares LM1117 a 3,3 e 1,8 volts.
5. Visor, conectores, botões, potenciômetro. Tudo isso é instituído no microcontrolador GPIO.

Além disso, o amplificador de classe D PAM8403 não é exibido no diagrama, pois custa um módulo adquirido separadamente.

Taxa

Para sempre, antes de montar a placa, você precisa determinar a localização dos elementos que se sobressaem do corpo - botões, conectores e tela. Eu fiz, mas sobre o caso mais tarde.

O quadro ficou assim. Cuidado geek morango!

imagem

imagem

imagem

A placa é de duas camadas, com uma espessura de 1,5 mm. Todos os componentes smd estão localizados em um lado, o que facilita a instalação automática. No entanto, ele ainda não chegou.

Eu já fui repreendido no pikabu por vários especialistas por pequenas falhas na fiação. No entanto, o conselho funciona e funciona como deveria. Não vejo o valor nos desenhos do quadro, por isso não o publico. Se houver pedidos, eu o publicarei. Enfim, vou refazê-lo. E, claro, críticas bem fundamentadas são muito bem-vindas!

Habitação

O caso é uma dor de todos os engenheiros eletrônicos amadores. E mesmo que você não seja um amador, defendendo seu dinheiro, você se transforma nele.

Em pequenos lotes, a opção mais acessível é fresar ou cortar a laser. Com as opções de metal, ele ainda pode dobrar chapas, mas esse não é o meu caso. Por isso, escolhi a fresagem de peças de madeira + corte a laser de painéis. Em termos de som, uma caixa de madeira também é uma grande vantagem.

O resultado foi este conjunto de peças:

imagem

Atenção especial merece a inscrição. Após muita reflexão, como aplicá-las, foi decidido realizá-las com rejunte. Ou seja, primeiro, com um moinho fino, a inscrição é selecionada no painel e depois a tinta é derramada lá. Depois que a tinta seca, seu excesso é removido. Uma operação muito cara, mas eu não estava mais parando. Além disso, uma das maneiras mais duráveis. Se alguém tiver experiência com outras formas de aplicar rótulos, compartilhe.

É assim que as inscrições resultantes são exibidas.

imagem

E aqui está o rádio montado por dentro:

imagem

E mais uma foto lá fora:

imagem

Conclusão Este artigo descreveu os detalhes do desenvolvimento do dispositivo com traços amplos. É bastante difícil escrever sobre os detalhes, por um lado, pelo fato de que o mar, por outro lado, todos eles individualmente parecem óbvios. Eu poderia escrever em um artigo separado sobre circuitos, placa de circuito impresso, firmware, trabalhando com esp8266 e vs1053b, se tiver interesse suficiente, escreverei. Pois eu realmente quero que o rádio da Internet se torne popular.

Source: https://habr.com/ru/post/pt403239/


All Articles