Go Down

Topic: Alarm Clock with Wake-on-LAN (WoL) and Streaming Music (Read 2303 times) previous topic - next topic

First post so please be gentle!

Here's what I want to do:
a) Build an alarm clock that can wake up my desktop (in another room) via WoL
b) have the desktop send audio (either from files or from streaming website) back to alarm clock's speakers

I think item (b) would be significantly more complex, since (a) just needs something that can broadcast a magic packet. Therefore, I have two questions:
1) What would it take to achieve (a), i.e. What is the minimal amount of hardware I need to attach to my Arduino UNO in order to be able to send a magic packet?
2) What would I need in order for my desktop to transmit music to the Arduino? I'm guessing some software accommodations to the desktop and some hardware upgrades to (a) are required.

Through searches, I know that several posts have breached this subject before. Few of them seem to find resolution, and the solutions don't seem to involve WoL.

I also found this really neat guide where a guy builds a WiFi internet radio by hacking a cheap router: http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/
Maybe I could follow his guide and build a clock into it. I honestly have no idea which would be an easier approach.

Any advice/help you can offer would be greatly appreciated!



a) does you  PC support WOL packets ? - e.g. from another PC
a) if so you should give it some time / minutes to boot properly
a) you should have auto-login enabled and some autostart mechanism.
a) What PC? windows linux mac other?
b) what are your expectation wrt sound quality?

1) at least an ethernetshield if you want to use WOL
2) what are your expectation wrt sound quality?

Q: What is your experience with (network) programming?

I honestly have no idea which would be an easier approach.

buy a real alarmclock? ;)

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Thanks for your reply, Rob!

Type of computer: PC
OS: Windows 7 64bit
NIC: Realtek PCIe FE Family Controller - I don't currently use this network card since I'm networked wirelessly, but from the device manager, WoL is supported and enabled :)
Wireless Network Card: Ralink RT2500 - From the little I've managed to scrape up on the internets, there doesn't seem to be WoL capability for this device. Correct me if I'm wrong, I would love to keep this solution wireless if possible.
Auto-login: Enabled. Not sure what is meant by an autostart mechanism.

b) I'm no audiofile. Radio quality would suffice.

A: Nil for network programming experience. I have taken a couple of university level data structures and algorithms courses, and I have done a bit of playing around in various languages.

The ethernet shield definitely seems appropriate for goal (b), but do you think I could get away with less if all I want to do is broadcast a magic packet? Maybe just an antenna?
Maybe I'm very misguided in thinking it could be so simple. I know nothing about networking, but if I need more hardware just to broadcast a signal, I'm curious to know why.


b) I'm no audiofile. Radio quality would suffice.

That means you need extra hardware, somethink like a wave shield - http://www.ladyada.net/make/waveshield/ -

(in fact the wave shield allows you to build a stand alone MP3 alarmclock - just add a RealTimeClock RTC - but that was not your question)

OK, the WOL way (first thoughts).

First you have to test the WOL functionality of the PC, you need a 2nd PC / laptop to send the WOL packet.
Tools are available at - http://windows7-issues.blogspot.com/2011/03/wake-on-lan-wol-for-windows-7-made-easy.html -

The second step will be to test the Arduino as WOL sender  e.g. - http://www.arduino.cc/playground/Main/ArduinoWaker -
can be done simpler - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1257171745  reply #10 - Note this is historic code which shows how to do it minimalisticly

If the arduino packet can wake the PC, its time for the 3rd step : the mediastreamer.
Think the simplest solution is to let the Arduino request for files from the PC. Then you only need to install a webserver e.g. - http://www.apachefriends.org/en/xampp.html -

Make a simple php-script that returns a random or predefined music stream. PHP can do all conversions needed so the Arduino can concentrate on playing the data.

Then test the Arduino as webclient - http://arduino.cc/en/Reference/ClientConstructor - to fetch the stream

so quite some steps to take,  but every step solved is a reward in itself..

Let us hear about the progress...or the questions that arise...

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Go Up