tag:blogger.com,1999:blog-28647929188936149222024-03-13T14:21:04.956+02:00Machiuka WiFi RadioSorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-2864792918893614922.post-2901488957678911382015-01-25T21:42:00.000+02:002015-01-26T02:15:04.409+02:00MACHIUKA WIFI RADIO PROJECT pag.1 <h2><b>INTRODUCTION</b></h2><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZnQzzqhGwr6QwY8JhGtoaVBzqeyoZBWHPMlJmAkDjmH9M8zlSubwEdQsqa_zznsf2JtNEEBdUkFob5wkL2jHuQJVGLYcWUrU57JeNNyyWasBAbavvSMuEeAvyKr_qWjOtsvVPr3xq8xs/s1600/DSCF5394.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZnQzzqhGwr6QwY8JhGtoaVBzqeyoZBWHPMlJmAkDjmH9M8zlSubwEdQsqa_zznsf2JtNEEBdUkFob5wkL2jHuQJVGLYcWUrU57JeNNyyWasBAbavvSMuEeAvyKr_qWjOtsvVPr3xq8xs/s200/DSCF5394.JPG" /></a>
<dl>On the mid December 2014 I've decided to make an Internet Radio, because I'd like to listen music permanently, but my old good music starts annoying all my family members, including myself. From years I've listened the same music and... enough is enough. I've started to listen the music on Internet from PC, but it was very uncomfortable. To buy a new WiFi radio was out of question because of price. </dl>
<dl>Being in the winter holidays times I've decided to make one myself. And so began the journey into the wonderful world of the embedded devices, tiny but strong beauties which bring to me a lot of knowledge that I want to share in this blog. <br>I had some previous experience on programming, including Arduino stuff, but I'm not a professional. I'm a hobbyst, therefore the programming code that I've made are kept as simple as possible.</dl>
<dl> The most part of the components are off-the-shelf ones and existing tutorial from the Internet was priceless. <br />
However, the information found on the internet doesn't gave solutions to all the problems encountered, so I had to imagine new solutions. This is why I started this blog. I want it to become a source of inspiration (among others) for everyone who ventures himself into such an undertaking. <br>
The target of this tutorial consisted of peoples which have some knowledge of programming and thinkering. Maybe the solutions provided here are not 100% suitable for the hardware components you have.
However, you may find inspiration in the codes that I've provided. I was working only in shell scripts and php. It takes me long hour to solve all the programming problems.
For example, only to find how to add two numbers in a shell script was a pain. Unlike the bash (/bin/bash) scripts, the shell scripts (/bin/sh) are relatively very poor documented on the internet. The commands are different.
Unfortunately, the bash is not implemented in OpenWrt, only the shell is. I use it because it was convenient to use the UCI capabilities, i.e. to define configuration files in /etc/config/ for keeping the station list and other variables that I need.
The second reason is that I was able to send commands to router programmatically.<br>
Finally, I consider it an ongoing process, if my time permitted. Therefore when I'll modify some files I'll updated it. Maybe I'll put the version in the header, in order to not alter or modify the links of downloadings.</dl>
<dl> Okay, enough chatter! Let's dirt some hands and squeeze some neurons.</dl>
<dl>
<h3><b>PART I - Define the objectives</b></h3>Our WiFi Radio must have the following capabilities:<br />
<ol><li>Play the internet stations stored into an updatable file from a web interface</li>
<li>Play or stop the desired stations upon a particular schedule (alarm function).</li>
<li>Recording (streaming) stations on demand.</li>
<li>Precise clock (with permanent update from the internet)</li>
<li>Remote control for the usual functions (Play/Stop, Start/Stop Recording, Reboot, Play Favorite Stations, Shuffle Play*)</li>
<li>Volume control</li>
<li>Extra capabilities such as: display currencies rates, current date etc</li>
</ol>
</dl>
<dl>
<h3><b>PART II - Hardware</b></h3><h3><b>PART II.a. - Identify the hardware parts</b></h3><br><br />
That part my differ, but I describe what I've used for the project<br />
</dl>
<table><tr>
<td>A salvaged satelitte receiver </td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJmPVVyG_lQMClIVlbQAuItHHqMnT6pDzyzl2-v8FjZgc9k5mdmolW_7h7UcoUGyolupTqW2hul_ScrHAb2luBbr4Kc45WSi_PNFjlc_9ezDIcyWSfb1-BGT31A1lIw1J00rUpsPHZ7-4/s1600/DSCF5354.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJmPVVyG_lQMClIVlbQAuItHHqMnT6pDzyzl2-v8FjZgc9k5mdmolW_7h7UcoUGyolupTqW2hul_ScrHAb2luBbr4Kc45WSi_PNFjlc_9ezDIcyWSfb1-BGT31A1lIw1J00rUpsPHZ7-4/s320/DSCF5354.JPG" /></a></td><td>Price : Max $20 ($0 in my case)</td>
</tr>
<tr>
<td>TP-Link MR 3020 wifi router with USB port</td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQTQ3GYuxPexGK6nqpVhlPVwbIaerwYtABqQd0ZIAC6cod7HTAAq79iO2X86M-Ce_EFQicIKguRD4EX5yYMP7J3snTUdjjvzxbqVzi8MXo8y-YeFjcqlK9sE8DZ3c6n270HcRedeDgQD4/s1600/router3020.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQTQ3GYuxPexGK6nqpVhlPVwbIaerwYtABqQd0ZIAC6cod7HTAAq79iO2X86M-Ce_EFQicIKguRD4EX5yYMP7J3snTUdjjvzxbqVzi8MXo8y-YeFjcqlK9sE8DZ3c6n270HcRedeDgQD4/s320/router3020.jpg" /></a>Price $30</td>
</tr>
<tr>
<td>USB sound card</td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyguPXvDpnI1bzkLAum3onMZ7SIQV5ebhzmBc-SXMKwUCmExk4IyLuNKLXwJtoeW1Bzev5h04vHoSQLlBQdw4-HiNkjAkXZyy3bs1QgyiXQE_XbSpeXsKuplnAqnx-_1oybdEjeSWK8BQ/s1600/usb-one-dollar-sound.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyguPXvDpnI1bzkLAum3onMZ7SIQV5ebhzmBc-SXMKwUCmExk4IyLuNKLXwJtoeW1Bzev5h04vHoSQLlBQdw4-HiNkjAkXZyy3bs1QgyiXQE_XbSpeXsKuplnAqnx-_1oybdEjeSWK8BQ/s200/usb-one-dollar-sound.png" /></a></td><td>Price: $7</td>
</tr>
<tr>
<td>Arduino Pro Mini - 2 pcs</td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCih_Er2aC7U5MKUuvG3i5YA4k-AB4qT37NapdBPf2VxTojgbJqMeU0CLyxZsmH03WCvDfQIFZUpnXL5agB6rcauKaAubXpwwVVPXz5zjaE3tO18gQhrWk7ZXRcpUw5Fk9gXNRNB_EyIo/s1600/Arduino-mini-pro-size-long-33mm.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCih_Er2aC7U5MKUuvG3i5YA4k-AB4qT37NapdBPf2VxTojgbJqMeU0CLyxZsmH03WCvDfQIFZUpnXL5agB6rcauKaAubXpwwVVPXz5zjaE3tO18gQhrWk7ZXRcpUw5Fk9gXNRNB_EyIo/s200/Arduino-mini-pro-size-long-33mm.jpg" /></a></td><td>Price $15 (both)</td>
</tr>
<tr><td>FTDI USB to Serial breakout board</td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwJqthRZInTY-_D4oXZ82WgXGe_CFGpYXdin6Ye-LI3qcI6go-Wrzy5fu0LzcXRG2dxI8p79xSlVcVWLfYJ0yz-bVdCsNLXo1dGqFm6_G3Ev0hEN24F5idYYpvLW8p2zA_b8WKspAWeM/s1600/ftdi-usb-serial-breakout-board.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwJqthRZInTY-_D4oXZ82WgXGe_CFGpYXdin6Ye-LI3qcI6go-Wrzy5fu0LzcXRG2dxI8p79xSlVcVWLfYJ0yz-bVdCsNLXo1dGqFm6_G3Ev0hEN24F5idYYpvLW8p2zA_b8WKspAWeM/s200/ftdi-usb-serial-breakout-board.jpg" /></a></td><td>Price $6</td>
</tr>
<tr>
<td>ENC28J60 Ethernet Module</td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-TmbDUdDKUeWNLio5vfEsXkLHcpCWwAgtBIRwI_6MgTeKkB1jqbDSTHewQSJvQ9NHaSOfea32Hq3UuBRHE9WgNjbksP2fpkvoZYUBjPobvmMnQH82LTpXBICIvi6nwrpWRD98afkWJCQ/s1600/ENC28J60+Ethernet+Module.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-TmbDUdDKUeWNLio5vfEsXkLHcpCWwAgtBIRwI_6MgTeKkB1jqbDSTHewQSJvQ9NHaSOfea32Hq3UuBRHE9WgNjbksP2fpkvoZYUBjPobvmMnQH82LTpXBICIvi6nwrpWRD98afkWJCQ/s200/ENC28J60+Ethernet+Module.JPG" /></a></td><td>Price $7</td>
</tr>
<tr>
<td>1 pair of audio mini speakers</td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN1eXSzz9NIR_QRLvj2z5H48o0EtnX5SWwRYkhjOT4unFTDhDGruV0gjo5uGl-lOBUIhygGOmqpNOY4algIllNY4bTAuvdavYUJQabZUQJxx0a6QWHx89dxGbkqHeUSPn8MZJtfYV2yBU/s1600/mini+boxe.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN1eXSzz9NIR_QRLvj2z5H48o0EtnX5SWwRYkhjOT4unFTDhDGruV0gjo5uGl-lOBUIhygGOmqpNOY4algIllNY4bTAuvdavYUJQabZUQJxx0a6QWHx89dxGbkqHeUSPn8MZJtfYV2yBU/s200/mini+boxe.jpg" /></a></td><td>Price: $4.5</td>
</tr>
<tr>
<td>8 GB USB mini stick </td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4fjnEyqfIgIKtjtwKoqPQjGGMmQL3Jf3jfnRdLpMA0H4wXJkSPFYUhe3V7WCIyThGLe_hi5KVXiTrloUrbS5oSWq2Te_RAKVqLSaB7Hk8S5WbW5LeT6fBXr6x3ue5ehWptQu7ghyphenhyphen93To/s1600/mini+usb+stick.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4fjnEyqfIgIKtjtwKoqPQjGGMmQL3Jf3jfnRdLpMA0H4wXJkSPFYUhe3V7WCIyThGLe_hi5KVXiTrloUrbS5oSWq2Te_RAKVqLSaB7Hk8S5WbW5LeT6fBXr6x3ue5ehWptQu7ghyphenhyphen93To/s200/mini+usb+stick.JPG" /></a></td><td>Price $10</td>
</tr>
<tr>
<td>min.5 ports USB hub </td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZvLTPWNk-Ql5D7-cU_TdWnQvWxiAYO4dJVrMMpZMENS4F0JUCklkuH43ZjXP3yrxgSx511QJ0lubJLaYB7X5i325sigwKyd5-womQrZqiDUuYRThfXTkzmNdUTpGb42wwlCXCk1f9dxU/s1600/7_ports_usb_hub.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZvLTPWNk-Ql5D7-cU_TdWnQvWxiAYO4dJVrMMpZMENS4F0JUCklkuH43ZjXP3yrxgSx511QJ0lubJLaYB7X5i325sigwKyd5-womQrZqiDUuYRThfXTkzmNdUTpGb42wwlCXCk1f9dxU/s200/7_ports_usb_hub.jpg" /></a></td><td>Price: $4.5</td>
</tr>
<tr>
<td>WiFi external antenna (mine is from an old MSI router </td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAanIc3L_FjG0As1MI2P1XMA30rAnJRyDEZbnj59eiGrrGwW_k4tcriTKtW6hsNV3Q2IcPnQXHsDpib_0KjlmGbfUrGgYaZk6GDS3Tb1qGT-HWStW6L8ML0y4cNlJFlCOWx-V-EuwwFjA/s1600/external+antenna.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAanIc3L_FjG0As1MI2P1XMA30rAnJRyDEZbnj59eiGrrGwW_k4tcriTKtW6hsNV3Q2IcPnQXHsDpib_0KjlmGbfUrGgYaZk6GDS3Tb1qGT-HWStW6L8ML0y4cNlJFlCOWx-V-EuwwFjA/s200/external+antenna.jpg" /></a></td><td>Price: ?</td>
</tr>
</table><br><br />
<hr>Sorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.com0tag:blogger.com,1999:blog-2864792918893614922.post-51549593819369398252015-01-24T22:11:00.000+02:002015-01-26T00:41:51.383+02:00MACHIUKA WIFI RADIO PROJECT pag.2<h3>Part II.b. Some technical hints regarding the hardware</h3>
Firstly we will speak a little about the Salvaged Satellite Receiver (SSR):
<table>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ4LBktrb_oZywkAxJOhr5x3mCMb3WNFB4l_uQKSeXz9-VFLZLYGcjPCDGgK1Ze91nChYz-WlNn5ZLHqSnR1ryJU7A06y1oEXIl1K4zNWty1ADcP6kov3oYRVmcLtosQULROj3pC8O0J4/s1600/DSCF5391.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ4LBktrb_oZywkAxJOhr5x3mCMb3WNFB4l_uQKSeXz9-VFLZLYGcjPCDGgK1Ze91nChYz-WlNn5ZLHqSnR1ryJU7A06y1oEXIl1K4zNWty1ADcP6kov3oYRVmcLtosQULROj3pC8O0J4/s200/DSCF5391.JPG" /></a></td>
</tr>
<tr>
<td></td>
</tr>
<tr><td>From the picture below you'll notice the main parts of the device: <ol><li>The power supply</li><li>The front panel</li><li>The SSR main board</li></ol></td></tr>
<tr>
<td><a href="http://www.formare.ro/download/machiuka/SR old configuration.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh508Z2-vJWVy97UaN3gcmGX1dYygEaWGWXWjbNG75y5lou10OmyVBvEnP5jbh7JHeiqvFR4eLnsa2ub122WCtn2h1cfef4BnfhXTWRmfiDwZmATkyreoYGHHUwbxLARiDhCY75v_q_sk4/s1600/SR_old_configuration.png" /></a></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>The front panel of this model is a very simple one. It has 3 buttons (unused by me), an IR sensor, a 4 digit 7 elements LED display drived by an ordinary shift register (74 HC 164D) and 2 LEDs. Below you may see it:</td>
</tr>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4i6O-cHg1Nq97TXEt2Ga85VT7lnhUOuLNyyrkgDkl4-JdUMcsGNYXiLj5I4g23HPb70a8nJBlbcf_ARitK6-zGbsDtRdYwT2OAJleuqB-k8FyZE0iAK6MOD3S_sH_sGrqnYnojkF-VGo/s1600/DSCF5385.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4i6O-cHg1Nq97TXEt2Ga85VT7lnhUOuLNyyrkgDkl4-JdUMcsGNYXiLj5I4g23HPb70a8nJBlbcf_ARitK6-zGbsDtRdYwT2OAJleuqB-k8FyZE0iAK6MOD3S_sH_sGrqnYnojkF-VGo/s200/DSCF5385.JPG" /></a></td></tr>
<tr>
<td></td>
</tr>
<tr>
<td>Now, the interesting part is. We'll use the 4 digits LEDs to show the current time provided by the router through Arduino. Basically on the router is an application called each minute from crontab which deliver to Arduino the current time. Arduino catch the message and pass it to the front panel shift register to be displayed on the 4 digits 7 elements LEDs.</td><tr></tr>
<tr>
<td>For this task I've used an Arduino Pro Mini 3,3V with an Ethernet card linked to the router's Ethernet port.
<dl><b><i>Note</i></b>: Arduino use two type of Ethernet adapters. One is Ethernet Shield R3 which is used with 'Ethernet.h'library and the other is ENC28J60 Ethernet Module used with 'UIPEthernet.h' which is almost full compatible with 'Ethernet.h' library (in order to run examples written for 'Ethernet.h' you may modify the code line #include "Ethernet.h" with #include "UIPEthernet.h". </dl>
<dl>For ENC28J60 Ethernet Module there are also other libraries: 'etherShield.h', 'ETHER_28J60.h' (both used by me to receive data from router) and 'EtherCard.h'.</dl>Ironically, with 'etherShield.h' I was able with ease to receive data, but unable to send data to router and with 'EtherCard.h' vice-versa (send data easy, but unable to receive data). <dl>Fortunately, the IR Remote library prevent the proper usage of the shift register and forced me to use another Arduino for the remote control and another way to transfer the remote control codes (TP-LINK MR 3020 has only one single Ethernet port).</dl> <dl>As you may see from the pictures below, Ethernet Shield R3 is bulky and expensive ($30-$35) and in conclusion ENC28J60 Ethernet Module is the most suitable for our project </dl></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>Ethernet Shield R3</td><td>ENC28J60 Ethernet Module</td>
</tr>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDbuRsUpNkFaltOCKB6a29dQurrhXiJ3fyGlpYhqeI-OTqvNetg6ouCvm9cWkYaBumFrUIHSYJatiwoQMp7G4rDfddOsLwKXmzX10pwiZD2KByFxZs4XtA9i-mKMIBOn5-swd2rVucGFs/s1600/r3+ethernet+shield.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDbuRsUpNkFaltOCKB6a29dQurrhXiJ3fyGlpYhqeI-OTqvNetg6ouCvm9cWkYaBumFrUIHSYJatiwoQMp7G4rDfddOsLwKXmzX10pwiZD2KByFxZs4XtA9i-mKMIBOn5-swd2rVucGFs/s200/r3+ethernet+shield.png" /></a></td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiePj273karsclj6_A8DgfctZpW4E31uFuURK6DDvsYWlKNi2Fp0SfwVrb33YmfYUHH7brzz-n1AchpMrFWX0FxgjM2_Bt_OeeYfvqV3Lvz_RsI2nA7dIpHAmzTDlZZbHfDGnJo-tQCo0c/s1600/ENC28J60+Ethernet+Module.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiePj273karsclj6_A8DgfctZpW4E31uFuURK6DDvsYWlKNi2Fp0SfwVrb33YmfYUHH7brzz-n1AchpMrFWX0FxgjM2_Bt_OeeYfvqV3Lvz_RsI2nA7dIpHAmzTDlZZbHfDGnJo-tQCo0c/s200/ENC28J60+Ethernet+Module.JPG" /></a></td>
</tr>
</table> Sorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.com0tag:blogger.com,1999:blog-2864792918893614922.post-19971572583942910292015-01-23T23:35:00.000+02:002015-01-26T01:28:55.456+02:00MACHIUKA WIFI RADIO PROJECT pag.3<h3>Part II.b. Some technical hints regarding the hardware (cont.)</h3>
As I said, for sending remote control codes from Arduino to router I used the serial transmission via USB.<br>
In order to do that I use another Arduino Pro Mini (I have a 5V one) with a FTDI basic breakout board (I have a 3,3V one).
<dl>Fortunately the pair FTDI 3,3V - Arduino Pro Mini 5V works flawlessly. </dl>
Below I'll show you the wiring diagram between the two.
<table border="1">
<tr>
<th>FTDI board 3,3V</th><th>Arduino Pro Mini 5V</th>
</tr>
<tr>
<td align="center">GND</td><td align="center">RAW</td>
</tr>
<tr>
<td align="center">CTS</td><td align="center">GND</td>
</tr>
<tr>
<td align="center">3V3</td><td align="center">Vcc</td>
</tr>
<tr>
<td align="center">TX0</td><td align="center">RX0</td>
</tr>
<tr>
<td align="center">RX0</td><td align="center">TXO</td>
</tr>
<tr>
<td align="center">DTR</td><td align="center">DTR</td>
</tr>
<tr>
<td colspan="2">And voila' the lovely pair <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglrvB4kAgmDOA1Z-B0aD24br62RmnE_I3YIoiA7e1eLUUa8Lv1Q7mNQeKg973d49zbfSYLyBTOHHbSBI6L1yxt6P6Up6_ynLRPNKJeeUh-EktGQtUEjmKE2kOEv29LkmdwW-nF3mq3ZXM/s1600/ftdi+si+arduino.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglrvB4kAgmDOA1Z-B0aD24br62RmnE_I3YIoiA7e1eLUUa8Lv1Q7mNQeKg973d49zbfSYLyBTOHHbSBI6L1yxt6P6Up6_ynLRPNKJeeUh-EktGQtUEjmKE2kOEv29LkmdwW-nF3mq3ZXM/s200/ftdi+si+arduino.png" /></a></td>
</tr>
</table>
<dl><b><u>Note:</u></b>You may load also the sketch from computer into Arduino Pro Mini 5V with the 3,3V FTDI BASIC breakout board. I notice also that the 5V version of Arduino Pro Mini is cheaper than the 3.3 V version.</dl>
<dl>Now follows one of the most delicate part of our project: to fix an external antenna (pigtail) to our little MR 3020 router. You need that because when you put the cover on the SSR case you lose the WiFi signal. Another way could be to cut the lid of the SSR case and to insert the router from above. </dl><dl>Attaching a pigtail to 3020 router is described here: <a href="https://apollo.open-resource.org/lab:argus" target='_blank'>How to connect a pitgail to a MR 3020 router</a></dl><br>
I've sacrificed an old MSI router with an external antenna. To open the case of the MR 3020 router is relatively easy. See the instructions here:<a href="http://wiki.openwrt.org/toh/tp-link/tl-mr3020" target='_blank'>Opening the case of a MR 3020 router</a>.
<dl>My final result could be observed in the pictures below. You could also notice in the left side of the antenna the speaker's potentiometer.</dl>
<table border="1">
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnnofmRX20-ZEuG8WJyCiWjHqSqRt8glMtqT5CX60ujGzl1wtauaJS2sN2ixGTdlYKQ0bGFuB3dPKorrAbHX_yDxG6crrgBwB2QMYL06P3iR8y6Ll6VSvqG60zI4M9lMBVqzusv0PtTYw/s1600/wifiAntenna1.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnnofmRX20-ZEuG8WJyCiWjHqSqRt8glMtqT5CX60ujGzl1wtauaJS2sN2ixGTdlYKQ0bGFuB3dPKorrAbHX_yDxG6crrgBwB2QMYL06P3iR8y6Ll6VSvqG60zI4M9lMBVqzusv0PtTYw/s200/wifiAntenna1.JPG" /></a> </td><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO5p4K-d97iqCP1YSLOKQ3pCM7GAFNONLQO2xXNqLUiANE6MocGHkCnjn2p9F4EfOAWglQRet8xJqufcuCTyR9rxLzeAiZu8-Taat5rZy_lAZGrcikN1WHLLv2d8xMSgJuZmGQtz-0vxk/s1600/DSCF5350.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO5p4K-d97iqCP1YSLOKQ3pCM7GAFNONLQO2xXNqLUiANE6MocGHkCnjn2p9F4EfOAWglQRet8xJqufcuCTyR9rxLzeAiZu8-Taat5rZy_lAZGrcikN1WHLLv2d8xMSgJuZmGQtz-0vxk/s200/DSCF5350.JPG" /></a> </td>
</tr>
</table>Sorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.com0tag:blogger.com,1999:blog-2864792918893614922.post-17298807579823844722015-01-22T00:21:00.000+02:002015-01-26T00:42:20.946+02:00MACHIUKA WIFI RADIO PROJECT pag.4<h3>Part III - THE SOFTWARE</h3>
<dl>Briefly the main steps to be followed are:</dl>
<ol>
<li><a href="#one">Install OpenWrt</a></li>
<li><a href="#two">Configure the network settings</a></li>
<li><a href="#three">Extend the router memory </a> by configuring an USB pendrive (even 4 GB pendrive is OK)</li>
<li><a href="#four">Install serial communication drivers</a></li>
<li><a href="#five">Install sound related drivers/applications</a>. I use madplay, because is frugal, i.e. consume few resources.</li>
<li><a href="#six">Put in place the custom made application</a></li>
<li><a href="#seven">Test the result, using the web interface</a></li>
</ol>
<dl><b><u>Note: All the needed software is provided in this blog</u></b></dl>
<dl>The steps 1,2 and 4 are fully described in <a href="https://www.youtube.com/watch?v=8WXpIIAXYyU">my youtube tutorial</a>, but there are also other places on the internet to find it described.<br><b><i>Those steps are enough to have a cheap WiFi radio and, as a bonus, a WiFi signal extender.</i></b></dl>
<dl>So, in order to install OpenWrt you need the image to be flashed. You may download one <a href="http://www.formare.ro/download/firmware.bin"> from here</a></dl>
<dl> Briefly, the MR3020 router installation process is presented below:<br>
<b><u><a name="one"></a>1. Install OpenWrt:</u></b> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQY4kpFJVim0a6Dq-GmgwzrKJr4Xx_oKi8c_dqWCuIJ1i4p1WkVBkKqHyHLblsLlJ12xyH20fx3X3PVe76QNRqQYYcU-bd9ydZth7KRj2csELpidEyFCLemjqo9W8wda4EXgJrxBTNX7o/s1600/flashRouter.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQY4kpFJVim0a6Dq-GmgwzrKJr4Xx_oKi8c_dqWCuIJ1i4p1WkVBkKqHyHLblsLlJ12xyH20fx3X3PVe76QNRqQYYcU-bd9ydZth7KRj2csELpidEyFCLemjqo9W8wda4EXgJrxBTNX7o/s200/flashRouter.png" /></a></dl>
<dl><b><u><a name="two"></a>2.Configure the network settings</u></b>.</dl>
<dl>On your computer, in <i>Terminal</i> or <i>Putty</i> type: <b><i>telnet 192.168.1.1</i></b>. Will be appear to you the OpenWrt screen: <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijh0RXmELXvevXTUVviiYLNaLW9cPqxsUKC-Dj2A7dGSE8bU8lxz9HAolypEYcTQWYTQNN7hw5B-lR2IbJpTXKgQgNk6e5XlXKOJlnt_Z-rLgPZVngiaVUQjZBfXYn4gsysxNYPzcSY_w/s1600/firmware1.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijh0RXmELXvevXTUVviiYLNaLW9cPqxsUKC-Dj2A7dGSE8bU8lxz9HAolypEYcTQWYTQNN7hw5B-lR2IbJpTXKgQgNk6e5XlXKOJlnt_Z-rLgPZVngiaVUQjZBfXYn4gsysxNYPzcSY_w/s200/firmware1.png" /></a>.<br>
Then type <b><i>passwd</i></b> and put a password. Type <b><i>exit</i></b> to close the <i>telnet</i> connection. Now you may be able to connect with your beloved router with SSH. On your PC terminal type <u><i>ssh root@192.168.1.1</i></u> and lo and behold, you're connected via SSH.</dl>
<dl>There are 3 files in OpenWrt that must be replaced or modified: <b><i>/etc/config/network</i></b> <i>(do not forget to note the MAC Address prior to replace it)</i>, <b><i>/etc/config/wireless</i></b> and <b><i>/etc/config/firewall</i></b>.
</dl>
<dl><b><u><a name="three"></a>3.Extend the router memory by configuring an USB pendrive:</u></b></dl>
<dl>First of all you must prepare an USB pendisk by having on it 3 partitions: one EXT4 (1-2GB for the operating system), one FAT (for streaming radio station) and one Linux SWAP (approx: 100 MB). There are a bunch of tutorials on how to do that.</dl>
<dl>Power off the router, put the USB pendrive in it, put also the USB sound card and power on the router(use the USB hub to connect all the stuff).</dl>
<dl>On the router prompt type the following commands: <b><i>opkg update</i></b>, <b><i>opkg install kmod-usb-storage</i></b>, <b><i>opkg install kmod-fs-ext4 block-mount</i></b>, <b><i>opkg install fdisk</i></b>. Then type <b><i>fdisk -l</i></b> to see the EXT4 partition name. Could be <b><i>sda1</i></b>, or <b><i>sda3</i></b>.</dl>
<dl>Now type: <b><i>mkdir -p /mnt/sda1 </i></b> or <b><i>sda3</i></b> (see the previous command <b><i>fdisk -l</i></b> output.<br>
<b><i>mount /dev/sda1 /mnt/sda1</i></b>, then type <b><i>mkdir -p /tmp/cproot</i></b>, <b><i>mount --bind / /tmp/cproot</i></b><br>
<b><i>tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf -</i></b>, <b><i>umount /tmp/cproot</i></b>, <b><i>umount /mnt/sda1</i></b><br>
Now edit the <i>fstab file</i>, as follows: <b><i>vi /etc/config/fstab</i></b> and modify it as is shown in the picture below:<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNJUGSsxmBurSI_ghbAxHrFIncUn8NEB9Sn8sfNmcJBqg2HKPUGsViLTvwcu7ppNnWIKCYEsOTwoaNFFyRLTYSwUrYBv2tWRjmiyWtg-bd4rP7w5awIWdemyRGoJ2KzJ3OPEFeIUfGKmY/s1600/fstab.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNJUGSsxmBurSI_ghbAxHrFIncUn8NEB9Sn8sfNmcJBqg2HKPUGsViLTvwcu7ppNnWIKCYEsOTwoaNFFyRLTYSwUrYBv2tWRjmiyWtg-bd4rP7w5awIWdemyRGoJ2KzJ3OPEFeIUfGKmY/s200/fstab.png" /></a>
</dl>
<dl>Save and exit the <i>fstab</i> file (ESC wq) and type <b><i>reboot</i></b> in order to reboot your little router.<br>
When the router is back to business log in with <i>SSH</i> and type <b><i>df</i></b> command. You must see something like that:<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAQwHjfInNYU1ng3x2IVzSk2PjPaeyaCZSaITGJ9qzjkz6anJByoBWnfrsn8OgCRMtKcYBYqFMWQnxGZXUMNSfOiNrSp4dDH4P_Gh2YsHOtmSYkINve1WS56H7xuPcnDQgTkUbA_0AMk/s1600/df+command.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLAQwHjfInNYU1ng3x2IVzSk2PjPaeyaCZSaITGJ9qzjkz6anJByoBWnfrsn8OgCRMtKcYBYqFMWQnxGZXUMNSfOiNrSp4dDH4P_Gh2YsHOtmSYkINve1WS56H7xuPcnDQgTkUbA_0AMk/s200/df+command.png" /></a><br>
Incidentally you may encounter an error that contained the following: <i>whole_root-disabled</i>. If it happened, type: <b><i>cp /.extroot.md5sum /tmp/whole_root-disabled/etc/extroot.md5sum</i></b>.</dl>
<dl>As you maybe seen from the last picture, I have also a partition named "USB". It is the FAT partition that I've made for the streaming files.<br>
To make one, type: <b><i>opkg update</i></b>, <b><i>opkg install kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1</i></b><br>
<b><i>mkdir -p /mnt/usb</i></b>, <b><i>mount -t vfat /dev/sda1 /mnt/usb</i></b>. Basically I've created a folder in <i>/mnt/usb</i> where will be stored the streaming files.</dl>
<dl><b><u><a name="four"></a>4.Install serial communication drivers</u></b></dl>
<dl>Few considerations about serial communication: We need the serial communication for connecting Arduino to USB. <br>
From my experience, OpenWrt see an Arduino UNO as <i>/ttyACM0</i> and Arduino Pro Mini, connected through FTDI BASIC outbreak board as <i>/ttyUSB0</i>.<br>
Pay attention then, when you test your Arduino-router communication, to rename the commands you give accordingly (i.e. ttyACM0, or ttyUSB0).</dl>
<dl>Now, there are three types of TTL to USB devices, FDTI BASIC outbreak board been one of them; another one is a cheap and bulky one based on PL2303 chip and the third one is a little more expensive, but smaller one, based on CP2102 chip. <br>
You must verify of what type is yours, in order to know what applications must be installed on OpenWrt.</dl>
<dl>Now, you need to type: <b><i>opkg update</i></b>, <b><i>opkg install kmod-usb-acm</i></b> needed when you test the application with your Arduino UNO<br>
And now, depending your USB to serial breakout board (FTDI BASIC, PL2303 or CP2102), you'll install one of the following:<br>
<ul>
<li><b><i>opkg install kmod-usb-serial-ftdi</i></b></li>
<li><b><i>opkg install kmod-usb-serial-pl2303</i></b></li>
<li><b><i>opkg install kmod-usb-serial-cp210x</i></b></li>
</ul><br>
You may need even <b><i>opkg install coreutils-stty</i></b>.<br> It is helpful to change the baud rate, but I've noticed that ttyACM0 and ttyUSB0 are working on 9600 bps. Anyway, if you need to change the baud rate, just type: <b><i>stty -F /dev/ttyACM0 9600 clocal cread cs8 -cstopb -parenb </i></b>. The command is self explanatory.
</dl>
<dl>
Now, to test the communication between Arduino and router, link the two devices via USB cable, upload a simple sketch into Arduino and <br>
catch the message on router side.<br>
I've made a simple sketch based on <i><a target='_blank' href="http://www.formare.ro/download/machiuka/SerialExample.ino">SoftwareSerialExample</a></i> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigp8VFbe78ap3OR3YItBoPqmZU3mJgQyuDdWn_hxF34dlIAJMOVg6U7QZjM7uugxNlQKvI3a0Le-2xFM1j0tu9E160WGko2yYrH7XmvKe22xpeirwkTBohOz4f2ZVy6AUb1Sd5y7erjDw/s1600/sketch1.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigp8VFbe78ap3OR3YItBoPqmZU3mJgQyuDdWn_hxF34dlIAJMOVg6U7QZjM7uugxNlQKvI3a0Le-2xFM1j0tu9E160WGko2yYrH7XmvKe22xpeirwkTBohOz4f2ZVy6AUb1Sd5y7erjDw/s200/sketch1.png" /></a>
</dl>
<dl>
Now, on router type: <b><i>cat /dev/ttyACM0</i></b> or <b><i>cat /dev/ttyUSB0</i></b>, depending on your board (Arduino UNO, or Pro Mini).<br>
If the message appear, you're on track. Well done! <br>
Remember, you need only one way communication through serial: from Arduino to MR3020 router, in order to transmit IR codes from remote control.
<i>Note</i>There are also a serial connection on router main board; it is the UART connection ttyATH0. See the picture below. But in order to access that serial console you need to rebuild the flash image for OpenWrt. That's beyond the goal of my tutorial.
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLF44rayrcFDsQrqn67grDQD7kEKuu6g-jhD6LzudOrxYqijktjydyXgaNOX2SwHlzvwpYJlG7F-JqaBv3olkW0DogaAt6cwZnGQZARlrPaArByFqE04Vd1nDjsCGVqkWy-Fth340JPZQ/s1600/uart1.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLF44rayrcFDsQrqn67grDQD7kEKuu6g-jhD6LzudOrxYqijktjydyXgaNOX2SwHlzvwpYJlG7F-JqaBv3olkW0DogaAt6cwZnGQZARlrPaArByFqE04Vd1nDjsCGVqkWy-Fth340JPZQ/s200/uart1.jpg" /></a>
</dl>Sorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.com0tag:blogger.com,1999:blog-2864792918893614922.post-55817878511609332772015-01-21T21:50:00.000+02:002015-01-26T02:13:57.571+02:00MACHIUKA WIFI RADIO PROJECT pag.5<h2>Part III - THE SOFTWARE - cont</h2>
<dl><b><u><a name="five"></a>5.Install sound related drivers/applications</u></b></dl>
<dl>
Now, as I said, we'll use madplay for playing audio streaming from radio stations, because is less resource consumming than <i>mpd</i>.
On my initial stages I've installed mpd & mpc, but I give up. The sound was horrible (because it forced the limits of the router I guess). I spent almost half a day at the time, but of no use.
It was easier for me to make a web interface for madplay than to configure <i>mpd</i> to act properly on my router.<br>
For the recording feature, I've installed <i>streamripper</i> application, a very good one. <br>
The commands are:<br>
<ul>
<li><b><i>opkg update</i></b></li>
<li><b><i>opkg install kmod-usb-audio</i></b></li>
<li><b><i>opkg install madplay</i></b></li>
<li><b><i>opkg install streamripper</i></b></li>
<li><b><i>opkg install wget</i></b></li>
</ul>
</dl>
<dl>Power off the router, connect the USB sound card to the speakers, power on the router and test madplay.<br>
<b><i>wget -O - http://205.164.62.15:9010/ | madplay -</i></b><br> Pay attention that is <b><i>wget -O</i></b>, not <b><i>wget -0</i></b> (zero)<br>
Now you must be able to hear the sound of music in your speakers.</dl>
<dl><b><u><a name="six"></a>6.Put in place the custom made applications</u></b></dl>
<dl>To obtain the best results of our WiFi Radio, we need some custom made applications<br>
There are some on the router side and a couple of others one the Arduino side, as follows:<br>
<table border='1'>
<tr>
<th colspan='3'bgcolor="#FFCC00">ON THE ROUTER SIDE</th>
</tr>
<tr>
<td>Name of the application</td><td>Path</td><td>Description</td>
</tr>
<tr>
<th colspan = '3'bgcolor="#FFCC00">a.The web interface files</th>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/play.cgi" target='_blank'>play.cgi</a></i></td><td><i>/www/cgi-bin/nmsradio/</i></td><td>the main web interface for controlling our WIFi radio. A short presentation could be seen on <a href="https://www.youtube.com/watch?v=_elNPs_IlzQ" target='_blank'>youtube</a></td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/changechannel.sh" target='_blank'>changechannel.sh</a></i></td><td><i>/www/cgi-bin/nmsradio/</i></td><td>changing the radio stations through the command received from <i>play.cgi</i></td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/alarm.cgi" target='_blank'>alarm.cgi</a></i></td><td><i>/www/cgi-bin/nmsradio/</i></td><td>web interface for setting the alarms</td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/setalarm.sh" target='_blank'>setalarm.sh</a></i></td><td><i>/www/cgi-bin/nmsradio/</i></td><td>setting the alarms according to the parameters received from <i>alarm.cgi</i></td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/record.sh" target='_blank'>record.sh</a></i></td><td><i>/www/cgi-bin/nmsradio/</i></td><td>stream the content of the current playing radio station on a location on USB disk</td>
</tr>
<tr>
<th colspan = '3'bgcolor="#FFCC00">b.The Arduino interface files</th>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/interfata.sh" target='_blank'>interfata.sh</a></i></td><td><i>/www/cgi-bin/nmsradio/</i></td><td>It's similar to play.cgi, only it interpret the IR codes received from Arduino</td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/radioIR" target='_blank'>radioIR</a></i></td><td><i>/etc/init.d/</i></td><td>Start at boot the <i>interfata.sh</i> file</td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/ceasArduino.sh" target='_blank'>ceasArduino.sh</a></i></td><td><i>/root/scripts/</i></td><td>Send to Arduino, via Ethernet, the current time (it runs in crontab every minute)</td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/metals.php" target='_blank'>metals.php</a></i></td><td><i>/www/php/</i></td><td>Send the silver quotation to Arduino. It's called from <i>interfata.sh</i> when a dedicated remote control button is pressed</td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/valuta.php" target='_blank'>valuta.php</a></i> and <i><a href="http://www.formare.ro/download/machiuka/cursValutar.php" target='_blank'>cursValutar.php</a></i></td><td><i>/www/php/</i></td><td>Send some currency quotation from Romanian National Bank to Arduino. It's called from <i>interfata.sh</i> when dedicated remote control buttons are pressed</td>
</tr>
<tr>
<th colspan = '3'bgcolor="#FFCC00">c.The common files</th>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/radio" target='_blank'>radio</a></i></td><td><i>/etc/config/</i></td><td>Store the variables used by applications (ex. current station, current volume, etc.)</td>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/posturi" target='_blank'>posturi</a></i></td><td><i>/etc/config/</i></td><td>Store the radio station list. It could be modified in order to put or delete stations.</td>
</tr>
</table>
<br>
<b>Note:</b>All the files with the <i>.cgi</i> or <i>.sh</i> extensions must be executables. In order to do that you must type:<b><i>chmod +x /pathToFile/filename.ext</i></b>. Where <i>filename.ext</i> is the name of the file (ex. <i>play.cgi</i>).
Also <i>radioIR</i> file must be executable.<br>
If you want to use <i>php</i> files you need to install php to your router:<br>
<ul>
<li><b><i>opkg update</i></b></li>
<li><b><i>opkg install php5</i></b></li>
<li><b><i>opkg install curl</i></b></li>
<li><b><i>opkg install php5-mod-curl</i></b></li>
<li><b><i>opkg install php5-fastcgi</i></b></li>
<li><b><i>opkg install php5-mod-json</i></b></li>
</ul>
</dl>
<dl>
<table border='1'>
<tr>
<th colspan='2'bgcolor="#FFCC00">ON THE ARDUINO SIDE</th>
</tr>
<tr>
<td>Name of the application</td><td>Description</td>
</tr>
<tr>
<th colspan = '2'bgcolor="#FFCC00">a.Arduino Pro Mini with ENC28J60 Ethernet Module</th>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/EthernetReceiveData.ino" target='_blank'>EthernetReceiveData.ino</a></i></td><td>Display on the 4 digits 7 elements LED the 4 numbers received from router</td>
</tr>
<tr>
<th colspan = '2'bgcolor="#FFCC00">b.Arduino Pro Mini with USB to serial breakout board</th>
</tr>
<tr>
<td><i><a href="http://www.formare.ro/download/machiuka/IRSendingCodes.ino" target='_blank'>IRSendingCodes.ino</a></i></td><td>Send to the router the remote control codes when a button is pressed</td>
</tr>
</table>
<br>
<b>Note:</b>
<ul>
<li>Depend on your remote control, the codes may vary. Modify it accordingly. </li>
<li>The IP address of my router is 192.168.0.67</li>
<li>The IP address of Arduino Pro Mini is 192.168.0.15</li>
</ul>
<br>
For your convenience, you may download all the files from <a href="http://www.formare.ro/download/machiuka/machiuka.zip" target='_blank'>HERE</a>
</dl>Sorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.com0tag:blogger.com,1999:blog-2864792918893614922.post-68785092364743143962015-01-21T19:12:00.000+02:002015-01-26T02:14:27.870+02:00MACHIUKA WIFI RADIO PROJECT pag.6<dl><h2>Part IV - PUT EVERYTHING IN PLACE</h2></dl>
<dl>We've arrived at the finish line, i.e. to put everything together in the donor case of Salvaged Satellite Receiver (SSR). <br>
The steps are:<br>
<ol>
<li><a href="#eight">Put in place the WiFi radio hardware components</a></li>
<li><a href="#nine">Test the result, using the remote control</a></li>
</ol>
</dl>
<dl><b><u><a name="eight"></a>Put in place the WiFi radio hardware components</u></b>.</dl>
<dl>
Briefly, our inventory consist of:
<ol>
<li>Salvaged Satellite Receiver</li>
<li>Power supply of the SSR</li>
<li>Front panel of the SSR</li>
<li>MR3020 router with external antenna</li>
<li>Arduino Pro Mini + ENC28J60 Ethernet Module+ Ethernet cable (the one provided with the router)</li>
<li>Arduino Pro Mini + USB to serial breakout board</li>
<li>USB hub with enough ports for all the stuff</li>
<li>USB pendrive of minimum 4 GB</li>
<li>Salvaged remote control</li>
<li>USB powered speakers</li>
<li>USB cables</li>
</ol>
<br>
My setup is presented in the picture below:<br>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIwy3_POM-eMvqkyrAiKVundXrSI41XnGIbNvBx812JigymDgSn_z4JAslHWhyyyA9ld0AllWLhbzBpQ9lLcNMATxyg2-OGuwUVGjWeK-rzHvcAcfy8_RS9ZV8Xx1knb1Vd-hUAS4swRM/s1600/DSCF5373.JPG" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIwy3_POM-eMvqkyrAiKVundXrSI41XnGIbNvBx812JigymDgSn_z4JAslHWhyyyA9ld0AllWLhbzBpQ9lLcNMATxyg2-OGuwUVGjWeK-rzHvcAcfy8_RS9ZV8Xx1knb1Vd-hUAS4swRM/s200/DSCF5373.JPG" /></a>
<br>
I know, it look a little messy, but forgive me, that's my first prototype. Maybe the second will be a good looking one.<br>
The final result instead look very stylish ( I think).<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnvilbJUA1-nyg9K-RqqGt5hXHIZ05SorjIhloV6toFNpseX4VQ3W0UtAf-ylET4crySXlw7YPTHEk2OcDnI2narEKFWFJ9xQM1Mh4K_e6kxJ5P0HgBkDntXC9yLO4jy4KF2WHR47_ADE/s1600/final2.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnvilbJUA1-nyg9K-RqqGt5hXHIZ05SorjIhloV6toFNpseX4VQ3W0UtAf-ylET4crySXlw7YPTHEk2OcDnI2narEKFWFJ9xQM1Mh4K_e6kxJ5P0HgBkDntXC9yLO4jy4KF2WHR47_ADE/s200/final2.jpg" /></a><br>
</dl>
<dl><b><u><a name="nine"></a>Test the result, using the remote control</u></b>.</dl>
<dl>The<a href="https://www.youtube.com/watch?v=G3dQMRIbTWI" target='_blank'> youtube video</a> clip that I made show the final tests.<br>
<b>ENJOY YOUR STATE-OF-THE-ART WIFI RADIO !.</b>
</dl>Sorinhttp://www.blogger.com/profile/12247922214947403737noreply@blogger.com0