恢复硬件重新启动程序API库

pyrevive的Python项目详细描述


Pyrevie

恢复硬件重新启动程序API库

这个python包用于与revive硬件重启器http api接口。REVIVE是加密货币挖掘设备的硬件重启器和监视器。

您可以找到更多信息并购买一个here

如果您觉得这个图书馆有帮助,我们将非常感谢您的捐赠:

  • 以太坊:0x7472A4812200FC320793A946F027D559E63B164D
  • 以太坊经典:0x20282A304C20399B6534CEF6196A99978CB89588
  • 比特币:1lvnfmgfz8xtazgi25dirfajofvpappanct5
  • 比特币现金:1ec3cpq3wpswt7fqadggtykvpntmz3cvaa
  • 莱特币:lszbbs7esknjxq1fkxyuamr5quzeazxfm1
  • 电子版:etnk3ydpybaebqz3nq63qmev4thri9efh64cvkzzc2w3a7vehpzkvd97uswxtmtawjtnfkep9rup3md7nzyu9q49vzzqkhxwn

使用pip

安装
pip install pyrevive

从源安装

git clone https://github.com/RevolutionRigs/pyrevive.git
cd pyrevive/
pip install .

如果不想使用pip安装,可以使用setup.py安装

git clone https://github.com/RevolutionRigs/pyrevive.git
cd pyrevive/
python setup.py install

导入

import pyrevive

连接

connect()方法有两个参数:host[:port],authorizationkey 授权密钥可以在您的恢复底部找到。

revive = pyrevive.connect("192.168.1.254", "authorizationKey")

版本

获取当前版本的pyrevive

print(revive.__version__)

功率

在恢复端口(aka rig)上执行开机、关机、复位功能。

接通钻机1的电源
revive.power.on(1)

关闭钻机1的电源
revive.power.off(1)

动力循环钻机1

所有循环/重置/重新启动方法都是彼此的别名,并执行相同的操作

revive.power.cycle(1)
revive.power.reset(1)
revive.power.restart(1)

启动钻机1-16

for rig in range(1, 17):
    revive.power.on(rig)

设备

设备特定操作和授权

设备授权检查
revive.device.auth()

获取设备ID
revive.device.id()

设备你好消息(当前返回设备ID)

revive.device.hello()

钻机

装备特定方法:get()和update()

装备。获取

revive.rig.get()方法接受一个整数(1-16)作为rig/端口号,或者不使用参数来获取所有端口号的信息。返回包含值的json字符串。API当前在REVIVE时中断,无论指定哪个端口,都只返回端口1。

# Get information about all ports/rigs
res = revive.rig.get()
print(res)

# Get information about port/rig 1
res = revive.rig.get(1)
print(res)

装备更新

使用指定的信息更新装备(又名端口)。它以python dict作为参数。可能的字段是:

  • 端口(int,1-16,必需)-将更新的物理端口。我们没有钻机ID,而是使用此端口号
  • 名称(char)-装备的名称
  • IP(IP地址)-设备的IP地址,在模式设置为监视程序时使用
  • 模式(char,manual watchdog api)
  • 维护(布尔)-暂时不使用
payload = { "port": 3, "name": "RRMS40U", "ip": "192.168.100.101", "mode": "manual", "maintenance": False }
res = revive.rig.update(payload)
print(res)

配置

检索并设置有关恢复的网络和监视程序信息。

配置网络

revive.config.network对象设置以下读写变量:

* revive.config.network.mode
* revive.config.network.ip
* revive.config.network.netmask
* revive.config.network.gateway
* revive.config.network.primaryDNS
* revive.config.network.secondaryDNS

观看

您可以通过两种方式查看当前设置。使用助手方法show():

revive.config.network.show()

或每个单独的设置:

print(revive.config.network.mode)
print(revive.config.network.ip)
print(revive.config.network.netmask)
print(revive.config.network.gateway)
print(revive.config.network.primaryDNS)
print(revive.config.network.secondaryDNS)

网络对象“settings”上还有一个字典,您也可以查看这些设置:

print(revive.config.network.settings)
更新

个别设置是读写的,可以更改,然后使用save()方法保存回revive:

revive.config.network.show()

revive.config.network.ip = "10.1.1.254"
revive.config.network.netmask = "255.255.255.0"
revive.config.network.gateway = "10.1.1.1"
revive.config.network.primaryDNS = "8.8.8.8"
revive.config.network.secondaryDNS = "8.8.4.4"

res = revive.config.network.save()
print(res)

revive.config.network.show()

配置看门狗

“恢复监视程序”功能有3个可修改的设置。revive.config.watchdog对象有三个读写变量:

* revive.config.watchdog.settings
* revive.config.watchdog.pingInterval
* revive.config.watchdog.firstResetAfter
* revive.config.watchdog.anotherResetEvery
观看

您可以通过两种方式查看当前设置。使用助手方法show():

revive.config.watchdog.show()

或者您可以单独查看设置:

print(revive.config.watchdog.settings)
print(revive.config.watchdog.pingInterval)
print(revive.config.watchdog.firstResetAfter)
print(revive.config.watchdog.anotherResetEvery)

在看门狗对象“settings”上还有一个字典,您也可以查看设置:

print(revive.config.watchdog.settings)
更新

个别设置是读写的,可以更改,然后使用save()方法保存回revive:

revive.config.watchdog.show()

revive.config.watchdog.pingInterval = "5"
revive.config.watchdog.firstResetAfter = "90"
revive.config.watchdog.anotherResetEvery = "120"

res = revive.config.watchdog.save()
print(res)

revive.config.watchdog.show()

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

推荐PyPI第三方库


热门话题
java Play Framework 2.1中的简单搜索?   java:Springbeans的真正工作原理   java不能从字符串中提取数字   不同管道中的java共享ExecutionHandler   在Java中,如何为扩展comparator的类实现多个comparator方法?   通用混沌Java   java问题:从自定义类获取要添加到驱动程序类的形状   java如何利用HikariCP和Hibernate?   eclipse如何执行Java应用程序?   用户界面Java Swing:如何将JLabel的文本绑定到JTable选定行中的列?   java替换JPanel元素而不添加到面板的末尾?   java Sets根据action命令在按钮组中选择了特定的jradiobutton   在java中如何将从控制台添加的字符串中的元素添加到列表中   处理未在浏览器上运行的Java签名小程序   java如何在我的安卓应用程序中单击任意按钮时禁用音频音调?   编码如何在Java中将十六进制转换为utf8编码的字符串   java JSF Spring安全集成问题   java如何更正Oracle for Windows中的字符?   java Spark结构化流媒体:当前批次落后   java Hibernate根据最匹配的条件排序结果