views:

192

answers:

7

I'm not interested in a hardware solution, I want to know about software that may "read" modulated signal received trough the power supply - some sort of a low-level driver that would access the power signal in a convenient place and demodulate it.

Is there a way to receive signal from the computer's power supply? I'm interested in an API or library that would allow the computer to be seen as a node in a Power Line Communication network and receive data directly through the power cable, without the need for a converter. Is there any active research in this field?

Edit:

There is software that reads monitors and displays internal component voltages - DC voltage after being converted and filtered by the power supply - now I need is a method of data encoding that would be invariant to conversion and filtering, the original signal embedded in AC being present in some form within the converted DC signal.

+3  A: 

*blink* No...

Edit: I mean, there's the possibility to use the powerlines as network cables, but only with special adapters. And it is just designed for home networks.

Edit2: You can't read something from the power supply of a computer...it's not designed for that. You would have to create your own component/adapter for this.

Bobby
It's not just designed for home networks - the Wikipedia article cites usage in a distribution line carrier too.
luvieere
@luvieere: Really? Didn't know that, sorry. I always thought that this would have some limitations which would make it...ahm...not working for bigger networks or larger distances.
Bobby
@bobby - it doesn't matter, the key point - so far as I can see - is that there *is* specific hardware involved in the system (in either domestic or internet over powerline contexts) and that additional doesn't exist in a standard power supply.
Murph
@Murph: I know that. ;) That's my second edit on my answer.
Bobby
+2  A: 

Am I mis-reading this? Wouldnt this be a pure hardware solution?

Pino
I'm not looking for a hardware solution, I'm looking for some sort of a driver that would "read" modulated data from the power supply.
luvieere
Not possible.....
Pino
+1  A: 

what you describe is possible but unfortunately, you need an adapter to convert the signal running on the powerlines to sensible network traffic.

the power line acts as a physical medium, thus is at the lowest level f the OSI stack. conversion from electrical signal to sensible network traffic requires a hardware adapter, same for your an ethernet adapter. your computer is unable to understand this traffic since its power supply was not build to transmit those informations. but note that you can easily find an adapter and it will works the same as an ethernet adapter, that is be accessible through the standard BSD socket library.

Adrien Plisson
I want to use the computer itself to take the place of the adapter. I've seen software monitoring different component's voltages so I would assume that fluctuations in these would reflect in a measurable manner for software to analyse.
luvieere
the response time of those components are not comparable to the speed at which data is encoded on those network over powerlines. also, the voltages that you see monitored on your computer is the DC voltage after being converted and filtered by the power supply, while the power line communication takes place on an AC signal.
Adrien Plisson
Adrien: You should add that comment to your answer.
caf
" the voltages that you see monitored on your computer is the DC voltage after being converted and filtered by the power supply" - exactly, now what is needed is a method of data encoding that would be invariant to conversion and filtering, being present in some form within the converted DC signal.
luvieere
A: 

How can you read modulated data from the power supply, you are talking about voltage and ohms and apart from a possible electrical shock which would be just shocking :) There are specialized electrical plugs with ethernet jacks in them that you can use.

I just hazard a guess that this is totally transparent as per Adrien Plisson's answer, i.e. you would have all of the OSI layer and is no different. You can write code to read from the sockets.

