通过电力网络发送和接收数据
我对硬件解决方案不感兴趣,我想了解可以“读取”通过电源接收到的调制信号的软件 - 某种可以访问电源信号的低级驱动程序放在方便的地方并解调它。
有没有办法接收电脑电源的信号?我对允许计算机被视为 电力线中的节点的 API 或库感兴趣直接通过电源线通讯网络并接收数据,无需转换器。该领域有活跃的研究吗?
编辑:
有一种软件可以读取监视器并显示内部组件电压 - 经过电源转换和滤波后的直流电压 - 现在我需要一种数据编码方法,该方法对于转换和滤波是不变的,嵌入交流电中的原始信号以某种形式存在于转换后的直流信号中。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
正如问题中所述,这是不可能的。是的,使用额外的硬件就可以做到。不,对于 PC 中的标准硬件,您无法做到这一点。
正如其他人所指出的,除了其他问题之外,您可以从通用 PC 获得的唯一信息是 CPU 的一些电压信息。它不会给出交流信号的图像,也不会给出在其上调制的任何信号的图像。您将在计算机内部看到一些高度监管的直流信号,这些信号可能也以相对较低的速率转换。几乎根据定义,如果您可以看到任何这些信号的外部信息,则您的机器已经出现硬件故障,并且 CPU 可能很快就会崩溃......
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...
*闪烁* 否...
编辑:我的意思是,可以将电源线用作网络电缆,但只能使用特殊的适配器。
它只是为家庭网络设计的。编辑2:你无法从计算机的电源读取某些内容......它不是为此设计的。您必须为此创建自己的组件/适配器。
*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.
我读错了吗?这不是一个纯硬件解决方案吗?
Am I mis-reading this? Wouldnt this be a pure hardware solution?
如果不添加一些硬件,这是极不可能的。
您会看到,普通 PC 中的电源是开关电源,它可以有效地将交流输入与 PC 端所需的直流电压解耦。交流侧基本上只是提供为高速电源开关电路提供动力的电源。
此外,根据定义,直流信号本身不提供信号:它是“静态”功率电平(是的,功率电平在时域中确实有一点变化,但不会像一个易于利用的功能)。
是的,可以有一个AD(模拟到数字)监控芯片,可以用在PC端来读取提供给主板等的直流分量的电压,但这并不意味着仍然可以收集信号:原始电源线“信号”可能已经通过了足够的滤波器,因此没有“信号”需要处理。
最后,需要考虑到不同公司的电源设计各不相同;这一事实无疑会影响通信解决方案的任何可能的设计。
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.
您所描述的情况是可能的,但不幸的是,您需要一个适配器将电力线上运行的信号转换为合理的网络流量。
电源线充当物理介质,因此处于 OSI 堆栈的最低级别。从电信号到合理网络流量的转换需要硬件适配器,与以太网适配器相同。您的计算机无法理解此流量,因为其电源不是为传输这些信息而设计的。但请注意,您可以轻松找到适配器,它的工作方式与以太网适配器相同,可以通过标准 BSD 套接字库进行访问。
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.
这是完全可能的,尽管您需要购买或构建一些硬件才能实现它。此外,软件解决方案将非常非常复杂。
计算机的电源大部分都无法正常工作。您需要直接从墙上读取数据,并尽可能减少外部噪音。从电气工程的角度来看,这是一个非常全面的主题。最后,您真正要做的只是模数转换,其余的可以防止您的电路被烧坏。
软件解决方案基本上是消除随机噪声,并寻找嵌入信号。模拟信号分析背后的数学非常复杂,您可以在大学花几个学期来学习该主题,并在余下的职业生涯中尝试掌握它。如果你擅长的话,华尔街就有一份轻松的预测股票市场的工作等着你。
这仅涵盖读取传入信号。传输完全是另一项运动。
现在,听起来您可能对黑客感兴趣。那是...
你可以买一个
商用现成电源线
以太网适配器并将其拆开。
它们有两个插脚,可插入
标准墙壁插座。你可以
删除这些并将它们连接到
电源内部。
要做到这一点,你必须撕裂一个力量
供应也是如此,这是令人难以置信的
危险,我特此警告你和
其他人永远不要尝试这样做。
整个以太网适配器可以是
塞进电源和你
基本上可以有一个以太网
电源表面的端口
供应(内部或外部
计算机)。
只需将其连接到
标准以太网适配器和瞧
(!),你除了力量之外一无所有
将您的计算机连接到的电缆
墙上的插座,你就神奇地拥有了
以太网!
请注意,还必须有另一条电源线
以太网适配器在其他地方
你建立一个网络并使整个项目有用。
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...
You could buy a
commercial-off-the-shelf power-line
Ethernet adapter and tear it apart.
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.
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.
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).
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!
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.
您如何从电源读取调制数据,您谈论的是电压和欧姆,除了可能令人震惊的电击之外:)您可以使用带有以太网插孔的专用电源插头。
我只是大胆猜测,根据 Adrien Plisson 的回答,这是完全透明的,即您将拥有所有 OSI 层,并且没有什么不同。您可以编写代码来从套接字读取数据。
AFAIK 没有一家生产这种电源插头的公司会出于竞争原因开放 API,它仍处于早期阶段,因为采用率很低,因为显然它非常昂贵(在我的国家一对 120 欧元) ,因为它没有提供所引用的速度,例如 100Mbps 电源插头,由于电源情况和现象的变化(例如浪涌、断电、干扰),可能会达到 85Mbps。
我的2分钱。
希望这有帮助,
此致,
汤姆.
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.