跳转到主要内容

使用rtl-sdr接收EnergyCount 3000传输。

项目描述

此模块允许您使用支持RTL-SDR的无线电接收器和GNU Radio软件定义无线电框架接收和解码来自EnergyCount 3000能量记录器的无线电传输。

EnergyCount 3000发射器插在设备与交流电源插座之间,并监控电能使用情况。它们在868 MHz SRD频段上每5秒传输一个包含状态更新的数据包。报告的值包括设备的ID、当前和最大看到的电力、总能量消耗和设备开启时间。

模块内容

该模块导出一个表示无线电接收器的类。您提供给它一个回调函数,每次接收到新的状态更新时都会调用该函数

def callback(state):
    print state

my_ec3k = ec3k.EnergyCount3K(callback=callback)

my_ec3k.start()
while not want_stop:
    time.sleep(2)
    print "Noise level: %.1f dB" % (my_ec3k.noise_level,)

my_ec3k.stop()

上面的示例在每次状态更新时打印以下内容

id              : ....
time total      : .... seconds
time on         : .... seconds
energy          : .... Ws
power current   : .... W
power max       : .... W
reset counter   : ....

您还可以通过调用EnergyCount3K对象的get方法来获取最后接收的状态。请参阅文档字符串以获取详细信息。

还包括一个示例命令行客户端ec3k_recv,它将接收到的数据包打印到标准输出。

需求

您需要GNU Radio框架、rtl-sdr和gr-osmosdr包。

http://sdr.osmocom.org/trac/wiki/rtl-sdr

已知可正常工作的版本组合

  • GNU Radio版本3.7.5

  • rtl-sdr git提交d447a2e9(2014-08-26)

  • gr-osmosdr git提交48045b59(2015-01-10)

为此包包含了一个用于基带解码的纯Python实现(capture.py),应该可以即插即用。

为了更有效的解码,也可以使用C实现。从以下地址获取源代码,编译它,并确保capture二进制文件在PATH中。然后它应该会自动使用,而不是Python实现。

http://www.tablix.org/~avian/blog/articles/am433/

安装

像安装大多数其他Python包一样安装ec3k

$ python setup.py install
$ python setup.py test

要尝试它,请运行示例命令行客户端

$ ec3k_recv

请注意,接收器需要一些时间来适应您环境中的信号和噪声水平。可能需要几分钟ec3k_recv才会打印出任何解码的数据包。

已知问题

有时GNU Radio流水线设置不正确。如果发生这种情况,噪声水平会持续保持在-90 dB,并且永远不会接收到任何数据包。重新启动程序通常有帮助。更新gr-osmosdr和rtl-sdr通常可以解决这个问题。

有时停止接收机会导致段错误。更新gr-osmosdr和rtl-sdr通常可以解决这个问题。

反馈

请将补丁或错误报告发送到 <tomaz.solc@tablix.org>

来源

您可以使用以下命令获取开发仓库的本地副本

git clone git://github.com/avian2/ec3k.git

许可证

ec3k,EnergyCount 3000的软件接收器

版权 (C) 2015 Tomaz Solc <tomaz.solc@tablix.org>

版权 (C) 2012 Gasper Zejn

协议逆向工程: http://forum.jeelabs.net/comment/4020

本程序是自由软件:您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)任何较新版本。

本程序以希望它将是有用的目的进行分发,但没有任何保证;甚至没有任何关于适销性或特定用途适用性的暗示保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已随本程序收到一份GNU通用公共许可证副本。如果没有,请参阅 <https://gnu.ac.cn/licenses/>。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

ec3k-1.1.1.tar.gz (438.8 kB 查看散列)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面