Пытаясь отправить данные на периферию, как проверить, пришло сообщение или нет? возможно повторная отправка?
peripheral.writeValue(value!, for: characteristic, type: .withResponse)