📜 ⬆️ ⬇️

WiFi radio WOLNA. How to create a small startup

Not so long ago, I put a device of my own design, which I had been developing for the last year, to the public. This is an internet radio that works via wifi.

image

To vote for or against people is invited to the ruble at one of the crowdfunding sites. The device did not produce a big furore, although there are already sponsors. But since then there have been many technical questions and requests to lay out the schemes and firmware. Everyone who is interested in how the device was born, and what is made of, welcome under cat.
Spoiler: firmware will not.

So, it all started with the need to have a radio in the kitchen at home. Of course, as an electronics developer, I immediately dismissed the option to just go to the store and buy. By the way, for this reason, I still do not have a normal doorbell.
')
FM radio has disappeared due to boring implementation. And it was decided to make Internet radio. Looking ahead, I want to show that such a receiver has turned out.



Iron selection

At first it was necessary to choose a platform on which to build Internet radio. There are many options, but I chose from what was at hand:

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

On an odroid, the development process would take less time, but the disadvantages, in my particular case (many will disagree with me), took over:

- the OS boot process takes some time
- a growing tendency to infect IoT devices with viruses
- I do not know much about Linux development.
- price

Nevertheless, I asked one of my good friends to write a softphone for Odroid W, which would start at the start of the system and play Internet radio. But the impossibility to really correct the project without tugging a friend buried this option, and pushed me to the second.

And I assembled the following scheme on a breadboard:

image

How to work with Internet radio

After that, I began to watch how Internet radio works. It turned out that the overwhelming majority of stations use the icecast for broadcasting. It is spinning somewhere on a server with a fixed IP, and is waiting for a connection. Usually on port 8000 or 8080. Although there are many exceptions. After connecting, you need to send a request of this type, substituting in it the name of the stream and server:

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

mp3 , .

TCP ESP8266 AT . , . esp8266. :

1. WiFi , , .
2. TCP . , , .
3. GET , .
4. mp3 .
5. , TCP , 2.

, . , , . , . IP, . TCP, , , . «- », , IP 100 . :)



STM32F4Discovery , , . .

. []. . , , .

:

1. STM32F415 - .
2. ESP8266
3. VS1053 c . SPI.
4. — LM1117 3.3 1.8 .
5. , , , . GPIO .

D PAM8403 .



, , , — , , . , .

. -!

image

image

image

, 1.5 . smd , . .

. , . . , . . !



- -. , .

. , . + . , .

:

image

. , , . , . . , . . , .

.

image

:

image

:

image

. . , , . , , , , c esp8266 vs1053b, . , .

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


All Articles