from modbus import Modbus, MBError, NoResponseError class IO_Module(Modbus): def __init__(self, tty: str, brate: int, address: int): super().__init__(tty, brate, address) def iap_start(self): """Reboot device in IAP mode""" request = bytes((self.address, 0x41, 0x01)) response = self.raw_communicate(request + self._crc(request)) def update(self): self.iap_start() def main(): dev = IO_Module('COM22', 115200, 1) dev.update() if __name__ == '__main__': main()