Changed all IPs to localhost and added contribs

legit-fork
Slinger360 2019-04-09 18:47:37 -05:00
parent 9da98dc3ff
commit 6f9974bef6
15 changed files with 117 additions and 23 deletions

View File

@ -79,7 +79,7 @@ def UpdateFirmware(link, tran, dev, fwfile):
parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,
description='Xiaomi/Ninebot firmware flasher',
epilog='Example 1: %(prog)s ble ble_patched.bin - flash ble_patched.bin to BLE using default communication parameters'
'\nExample 2: %(prog)s -i tcp -a 192.168.1.10:6000 bms bms115.bin - flash bms115.bin to BMS over TCP-BLE bridge at 192.168.1.10:6000'
'\nExample 2: %(prog)s -i tcp -a 127.0.1.10:6000 bms bms115.bin - flash bms115.bin to BMS over TCP-BLE bridge at 127.0.1.10:6000'
'\nExample 3: %(prog)s -i serial -a COM2 esc CFW.bin - flash CFW.bin to ESC via COM2'
'\nExample 4: %(prog)s -i ble -a 12:34:56:78:9A:BC -p ninebot extbms bms107.bin - flash bms107.bin to Ninebot\'s external BMS via BLE, use specified BLE address')

31
lock.py Normal file
View File

@ -0,0 +1,31 @@
#!python2-32
from py9b.link.base import LinkOpenException, LinkTimeoutException
from py9b.link.tcp import TCPLink
#from py9b.link.ble import BLELink
from py9b.link.serial import SerialLink
from py9b.transport.base import BaseTransport as BT
from py9b.transport.packet import BasePacket as PKT
#from py9b.transport.xiaomi import XiaomiTransport
from py9b.transport.ninebot import NinebotTransport
from py9b.command.regio import ReadRegs, WriteRegs
#link = SerialLink(dump=True)
link = TCPLink()
#link = BLELink()
with link:
print "Scanning..."
ports = link.scan()
print ports
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
link.open(("127.0.0.20:6000"))
# link.open(ports[0][1])
print "Connected"
print('Locking...')
tran.execute(WriteRegs(BT.ESC, 0x70, '<H', 0x0001))
link.close()

32
passwd.py Normal file
View File

@ -0,0 +1,32 @@
#!python2-32
from py9b.link.base import LinkOpenException, LinkTimeoutException
from py9b.link.tcp import TCPLink
#from py9b.link.ble import BLELink
from py9b.link.serial import SerialLink
from py9b.transport.base import BaseTransport as BT
from py9b.transport.packet import BasePacket as PKT
#from py9b.transport.xiaomi import XiaomiTransport
from py9b.transport.ninebot import NinebotTransport
from py9b.command.regio import ReadRegs, WriteRegs
#link = SerialLink(dump=True)
link = TCPLink()
#link = BLELink()
with link:
print "Scanning..."
ports = link.scan()
print ports
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
link.open(("127.0.0.20:6000"))
# link.open(ports[0][1])
print "Connected"
print 'Reading passwd...'
pwd = tran.execute(ReadRegs(BT.ESC, 0x17, "6s"))
print "Passwd:", pwd
link.close()

View File

@ -1,17 +1,17 @@
#!python2-32
from py9b.link.base import LinkOpenException, LinkTimeoutException
from py9b.link.tcp import TCPLink
from py9b.link.ble import BLELink
#from py9b.link.ble import BLELink
from py9b.link.serial import SerialLink
from py9b.transport.base import BaseTransport as BT
from py9b.transport.packet import BasePacket as PKT
from py9b.transport.xiaomi import XiaomiTransport
#from py9b.transport.xiaomi import XiaomiTransport
from py9b.transport.ninebot import NinebotTransport
from py9b.command.regio import ReadRegs, WriteRegs
#link = SerialLink(dump=True)
#link = TCPLink()
link = BLELink()
link = TCPLink()
#link = BLELink()
with link:
print "Scanning..."
@ -21,8 +21,8 @@ with link:
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
#link.open(("192.168.1.45", 6000))
link.open(ports[0][1])
link.open(("127.0.0.20:6000"))
# link.open(ports[0][1])
print "Connected"
print('Power off...')

View File

