Xiaomi/Ninebot scooter communication library (internal fork)
Go to file
informatic f8ba5ef4ee py9b/command/regio: fix write command on ninebot > 0301
Somewhere between ESC 0301 and 0401 response format for write command
has changed and is much more similar to that of xiaomi - arg contains
register address and single response data byte is a write result. This
is behaviour that matches description in nbdocs.pdf on scooterhacking
wiki.
2019-10-22 14:48:01 +02:00
py9b py9b/command/regio: fix write command on ninebot > 0301 2019-10-22 14:48:01 +02:00
.gitignore added changesn back 2019-08-30 18:12:36 -05:00
LICENSE Initial commit 2018-10-15 14:01:15 +02:00
README.md Updated and proofread 2019-03-16 13:07:56 -05:00
cli.py cli: WIP click-based CLI tool 2019-10-21 11:40:33 +02:00
fwupd.py code style cleanup 2019-10-20 08:49:22 +02:00
lock.py code style cleanup 2019-10-20 08:49:22 +02:00
m365_hax.py code style cleanup 2019-10-20 08:49:22 +02:00
passwd.py code style cleanup 2019-10-20 08:49:22 +02:00
powerdown.py code style cleanup 2019-10-20 08:49:22 +02:00
read_bms.py code style cleanup 2019-10-20 08:49:22 +02:00
read_bms_ll.py code style cleanup 2019-10-20 08:49:22 +02:00
read_bms_mem.py code style cleanup 2019-10-20 08:49:22 +02:00
read_esc.py code style cleanup 2019-10-20 08:49:22 +02:00
read_esc_ll.py code style cleanup 2019-10-20 08:49:22 +02:00
readregs.py code style cleanup 2019-10-20 08:49:22 +02:00
reboot.py code style cleanup 2019-10-20 08:49:22 +02:00
sniffer.py code style cleanup 2019-10-20 08:49:22 +02:00
tcp_test.py code style cleanup 2019-10-20 08:49:22 +02:00
unlock.py code style cleanup 2019-10-20 08:49:22 +02:00
wr_esc.py code style cleanup 2019-10-20 08:49:22 +02:00
wr_esc_sn.py code style cleanup 2019-10-20 08:49:22 +02:00

README.md

py9b

Ninebot/Xiaomi electric scooter communication library and tools.

This fork adds custom UUID support for use with scooters acquired via impound auction or other means. DO NOT USE THIS ON SCOOTERS THAT DON'T BELONG TO YOU!!!

Tools

  • fwupd.py - firmware flasher capable of flashing BLE/ESC/BMS
  • readregs.py - ESC/BMS register file dumper Other tools are highly experimental.

Requirements

  • Python 2.x.x [www.python.org]
  • ProgressBar [pip install progressbar]
  • PySerial [pip install pyserial] - for direct serial link backend
  • PyGatt [pip install pygatt] - for BLED112 dongle backend
  • nRFUARTBridge [https://github.com/flowswitch/nRFUARTBridge] - for Android BLE-TCP backend