用于与RFLink 433MHz收发器交互的库和CLI工具。

rflink的Python项目详细描述


https://travis-ci.org/aequitas/python-rflink.svg?branch=masterhttps://img.shields.io/pypi/v/rflink.svghttps://img.shields.io/pypi/pyversions/rflink.svgMaintainabilityTest Coveragehttps://img.shields.io/requires/github/aequitas/python-rflink.svghttps://img.shields.io/badge/Cyberveiligheid-97%25-yellow.svg

用于与RFLink 433MHz收发器交互的库和CLI工具。

http://www.nemcon.nl/blog2/

要求

  • python 3.4(或更高版本)

说明

这个包主要作为home assistant rflink组件实现的库创建。cli主要是为了调试目的而创建的,但如果需要,将来可能会扩展为更真实的应用程序。

该软件包还提供了一个cli实用程序,允许多个客户端(如home assistant+domoticz或多个home assistant实例)共享单个rflink硬件。

更改

  • 2018年11月1日—由于emontnemery的贡献,添加了rflinkproxycli命令。

安装

$ pip install rflink

rflinkproxy cli的用法

$ rflinkproxy -h
Command line interface for rflink proxy.

Usage:
  rflinkproxy [-v | -vv] [options]
  rflinkproxy (-h | --help)
  rflinkproxy --version

Options:
  --listenport=<port>  Port to listen on
  --port=<port>        Serial port to connect to [default: /dev/ttyACM0],
                         or TCP port in TCP mode.
  --baud=<baud>        Serial baud rate [default: 57600].
  --host=<host>        TCP mode, connect to host instead of serial port.
  --repeat=<repeat>    How often to repeat a command [default: 1].
  -h --help            Show this screen.
  -v                   Increase verbosity
  --version            Show version.

共享连接到串行端口/dev/ttyacm1的rflink, 代理将在端口2345上侦听:

$ rflink --port /dev/ttyACM0 --listenport 2345

共享TCP模式RFLink而不是串行端口(例如:ESP8266串行网桥) 代理将在端口2345上侦听:

$ rflink --host 1.2.3.4 --port 1234 --listenport 2345

调试日志以详细模式显示,用于调试:

$ rflink -vv --host 1.2.3.4 --port 1234 --listenport 2345
DEBUG:asyncio:Using selector: EpollSelector
INFO:rflinkproxy.__main__:Serving on ('0.0.0.0', 2345)
INFO:rflinkproxy.__main__:Initiating Rflink connection
DEBUG:rflink.protocol:connected
INFO:rflinkproxy.__main__:Connected to Rflink
INFO:rflinkproxy.__main__:Incoming connection from: ::1:63293
DEBUG:rflinkproxy.__main__:got packet: 20;00;Xiron;ID=4001;TEMP=00f1;HUM=38;BAT=LOW;
DEBUG:rflinkproxy.__main__:decoded packet: {'node': 'gateway', 'protocol': 'xiron', 'id': '4001', 'temperature': 24.1, 'temperature_unit': '°C', 'humidity': 38, 'humidity_unit': '%', 'battery': 'low'}
INFO:rflinkproxy.__main__:forwarding packet 20;00;Xiron;ID=4001;TEMP=00f1;HUM=38;BAT=LOW; to clients
DEBUG:rflinkproxy.__main__:got packet: 20;00;NewKaku;ID=013373f6;SWITCH=10;CMD=ON;
DEBUG:rflinkproxy.__main__:decoded packet: {'node': 'gateway', 'protocol': 'newkaku', 'id': '013373f6', 'switch': '10', 'command': 'on'}
INFO:rflinkproxy.__main__:forwarding packet 20;00;NewKaku;ID=013373f6;SWITCH=10;CMD=ON; to clients
DEBUG:rflinkproxy.__main__:got packet: 20;00;Auriol V2;ID=D101;TEMP=006f;BAT=OK;
DEBUG:rflinkproxy.__main__:decoded packet: {'node': 'gateway', 'protocol': 'auriol v2', 'id': 'd101', 'temperature': 11.1, 'temperature_unit': '°C', 'battery': 'ok'}
INFO:rflinkproxy.__main__:forwarding packet 20;00;Auriol V2;ID=D101;TEMP=006f;BAT=OK; to clients

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
编译器构造为什么在Java中允许初始化对Null的引用?   java手动调用javax的actionPerformed。摆动计时器   使用git分支的java Maven版本控制   Java8句子流   java JPA OneToOne和OneToMany实体实例化/创建   java如何将值添加到列表<Map<String,Object>>?   java如何使用ComboBox在一个框架内更改JPanel。getSelectedIndex()   java在比较XML和xmlunit时忽略文本差异   java无法从其他pc连接到本地主机   Java中分配对象id的优雅方式   Java中静态变量的使用   java试图从Neteller获取OAuth访问令牌时产生错误:“服务器返回HTTP响应代码:401表示URL”   Java:基元类型是否会影响性能?   java可以让hasNext()不区分大小写吗?   基于AutoCompleteTextView建议属性或AutoCompleteTextView值的java Android搜索   java流文件到firefox浏览器有时无法打开应用程序对话框   在没有ArrayList的Java中返回数组中的搜索结果   复制java。木卫一。IOException:数据错误(CRC)   java为什么我在尝试删除Facebook测试用户时会出现“方法未实现”错误   java如何使用JNA调用SetProcessReliationPolicy