from py9b.link.base import LinkOpenException, LinkTimeoutException from py9b.link.tcp import TCPLink from py9b.transport.base import BaseTransport as BT from py9b.transport.packet import BasePacket as PKT from py9b.transport.xiaomi import XiaomiTransport #link = SerialLink() with TCPLink() as link: ports = link.scan() print ports tran = XiaomiTransport(link) #link.open(("127.0.0.1", 6000)) link.open(ports[0][1]) #req = PKT(src=BT.HOST, dst=BT.ESC, cmd=0x01, arg=0x10, data="\x10") req = PKT(src=BT.HOST, dst=BT.BMS, cmd=0x01, arg=0x10, data="\x10") while raw_input("Press ENTER to send...")!="q": tran.send(req) try: rsp = tran.recv() except LinkTimeoutException: print "No response" continue print rsp link.close()