@ -23,7 +23,7 @@ with link:
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
#link.open(("192.168.1.45", 6000))
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"

View File

@ -20,7 +20,7 @@ with link:
tran = XiaomiTransport(link)
#link.open(("192.168.1.45", 6000))
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"

View File

@ -23,7 +23,7 @@ with link:
tran = XiaomiTransport(link)
#link.open(("192.168.1.45", 6000))
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"

View File

@ -23,7 +23,7 @@ with link:
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
#link.open(("192.168.1.45", 6000))
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"

View File

@ -20,7 +20,7 @@ with link:
tran = XiaomiTransport(link)
#link.open(("192.168.1.45", 6000))
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"

View File

@ -42,7 +42,7 @@ def ReadAllRegs(link, tran, dev, hfo):
parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,
description='Xiaomi/Ninebot register reader',
epilog='Example 1: %(prog)s esc esc_regs.bin - read ESC regs to esc_regs.bin using default communication parameters'
'\nExample 2: %(prog)s -i tcp -a 192.168.1.10:6000 bms bms_regs.bin - flash BMS regs over TCP-BLE bridge at 192.168.1.10:6000'
'\nExample 2: %(prog)s -i tcp -a 127.0.1.10:6000 bms bms_regs.bin - flash BMS regs over TCP-BLE bridge at 127.0.1.10:6000'
'\nExample 3: %(prog)s -i serial -a COM2 esc esc_regs.bin - read ESC regs via COM2'
'\nExample 4: %(prog)s -i ble -a 12:34:56:78:9A:BC esc esc_regs.bin - read ESC regs via BLE, use specified BLE address')

View File

@ -1,17 +1,17 @@
#!python2-32
from py9b.link.base import LinkOpenException, LinkTimeoutException
from py9b.link.tcp import TCPLink
from py9b.link.ble import BLELink
#from py9b.link.ble import BLELink
from py9b.link.serial import SerialLink
from py9b.transport.base import BaseTransport as BT
from py9b.transport.packet import BasePacket as PKT
from py9b.transport.xiaomi import XiaomiTransport
#from py9b.transport.xiaomi import XiaomiTransport
from py9b.transport.ninebot import NinebotTransport
from py9b.command.regio import ReadRegs, WriteRegs
#link = SerialLink(dump=True)
#link = TCPLink()
link = BLELink()
link = TCPLink()
#link = BLELink()
with link:
print "Scanning..."
@ -21,11 +21,11 @@ with link:
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
#link.open(("192.168.1.45", 6000))
link.open(ports[0][1])
link.open(("127.0.0.20:6000"))
# link.open(ports[0][1])
print "Connected"
print('Reboot...')
tran.execute(WriteRegs(BT.ESC, 0x78, '<H', 0x0001))
tran.execute(WriteRegs(BT.ESC, 0x78, '<H', 0x0001))
link.close()

View File

@ -21,7 +21,7 @@ with link:
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
#link.open(("192.168.1.45", 6000))
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"

View File

@ -11,7 +11,7 @@ with TCPLink() as link:
tran = XiaomiTransport(link)
#link.open(("192.168.1.45", 6000))
#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")

31
unlock.py Normal file
View File

@ -0,0 +1,31 @@
#!python2-32
from py9b.link.base import LinkOpenException, LinkTimeoutException
from py9b.link.tcp import TCPLink
#from py9b.link.ble import BLELink
from py9b.link.serial import SerialLink
from py9b.transport.base import BaseTransport as BT
from py9b.transport.packet import BasePacket as PKT
#from py9b.transport.xiaomi import XiaomiTransport
from py9b.transport.ninebot import NinebotTransport
from py9b.command.regio import ReadRegs, WriteRegs
#link = SerialLink(dump=True)
link = TCPLink()
#link = BLELink()
with link:
print "Scanning..."
ports = link.scan()
print ports
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
link.open(("127.0.0.20:6000"))
# link.open(ports[0][1])
print "Connected"
print('Unlocking...')
tran.execute(WriteRegs(BT.ESC, 0x71, '<H', 0x0001))
link.close()

View File

@ -17,7 +17,7 @@ with link:
tran = XiaomiTransport(link)
link.open(("192.168.1.45", 6000))
link.open(("127.0.0.1", 6000))
#link.open(ports[0][1])
print "Connected"