parent
127c6ef91c
commit
ad34a4b2d2
2 changed files with 43 additions and 0 deletions
@ -0,0 +1,41 @@ |
|||||||
|
import asyncio |
||||||
|
import json |
||||||
|
|
||||||
|
async def bosminer_cmd(host, command, param=None): |
||||||
|
reader, writer = await asyncio.open_connection(host, 4028) |
||||||
|
|
||||||
|
payload = dict(command=command) |
||||||
|
if param: |
||||||
|
payload['parameter'] = param |
||||||
|
|
||||||
|
message = json.dumps(payload) |
||||||
|
writer.write(message.encode()) |
||||||
|
await writer.drain() |
||||||
|
data = await reader.readuntil(separator=b'\00') |
||||||
|
writer.close() |
||||||
|
await writer.wait_closed() |
||||||
|
|
||||||
|
return data[:-1].decode() |
||||||
|
|
||||||
|
async def test(): |
||||||
|
import sys |
||||||
|
|
||||||
|
if len(sys.argv) == 3: |
||||||
|
cmd = sys.argv[1] |
||||||
|
param = sys.argv[2] |
||||||
|
if len(sys.argv) == 2: |
||||||
|
cmd = sys.argv[1] |
||||||
|
param = None |
||||||
|
else: |
||||||
|
cmd = 'temps' |
||||||
|
param = None |
||||||
|
|
||||||
|
res = await bosminer_cmd('192.168.69.4', cmd, param) |
||||||
|
j = json.loads(res) |
||||||
|
print(json.dumps(j, indent=4)) |
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__': |
||||||
|
loop = asyncio.get_event_loop() |
||||||
|
loop.run_until_complete(test()) |
||||||
|
loop.close() |
Loading…
Reference in new issue