Michael Backman

Richard Bannon

CSE 477

 

 

UPDATE 1

 

Parts:

 

Our project required three main pieces of hardware, and a development environment.  The environment was a free download that was easy to come by, and the hardware is on the way, but only one of the three components has been obtained.  The personal server was issued to us a while ago, but we still will have to wait for the Nokia phone and the Slappy card.  The phone should be here this Wed-Thurs, and the Slappy should come next week along with the rest of the small things. Here is a cost breakdown:

Cost Estimate:

 

Intel Personal Server                $500 (?)

Slappy Card                            $200 (?)

Nokia 6600                             $480

512MB Compact Flash           $80

WiFi card                                $30

Blue Tooth Dongles                 $30

Software                                 $0

 

Total                                      $1320

 

 

Experimentation:

At this point in our project, we haven’t been able to run any actual test experiments because we don’t have our phone or a Bluetooth dongle yet.  So we have been relying on the emulator that is provided by Nokia for the 6600 phone.  We have used the emulator to test the user interface program which will run on the cell phone.  This has allowed us to develop and simulate all of the aspects of our Bluetooth interface and control on the phone.  To do this, we had to design a test program to run on another instance of the phone emulator.  This program models the behavior of the personal server connection, allowing us to run simulations of the cell phone-personal server interface.  Running simulations on the phone emulators was very helpful in debugging the user interface and connection software for our phone.  It also gave us a good template for the connection software which will be running on the personal server.  The personal server implementation of the software will be significantly different, however, because it will be written in C, rather than Java. 

Another component of our project that we are beginning to design experiments for is the MP3 decoder software for the personal server.  Conceptually, this experiment is very simple.  We will take an MP3 file, run it through our software, and produce a decompressed WAV file.  We have a few open-source MP3 decoding engines that we found on the Internet.  These engines are going to plug into our program on the personal server and take care of all the details of MP3 decoding.  The big question is whether any of these decoders will be able to run fast enough to allow on-the-fly playback of MP3 songs.  Since the personal is fairly limited in the processing-power department, we may end up having to tear one of the open source MP3 decoders apart and optimize it so that it will run fast enough.  This is still one of the big unknowns right now. 

Perhaps the biggest unknown in our project is the audio/FM board (Slappy).  We are still unsure as to when we will be able to get this piece of hardware.  To help us deal with this, we are going to get in touch with Trevor Perring and try to get some information on literature about the audio codec and the FM radio that the Slappy card uses.  If we at least know what kind of audio and FM radio chip the board uses, we can begin to design the software which will interface to these components.  We are going to start out with the control for the audio codec.  I am assuming that there will be an analog-out on the Slappy card, so we can begin testing audio control software out as soon as we get the card.  Once we can generate a good analog audio stream, we can begin experimenting and testing out the FM broadcast control software. 

The final experimentation will involve putting the three main components together.  First, we will start by tying the Bluetooth and MP3 decoding portions together.  We will run tests to verify that the Bluetooth control works and that the MP3 files are being decoded properly into WAV format.  Then we will add the audio codec and FM broadcast components together.  At this point, we will have a fully functional unit. 

 

Construction & Debugging Plan:

Our project has a very straightforward construction schedule.  Each part basically builds off the last one until completion.  Yes, we could have done a major chunk of it in parallel, but not having the Slappy card available to us until the second half of the quarter has made that idea a bit tricky.  The plan we are following is like this:  First the phone.  The Interface needs to be programmed and the Bluetooth networking setup.  So far, we’ve made good progress with Bluetooth using an emulator, but haven’t been able to yet test in the real hardware.  Hopefully that transition will go smoothly.  The next step is to build up the personal server to connect to the phone via Bluetooth.  Once this connection is made and packets can be sent back and forth, we have the control part done.  The next thing to do is get Mp3s to play on the server, which should be fairly trivial, and finally output the sound out through the Slappy to FM radio.  As you can see, the journey is straightforward, moving from the phone to the server to the Slappy.  It would be possible to work on the Mp3 to Slappy part without having the phone part done, and we probably will do so once the equipment arrives, but for now we are confined mostly to the phone since we have a good working emulator for it.  At any rate, those construction points mentioned above make very clear and attainable milestones for our project.  Each piece can be tested as they are built and debugged easily.  The phone emulator helps a lot, since you can see what’s going on and even have two emulators communicate via Bluetooth just as the phones would.  Once we get Bluetooth going on the Server, debugging is just a networking problem and should be straightforward.  Mp3 playback can be tested by itself, and then it’s just a matter of controlling the Mp3 playback using the Bluetooth messages coming from the phone.

 

Project Timeline:

 

Week 5 – Get Phone / Server Connected via Bluetooth

Week 6 – Finish Phone / Server Connection and work on Mp3 in Parallel

Week 7 – Should have all hardware. Finish Phone and get Mp3s playing

Week 8 – All put together, Mp3s playing.

Week 9 – Working device!  Should have FM playing now.

Week 10 – Test, test, test!

Week 11 – Times Up.  Turn it in.

 

 

 

Appendices:

Initial Design:

Nokia6600 <= BlueTooth => Personal Server / Slappy <= FM Signal => Radio

 

Nokia: UI for playback, file listing.  Bluetooth connection to PS.

Personal Server: Compact Flash holds Mp3s.  Software player plays according to commands received via Bluetooth from the phone.  Sound outputs to Slappy.

Slappy: Outputs sound to FM radio.

 

 

How’s It Going:

 

Work is fairly light these days, but progress is being made, and surprisingly we are sticking to our original schedule exactly!  Our plan is to continue with that schedule, which can be seen above.