AFAIK no company that produces this electrical plug would ever open up the API for competition reasons, it is still in early stages as adoption of that is low because obviously it is very expensive (120 euro here in my country for a pair of 'em), as it does not deliver the quoted speed, say 100Mbps power plug, may get maybe 85Mbps due to varying situations and phenomena with power (think surges, brown outs, interference).

My 2cents. Hope this helps, Best regards, Tom.

tommieb75
+1  A: 

This is ENTIRELY possible, although you would need to either buy or build some hardware to make it happen. In addition, the software solution would be very, very complex.

The computer's power supply would be out of the picture for the most part. You need to read data straight from the wall with as little extraneous noise as possible. From the electrical engineering perspective, this is a very thoroughly covered topic. In the end, all you're really doing is an analog to digital conversion, and the rest keeps your circuit from being fried.

The software solution would basically be eliminating random noise, and looking for embedded signals. The math behind analog signal analysis is very complex, and you can spend a few semesters in college covering the topic, and the rest of your career trying to master it. If you're good at it, there's a cushy job for you on wallstreet predicting the stock market.

And that only covers reading incoming signals. Transmitting is a whole 'nother sport.

Now, it also sounds like you might be interested in a hack. That is...

  1. You could buy a commercial-off-the-shelf power-line Ethernet adapter and tear it apart.

  2. They have two prongs that plug into a standard wall outlet. You could remove these and wire them to the INSIDE of a power supply.

  3. To do that, you'd have to tear apart a power supply as well, which is incredibly dangerous and I hereby warn you and anyone else to NEVER attempt this.

  4. The entire Ethernet adapter could be tucked into the power supply and you could basically have an Ethernet port on the surface of your power supply (either inside or outside the computer).

  5. Simply wire that to a standard Ethernet adapter and voila (!), you have nothing but a power cable connecting your computer to the wall outlet, AND you magically have Ethernet!

  6. Note that there also has to be another power-line Ethernet adapter somewhere else for you to establish a network and make the whole project useful.

Dolph
Nice idea. I was thinking about something similar, but "opposite way". In my "mental project" my netbook was powered with built in PoE adapter, so i would have tou use only Ethernet cable.
Maciek Sawicki
He stated he didnt want to use any hardware :S
Andi
Supplying power to your netbook over PoE would likely be much more difficult. I'm not sure of the power specifications PoE provides, but I *suspect* it's significantly less than what your laptop requires to run, much less charge the battery with extra power while running.
Dolph
+5  A: 

This is not possible, as described in the question. Yes, with extra hardware you can do it. No, with the standard hardware in a PC, you could not.

As others have noted, among other problems, the only information you can get from a generic PC is a bit of voltage info for the CPU. It's not going to give a picture of the AC signal, nor any signal modulated on top of it. You'll be watching a few highly regulated DC signals deep inside the computer, probably converted at a relatively low rate too. Almost by definition, if you could see external information on any of those signals, your machine is already suffering a hardware failure and chances are the CPU will be crashing soon...

Peter Hansen
+1  A: 

This is highly improbable without adding some hardware.

You see, the power supplies in a regular PC are switching power supplies which effectively decouple the AC input from the supplied DC voltage needed on the PC side. The AC side just basically provides power that fuels the high-speed power switching circuitry.

Also, a DC signal, by definition, doesn't provide a signal per se: it is a "static" power level (and yes the power level does vary a bit in the time domain but not as an easy to leverage function).

Yes there can be an AD (Analog to Digital) monitoring chip that can be used on the PC side to read the voltage of the DC component supplied to the motherboard etc., but that doesn't mean there is still a signal that can be harvested: the original power line "signal" might have been through enough filters that there isn't a "signal" left to be processed.

Lastly, one needs to consider that power supplies design varies from company to company; this fact will undoubtedly affect any possible design of a communication solution.

jldupont
"but that doesn't mean it can be reliably used to transport a communication signal" - reliably in terms of the number of errors would mean that the signal-to-noise ratio would be indeed great, but with error-corrective measures it might be possible, yet unfeasible for attaining a high rate of communication. For be, even a few bits per hour would be enough.
luvieere
@luvieere: my choice of words was poor, let me update.
jldupont
"the original power line "signal" might have been through enough filters..." - you see the incertitude even in these words - might have been - you don't know for sure, I don't know for sure, this leaves room for a "what if we might still get some kind of a remnant signal?". That is the question I was asking myself and asked here too. Without an attempt to either verify by experiment or prove by formulae that NO signal in the world could withstand that conversion, your and anyone's answer telling me that it is not possible is like stating that **P != NP** => you don't know for sure!
luvieere
It comes down to how badly$$ you want this: there might be a solution for a subset of power supplies/motherboard combinations but I have the strong suspicion that the bandwidth you'll get with any such solution will be dismal. Of course, if you craft a bit of extra hw, your results will undoubtedly vary ;-)
jldupont