Project Description

Let’s start the Internet radio project with WIZ550io.


1. Block Diagram (main interface)

  • SPI1: WIZ550io
  • SPI2: VS1033D


 

  • Define the VS1033D & WIZ550io pin MAP

2. Schematic & Source code & Compiler

– Refer to as below site

https://www.dropbox.com/sh/ok17jyppzynnjkb/AADjRxi6tOHDKtBgI6uvGMYQa?dl=0

– STM32board (open the Schematic)

– VS1033D Board $19.95 (https://www.sparkfun.com/products/10608)

– WIZ550io Board $17.00 (http://www.shopwiznet.com/wiz550io)

– Compiler: EmIDE (http://www.emide.org/)

 

3. Protocol Analytics

To connect the Radio channel, we should check protocol between Radio Server and Client board.

  • Step #1 In order to analytics the network Packet, you should execute packet capture tool such as WireShark (www.wireshark.com)
  • Step #2: Running the Explore and access the Radio Channel

    We’ll find as below web-page

    Click the Listen button. And then, the PC will play the MP3 player as like Gom!!!

  • Step #3 Packet analytics

    I omitted the Wireshark packet capture procedure. (Please find a google or YouTube)

    Anyway, the below image displayed TCP client (PC part) connection procedure

    • Client PC: 192.168.1.100
    • Server Radio channel IP: 109.206.96.11

  • Keep in mind, the Key packet is here “GET / HTTP/1.1″

    That means when TCP Client connection was finished, the PC (Client) will send as below packets.

Instead of Client board, I used PC and Client p/g as like the Hercules_3-2-4 (www.HW-group.com)

  • Test Radio Channel IP and port number

    IP / Port = 109, 206, 96, 11 / 80 (TOP FM Beograd 106,8 64-kpbs)

     

4. Source Code analytics

  • Total block diagram

  • Internet Radio TCP Client block Diagram

5. Implementation.

  • Initialize the WIZ550io and VS1033D SPI setting
    • VS1033D SPI Setting

    • WIZ550io SPI setting

 

  • main loop

 

 

Do you remember this packet?

Yes, this packet will be first sent to Radio Sever.

Please refer to ESTABLISED routine

ret = send(s, RadioRequest, sizeof(RadioRequest));

 

 

 

 

6. Conclusion

First of all, this project is Beta version. I didn’t allocate the memory for saving internet radio server data. Therefore, It’s not perfectly working all internet radio channel.

But, WIZ550io is very easy solution for Internet Radio.

First, It’s easy to be porting in STM32F103RBT code. I just add 5~10 lines for SPI mapping.

Second, I have used the TCP Client example code. This is also open WIZnet homepage. I just added VS1033 play routine in TCP Client.

Anyway, when you open my source code, you’ll find what I was meaning.

If you would like to do IoT project or easy network function, I would like to recommend a WIZnet solution.

 

7. Reference

– BUILD YOUR OWN STAND ALONE WEB RADIO

http://hackaday.com/2014/10/11/build-your-own-stand-alone-web-radio/